Brunel University Research Archive (BURA) >
Research Areas >
Information Systems and Computing >

Please use this identifier to cite or link to this item: http://bura.brunel.ac.uk/handle/2438/328

Title: Reformulating software engineering as a search problem
Authors: Dolado, JJ
Harman, M
Jones, B
Mitchell, B
Rees, K
Shepperd, MJ
Clark, JA
Hierons, RM
Lumkin, M
Mancoridis, S
Roper, M
Keywords: Formal specification
Genetic algorithms
Program testing
Search problems
Simulated annealing
Software engineering
Publication Date: 2003
Publisher: Institute of Electrical and Electronics Engineers, Inc
Citation: IEE Proceedings - Software, 150 (3): 161-175, Jun 2003
Abstract: Metaheuristic techniques such as genetic algorithms, simulated annealing and tabu search have found wide application in most areas of engineering. These techniques have also been applied in business, financial and economic modelling. Metaheuristics have been applied to three areas of software engineering: test data generation, module clustering and cost/effort prediction, yet there remain many software engineering problems which have yet to be tackled using metaheuristics. It is surprising that metaheuristics have not been more widely applied to software engineering; many problems in software engineering are characterised by precisely the features which make metaheuristics search applicable. In the paper it is argued that the features which make metaheuristics applicable for engineering and business applications outside software engineering also suggest that there is great potential for the exploitation of metaheuristics within software engineering. The paper briefly reviews the principal metaheuristic search techniques and surveys existing work on the application of metaheuristics to the three software engineering areas of test data generation, module clustering and cost/effort prediction. It also shows how metaheuristic search techniques can be applied to three additional areas of software engineering: maintenance/evolution system integration and requirements scheduling. The software engineering problem areas considered thus span the range of the software development process, from initial planning, cost estimation and requirements analysis through to integration, maintenance and evolution of legacy systems. The aim is to justify the claim that many problems in software engineering can be reformulated as search problems, to which metaheuristic techniques can be applied. The goal of the paper is to stimulate greater interest in metaheuristic search as a tool of optimisation of software engineering problems and to encourage the investigation and exploitation of these technologies in finding near optimal solutions to the complex constraint-based scenarios which arise so frequently in software engineering.
URI: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1214740
http://bura.brunel.ac.uk/handle/2438/328
DOI: http://dx.doi.org/10.1049/ip-sen:20030559
Appears in Collections:B-SERC Research Papers
Information Systems and Computing
School of Information Systems, Computing and Mathematics Research Papers

Files in This Item:

File Description SizeFormat
Reformulating 2003.pdf374.99 kBAdobe PDFView/Open

Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.

 


Library (c) Brunel University.    Powered By: DSpace
Send us your
Feedback. Last Updated: September 14, 2010.
Managed by:
Hassan Bhuiyan