- Search-based software engineering
Search-based software engineering (SBSE) is an approach to apply
metaheuristic search techniques likegenetic algorithms ,simulated annealing andtabu search tosoftware engineering problems. It is inspired by the observation that many activities insoftware engineering can be formulated as optimization problems. Due to thecomputational complexity of these problems, exact optimization techniques ofoperations research likelinear programming ordynamic programming are mostly impractical for large scalesoftware engineering problems. Because of this, researchers and practitioners have usedmetaheuristic search techniques to find near optimal or good-enough solutions.__TOC__
Brief history
One of the earliest attempts in applying optimization to a
software engineering problem was reported by Miller and Spooner in 1976 in the area of software testing [W. Miller and D. L. Spooner, Automatic Generation of Floating-Point Test Data, "IEEE Transactions on Software Engineering", Vol. 2, No. 3, pp. 223-226 (1976)] . Xanthakis et al. [S. Xanthakis, C. Ellis, C. Skourlas, A. Le Gall, S. Katsikas and K. Karapoulios, Application of genetic algorithms to software testing, In "Proceedings of the 5th International Conference on Software Engineering and its Applications", pp. 625-636 (1992)] apply for the first time a search technique to asoftware engineering problem in 1992. The term SBSE was first used in 2001 by Harman and Jones [M. Harman and B. F. Jones, Search-based software engineering, "Information & Software Technology", Vol. 43, No. 14, pp. 833-839 (2001)] .Application areas
Software testing has been one of the major applications of search techniques insoftware engineering [P. McMinn, Search-based software test data generation: a survey, "Software Testing, Verification and Reliability", Vol. 14, No. 2, pp. 105-156 (2004)] . However, search techniques have been applied to othersoftware engineering activities, for instance:requirements analysis [D. Greer and G. Ruhe, Software release planning: an evolutionary and iterative approach, "Information & Software Technology", Vol. 46, No. 4, pp. 243-253 (2004)] ,software design [J. A. Clark and J. L. Jacob, Protocols are programs too: the meta-heuristic search for security protocols, "Information & Software Technology", Vol. 43, No. 14, pp. 891-904 (2001) ] ,software development [E. Alba and F. Chicano, Software Project Management with GAs, "Information Sciences", Vol. 177, pp. 2380-2401 (2007)] andsoftware maintenance [G. Antoniol, M. Di Penta and M. Harman, Search-Based Techniques Applied to Optimization of Project Planning for a Massive Maintenance Project, In "Proceedings of IEEE International Conference on Software Maintenance", pp. 240-249 (2005)] . In his FoSE paper [M. Harman, The Current State and Future of Search Based Software Engineering, In "Proceedings of the 29th International Conference on Software Engineering (ICSE 2007)", 20-26 May, Minneapolis, USA (2007)] , Harman identifies the current state of SBSE and highlights future trends in this approach tosoftware engineering .References
External links
* [http://www.sebase.org/sbse/publications/ Repository of publications on SBSE]
Wikimedia Foundation. 2010.