In search-based software engineering (SBSE), we aim to automate the solving of software engineering problems. For this purpose, a software engineering problem is reformulated as a search problem, in which optimal or near-optimal solutions should be found in a search space of candidate solutions. To realize the search, techniques from operations research, search-based optimization, and computational intelligence (evolutionary algorithms) are used.
In this seminar, we will discuss the fundamentals of SBSE and different problem areas such as automated design, test generation, test prioritization, crash reproduction, program repair, as well as genetic programming. Besides learning the fundamentals of SBSE and specific techniques for different problem areas, you will gain practical experience in using search-based tools.
You will further learn working independently on a scientific topic to obtain an overview of the general topic as well as in-depth knowledge of complex subjects, the basics of working scientifically, presenting information orally and in written form in a compelling, well-structured, and logical sequence, discussing respectfully with your peers, and the ability to critically evaluate and reflect on information.
General Literature
- Harman M., McMinn P., de Souza J.T., Yoo S. (2012) Search Based Software Engineering: Techniques, Taxonomy, Tutorial. In: Empirical Software Engineering and Verification. LASER 2010, LASER 2009, LASER 2008. Lecture Notes in Computer Science, vol 7007. Springer.
- Harman M., Jones, Bryan F. (2001) Search-based software engineering. In: Information and Software Technology, Volume 43, Issue 14.
- A.E. Eiben and J.E. Smith (2015) Introduction to Evolutionary Computing, Springer.
- Kursverantwortliche/r: Dr. Thomas Vogel