Informatics, TU Vienna

Search-based Software Engineering

Foundations, Challenges and Recent Advances


A growing trend has begun in recent years to move software engineering problems from human-based search to machine-based search that balances a number of constraints to achieve optimal or near-optimal solutions. As a result, human effort is moving up the abstraction chain to focus on guiding the automated search, rather than performing the search itself. This emerging software engineering paradigm is known as Search Based Software Engineering (SBSE). It uses search based optimization techniques, mainly those from the evolutionary computation literature to automate the search for optimal or near-optimal solutions to software engineering problems. The SBSE approach can and has been applied to many problems in software engineering that span the spectrum of activities from requirements to maintenance and reengineering. Several challenges have to be addressed to mainly tackle the growing complexity of software systems nowadays in terms of number of objectives, constraints and inputs/outputs. Most of software engineering problems are multi- and many-objective by nature to find a trade-off between several competing goals. In addition, several software engineering solutions lack robustness due to the dynamic environments of software systems (e.g., requirements change over time). Furthermore, it is essential to understand the points at which human oversight, intervention, resumption-of-control and decision making should impinge on automation.
In this talk, I will give, first, an overview about SBSE then I will focus on some contributions that I proposed, along with my research group and my industrial partners. Finally, I will discuss possible new research directions in SBSE.


Dr. Marouane Kessentini is an Assistant Professor in the Department of Computer and Information Science at the University of Michigan. He is the founder of the Search-Based Software Engineering (SBSE) research lab. He has several collaborations with different industrial companies on the use of computational search, machine learning and evolutionary algorithms to address several software engineering problems such as software quality, software testing, software migration, software evolution, etc. He received a best PhD award from University of Montreal in 2012 and a Presidential BSc Award from the President of Tunisia in 2007. He received many grants from both industry and federal agencies and published around 70 papers in software engineering journals and conferences, including 3 best paper awards. He is also the founder of the North American Symposium on Search Based Software Engineering, funded by the National Science Foundation (NSF), and a guest editor of the first Special Issue on Search Based Software Engineering at the IEEE Transactions on Evolutionary Computation Journal (2016). He is an invited speaker in the 2016 IEEE World Congress on Computational Intelligence (Vancouver, Canada).


This talk is organized by the Business Informatics Group, the Vienna PhD School of Informatics, the Austrian Computer Society, and the Center for Computer Science.