Description of the thesis:
Many software systems exist in several variants customized for specific stakeholder requirements, such as different market segments or hardware constraints. This customization introduces a high level of complexity that renders traditional single-system quality assurance techniques inapplicable, since they need to consider variations and constraints between a system’s features — a.k.a feature-oriented or variability-aware analysis. While several analysis techniques have been conceived in the last two decades for this purpose, they mostly target a branch of variant-rich systems called software product lines, and are less applicable to systems that still rely on cloning strategies to engineer variants — a.k.a low-maturity variant-rich systems.
This thesis aims to facilitate feature-oriented analysis in low maturity variant-rich systems, and presents two main contributions to that effect:
The first provides empirical data on industrial needs and practices for analyzing variant-rich systems, and where developers record information necessary for feature-oriented analysis.
The second proposes two main approaches to facilitating feature-oriented analysis: firstly, by supporting developers to record feature information proactively and continuously, and secondly, by reducing analysis effort through techniques for predicting defect-prone features, as well as reusing test cases across forked projects (projects with similar but cloned features).
We present results of our empirical studies, and the design and systematic evaluation of our techniques comprising our research contributions.
Faculty opponent:
Professor Jesper Andersson, Department of Computer Science and Media Technology, Linnaeus University, Sweden
Grading committee:
- Associate professor Rafael Capilla, Department of Informatics, Rey Juan Carlos University, Spain
- Associate professor Vander Alves, Computer Science Department, University of Brasília, Brasil
- Associate professor Sandro Schulze, Institute for Software Engineering and Vehicle Informatics, the Technical University of Braunschweig, Germany
Link to fulltext version of the thesis