Content deleted Content added
Citation bot (talk | contribs) Altered doi-broken-date. | Use this bot. Report bugs. | #UCB_CommandLine |
|||
(6 intermediate revisions by 6 users not shown) | |||
Line 1:
{{Short description|Application of metaheuristic search techniques to software engineering}}
{{Use dmy dates|date=December 2020}}
'''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 (mathematics)|optimization]] problems. [[Optimization (mathematics)|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 theory|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.<ref>{{Cite journal |last1=Mohan |first1=M. |last2=Greer |first2=D. |date=2019-08-01 |title=Using a many-objective approach to investigate automated refactoring |url=https://www.sciencedirect.com/science/article/pii/S0950584919300916 |journal=Information and Software Technology |volume=112 |pages=83–101 |doi=10.1016/j.infsof.2019.04.009 |issn=0950-5849}}</ref>
SBSE problems can be divided into two types:
Line 61:
| journal = [[IEE Proceedings - Software]]
| year = 2003
| doi-broken-date = 12 July 2025
| citeseerx = 10.1.1.144.3059
}}</ref>
Line 220 ⟶ 221:
| pages = 3–13
| last1 = Le Goues
| first1 = Claire | author1-link = Claire Le Goues
| last2 = Dewey-Vogt
| first2 = Michael
Line 247 ⟶ 248:
===Testing===
Search-based software engineering has been applied to software testing, including the automatic generation of test cases (test data), test case minimization and test case prioritization.<ref>{{Cite book|last1=Harman|first1=Mark|last2=Jia|first2=Yue|last3=Zhang|first3=Yuanyuan|title=2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST) |chapter=Achievements, Open Problems and Challenges for Search Based Software Testing |date=April 2015|___location=Graz, Austria|publisher=IEEE|pages=1–12|doi=10.1109/ICST.2015.7102580|citeseerx=10.1.1.686.7418|isbn=978-1-4799-7125-1|s2cid=15272060}}</ref> [[Regression testing]] has also received some attention.
===Optimizing software===
Line 260 ⟶ 261:
| url = http://www0.cs.ucl.ac.uk/staff/w.langdon/ftp/papers/Langdon_2013_ieeeTEC.pdf
}}</ref>
A recent work by Basios et al. shows that by optimising the data structure, Google Guava found a 9% improvement
===Project management===
Line 340 ⟶ 341:
| pages = 421–443
| last1 = Le Goues
| first1 = Claire | author1-link = Claire Le Goues
| last2 = Forrest
| first2 = Stephanie
Line 389 ⟶ 390:
[[Category:Search algorithms]]
[[Category:Optimization algorithms and methods]]
[[Category:
[[Category:Software quality]]
[[Category:Program analysis]]
|