arrow
Return

Virtual Platform: Effective and Seamless Variability Management for Software Systems

delete2024-11-01
delete0
PRE
AI
W
Wardah Mahmood *
G
Gül Çalıklı
D
Daniel Strüber
R
Ralf Lämmel
M
Mukelabai Mukelabai
T
Thorsten Berger
DOI:10.1109/TSE.2024.3406224delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
Cloning
Task analysis
Organizations
Software
Manuals
Computer science
Prototypes
Software product lines, variability management
clone management
re-engineering
framework

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
university of koblenz & landau
Scholars:
1.4K
Papers: 1.3K
Citations: 2
C
chalmers university of technology
Scholars:
1.5W
Papers: 1.6W
Citations: 10
U
university of glasgow
Scholars:
3.5W
Papers: 3.1W
Citations: 37
researcher View more organizations