Search Based Software Engineering (SBSE) is an approach to apply metaheuristic search techniques like genetic algorithms, simulated annealing and tabu search to software engineering problems. It is inspired by the observation that many activities in software engineering can be formulated as optimization problems. Due to the complexity of these problems, exact optimization techniques of operations research like linear programming or dynamic programming are mostly impractical for large scale software engineering problems. Because of this, researchers and practitioners have used metaheuristic search techniques to find near optimal or good-enough solutions.
One of the earliest attempts in applying optimization to a software engineering problem was reported by Miller and Spooner in the area of software testing in 1976 [1]. Xanthakis et al. [2] apply for the first time a search technique to a software engineering problem. The term SBSE was first used in 2001 by Harman and Jones[3].
- ^ 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)
- ^ 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)
- ^ M. Harman and B. F. Jones, Search-based software engineering, Information & Software Technology, Vol. 43, No. 14, pp. 833-839 (2001)