Search Based Software Engineering: Foundations, Challenges and Recent Advances

Event Speaker
Marouane Kesentini
Department of Computer and Information Science , University of Michigan, Dearborn, MI
Event Type
Colloquium
Date
Event Location
GLFN AUD
Event Description

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 computational intelligence 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. Already success has been achieved in requirements, refactoring, project planning, testing, maintenance and reverse engineering. However, 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 changes 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. Human programmers might reject changes made by any automated programming technique. If they feel that they have little understanding or control, there will be a natural reluctance to trust the automated tool. Thus, different levels of automation should be considered when adapting search algorithms to software engineering problems. 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, addressing the above challenges, including: many-objective software re-modularization and interactive dynamic multi-objective optimization for software refactoring. Finally, I will discuss possible new research directions in SBSE.

Speaker Biography

Dr. Marouane Kessentini is an Assistant Professor in the Department of Computer and Information Science at the University of Michigan, Dearborn, MI. He is the founder of the Search-Based Software Engineering (SBSE) research lab. He has several collaborations with different industrial companies on the use 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 85 papers in software engineering journals and conferences, including 3 best paper awards. He has served as program committee member in several major conferences (GECCO, ASE, MODELS, ICMT, SSBSE, etc.), an editorial board member of several journals, and an organization member of many conferences and workshops. He was also the co-chair of the SBSE track at the GECCO2014 and GECCO2015 conferences and he is the general chair of the 8th Search Based Software Engineering Symposium (SSBSE2016). He is also the founder of the North American Symposium on Search Based Software Engineering, funded by the National Science Foundation (NSF) and an invited speaker at the 2016 IEEE World Congress on Computational Intelligence (Vancouver, Canada).