Effects of variability in models: a family of experiments
Artikel i vetenskaplig tidskrift, 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.

Variability mechanisms

Empirical study

Software product line engineering

Model-driven engineering

Författare

Wardah Mahmood

Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering, Cyber Physical Systems

Daniel Strüber

Radboud Universiteit

Anthony Anjorin

Ingenieurgesellschaft für Auto und Verkehr GmbH (IAV)

Thorsten Berger

Chalmers, Data- och informationsteknik, Interaktionsdesign och Software Engineering, Cyber Physical Systems

Ruhr-Universität Bochum

Empirical Software Engineering

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

Vol. 27 3 72

Ämneskategorier

Programvaruteknik

Systemvetenskap

Datavetenskap (datalogi)

DOI

10.1007/s10664-021-10112-3

Mer information

Senast uppdaterat

2022-04-05