Effects of variability in models: a family of experiments
Journal article, 2022

The ever-growing need for customization creates a need to maintain software systems in many different variants. To avoid having to maintain different copies of the same model, developers of modeling languages and tools have recently started to provide implementation techniques for such variant-rich systems, notably variability mechanisms, which support implementing the differences between model variants. Available mechanisms either follow the annotative or the compositional paradigm, each of which have dedicated benefits and drawbacks. Currently, language and tool designers select the used variability mechanism often solely based on intuition. A better empirical understanding of the comprehension of variability mechanisms would help them in improving support for effective modeling. In this article, we present an empirical assessment of annotative and compositional variability mechanisms for three popular types of models. We report and discuss findings from a family of three experiments with 164 participants in total, in which we studied the impact of different variability mechanisms during model comprehension tasks. We experimented with three model types commonly found in modeling languages: class diagrams, state machine diagrams, and activity diagrams. We find that, in two out of three experiments, annotative technique lead to better developer performance. Use of the compositional mechanism correlated with impaired performance. For all three considered tasks, the annotative mechanism was preferred over the compositional one in all experiments. We present actionable recommendations concerning support of flexible, tasks-specific solutions, and the transfer of established best practices from the code domain to models.

Empirical study

Variability mechanisms

Software product line engineering

Model-driven engineering


Wardah Mahmood

University of Gothenburg

Daniel Strüber

Radboud University

Anthony Anjorin

IAV Automotive Engineering

Thorsten Berger

Ruhr-Universität Bochum

University of Gothenburg

Empirical Software Engineering

1382-3256 (ISSN) 1573-7616 (eISSN)

Vol. 27 3 72

Subject Categories

Software Engineering

Information Science

Probability Theory and Statistics

Computer Science



Related datasets

ReplicationPackage-Effects of Variability in Models: A Family of Experiments [dataset]

DOI: 10.5281/zenodo.5578645

More information

Latest update