Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.
SBSE problems can be divided into two types:
- black-box optimization problems, for example, assigning people to tasks (a typical combinatorial optimization problem).
- white-box problems where operations on source code need to be considered.
Harman, Mark (2010). "Why Source Code Analysis and Manipulation Will Always be Important".
10th IEEE Working Conference on Source Code Analysis and Manipulation (SCAM 2010). 10th IEEE Working Conference on Source Code Analysis and Manipulation (SCAM 2010). pp.
7–19.
doi:
10.1109/SCAM.2010.28.
↑
Miller, Webb; Spooner, David L. (1976). "Automatic Generation of Floating-Point Test Data". IEEE Transactions on Software Engineering. SE-2 (3): 223–226. Bibcode:1976ITSEn...2..223M. doi:10.1109/TSE.1976.233818. ISSN 0098-5589. S2CID 18875300.
↑ 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, Toulouse, France, 1992, pp. 625–636
↑
McMinn, Phil (2004). "Search-based software test data generation: a survey". Software Testing, Verification and Reliability. 14 (2): 105–156. CiteSeerX 10.1.1.122.33. doi:10.1002/stvr.294. ISSN 1099-1689. S2CID 17408871.{{cite journal}}: Cite uses deprecated parameter |citeseerx= (help)
↑
Clark, John A.; Jacob, Jeremy L. (15 December 2001). "Protocols are programs too: the meta-heuristic search for security protocols". Information and Software Technology. 43 (14): 891–904. CiteSeerX 10.1.1.102.6016. doi:10.1016/S0950-5849(01)00195-1. ISSN 0950-5849.{{cite journal}}: Cite uses deprecated parameter |citeseerx= (help)
↑ Alba, Enrique; Chicano, J. Francisco (1 June 2007). "Software project management with GAs". Information Sciences. 177 (11): 2380–2401. doi:10.1016/j.ins.2006.12.020. hdl:10630/8145. ISSN 0020-0255.
↑
Li, Lingbo; Harman, Mark; Letier, Emmanuel; Zhang, Yuanyuan (2014). "Robust next release problem". Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation. Gecco '14. pp. 1247–1254. doi:10.1145/2576768.2598334. ISBN 9781450326629. S2CID 8423690.
↑ Martinez, Matias; Monperrus, Martin (2015). "Mining software repair models for reasoning on the search space of automated program fixing". Empirical Software Engineering. 20 (1): 176–205. arXiv:1311.3414. doi:10.1007/s10664-013-9282-8.
↑ Harman, Mark; Jia, Yue; Zhang, Yuanyuan (April 2015). "Achievements, Open Problems and Challenges for Search Based Software Testing". 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST). Graz, Austria: IEEE. pp. 1–12. CiteSeerX 10.1.1.686.7418. doi:10.1109/ICST.2015.7102580. ISBN 978-1-4799-7125-1. S2CID 15272060.{{cite book}}: Cite uses deprecated parameter |citeseerx= (help)
↑ Basios, Michail; Li, Lingbo; Wu, Fan; Kanthan, Leslie; Barr, Earl T. (9 September 2017). "Optimising Darwinian Data Structures on Google Guava". Search Based Software Engineering (PDF). Lecture Notes in Computer Science. Vol. 10452. pp. 161–167. doi:10.1007/978-3-319-66299-2_14. ISBN 978-3-319-66298-5.
↑
"Home". evosuite.org.
↑ "Sapienz: Facebook's push to automate software testing". VentureBeat. 30 December 2018. Retrieved 29 September 2020.
↑
Le Goues, Claire; Forrest, Stephanie; Weimer, Westley (1 September 2013). "Current challenges in automatic software repair". Software Quality Journal. 21 (3): 421–443. CiteSeerX 10.1.1.371.5784. doi:10.1007/s11219-013-9208-0. ISSN 1573-1367. S2CID 16435531.{{cite journal}}: Cite uses deprecated parameter |citeseerx= (help)
↑
Commons