Understanding Variability-Aware Analysis in Low-Maturity Variant-Rich Systems
Licentiate thesis, 2020

Context: Software systems often exist in many variants to support varying stakeholder requirements, such as specific market segments or hardware constraints. Systems with many variants (a.k.a. variant-rich systems) are highly complex due to the variability introduced to support customization. As such, assuring the quality of these systems is also challenging since traditional single-system analysis techniques do not scale when applied. To tackle this complexity, several variability-aware analysis techniques have been conceived in the last two decades to assure the quality of a branch of variant-rich systems called software product lines. Unfortunately, these techniques find little application in practice since many organizations do use product-line engineering techniques, but instead rely on low-maturity \clo~strategies to manage their software variants. For instance, to perform an analysis that checks that all possible variants that can be configured by customers (or vendors) in a car personalization system conform to specified performance requirements, an organization needs to explicitly model system variability. However, in low-maturity variant-rich systems, this and similar kinds of analyses are challenging to perform due to (i) immature architectures that do not systematically account for variability, (ii) redundancy that is not exploited to reduce analysis effort, and (iii) missing essential meta-information, such as relationships between features and their implementation in source code.

Objective: The overarching goal of the PhD is to facilitate quality assurance in low-maturity variant-rich systems. Consequently, in the first part of the PhD (comprising this thesis) we focus on gaining a better understanding of quality assurance needs in such systems and of their properties.

Method: Our objectives are met by means of (i) knowledge-seeking research through case studies of open-source systems as well as surveys and interviews with practitioners; and (ii) solution-seeking research through the implementation and systematic evaluation of a recommender system that supports recording the information necessary for quality assurance in low-maturity variant-rich systems. With the former, we investigate, among other things, industrial needs and practices for analyzing variant-rich systems; and with the latter, we seek to understand how to obtain information necessary to leverage variability-aware analyses.

Results: Four main results emerge from this thesis: first, we present the state-of-practice in assuring the quality of variant-rich systems, second, we present our empirical understanding of features and their characteristics, including information sources for locating them; third, we present our understanding of how best developers' proactive feature location activities can be supported during development; and lastly, we present our understanding of how features are used in the code of non-modular variant-rich systems, taking the case of feature scattering in the Linux kernel.

Future work: In the second part of the PhD, we will focus on processes for adapting variability-aware analyses to low-maturity variant-rich systems.

Keywords: Variant-rich Systems, Quality Assurance, Low Maturity Software Systems, Recommender System

Room 473, Jupiter Building Hörselgången 5, Lindholmen
Opponent: Prof. Rick Rabiser, Linz Institute of Technology, Cyber-Physical Systems Lab, Johannes Kepler University Linz, Austria

Author

Mukelabai Mukelabai

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Where is my feature and what is it about? A case study on recovering feature facets

Journal of Systems and Software,;Vol. 152(2019)p. 239-253

Journal article

M. Mukelabai, T. Berger, J. Steghöfer. FeatRacer: Locating Features Through Assisted Traceability

A Study of Feature Scattering in the Linux Kernel

IEEE Transactions on Software Engineering,;Vol. 47(2021)p. 146-164

Journal article

Subject Categories

Software Engineering

Publisher

Chalmers

Room 473, Jupiter Building Hörselgången 5, Lindholmen

Online

Opponent: Prof. Rick Rabiser, Linz Institute of Technology, Cyber-Physical Systems Lab, Johannes Kepler University Linz, Austria

More information

Latest update

6/12/2020