Virtual Platform: Effective and Seamless Variability Management for Software Systems
Journal article, 2024

Customization is a general trend in software engineering, demanding systems that support variable stakeholder requirements. Two opposing strategies are commonly used to create variants: software clone & own and software configuration with an integrated platform. Organizations often start with the former, which is cheap and agile, but does not scale. The latter scales by establishing an integrated platform that shares software assets between variants, but requires high up-front investments or risky migration processes. So, could we have a method that allows an easy transition or even combine the benefits of both strategies? We propose a method and tool that supports a truly incremental development of variant-rich systems, exploiting a spectrum between the opposing strategies. We design, formalize, and prototype a variability-management framework: the virtual platform. Virtual platform bridges clone & own and platform-oriented development. Relying on programming-language independent conceptual structures representing software assets, it offers operators for engineering and evolving a system, comprising: traditional, asset-oriented operators and novel, feature-oriented operators for incrementally adopting concepts of an integrated platform. The operators record meta-data that is exploited by other operators to support the transition. Among others, they eliminate expensive feature-location effort or the need to trace clones. A cost-and-benefit analysis of using the virtual platform to simulate the development of a real-world variant-rich system shows that it leads to benefits in terms of saved effort and time for clone detection and feature location. Furthermore, we present a user study indicating that the virtual platform effectively supports exploratory and hands-on tasks, outperforming manual development concerning correctness. We also observed that participants were significantly faster when performing typical variability management tasks using the virtual platform. Furthermore, participants perceived manual development to be significantly more difficult than using the virtual platform, preferring virtual platform for all our tasks. We supplement our findings with recommendations on when to use virtual platform and on incorporating the virtual platform in practice.

Manuals

Task analysis

variability management

Prototypes

Cloning

framework

clone management

Computer science

Software

Organizations

software product lines

re-engineering

Author

Wardah Mahmood

Software Engineering 2

Gul Calikli

University of Glasgow

Daniel Struber

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

Ralf Lämmel

Universität Koblenz

Mukelabai Mukelabai

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

Thorsten Berger

Ruhr-Universität Bochum

IEEE Transactions on Software Engineering

0098-5589 (ISSN) 19393520 (eISSN)

Vol. 50 11 2753-2785

Subject Categories

Software Engineering

DOI

10.1109/TSE.2024.3406224

More information

Latest update

12/9/2024