Abstract
Many software systems need to exist in multiple variants. Organizations typically develop variants using clone & own—copying and adapting systems towards new requirements. However, while clone & own is a simple and readily available strategy, it does not scale with the number of variants, and then requires a costly re-engineering of the cloned variants into a configurable software platform (a.k.a., software product line). Ideally, organizations could rely on decision models or at least on substantial empirical data to assess the costs and benefits of such a re-engineering. Unfortunately, despite decades of research on product lines and platforms, such data is scarce, not least because obtaining it from industrial re-engineering efforts is challenging. We address this gap with a study on re-engineering two cases of cloned variants of open-source Android and Java games. Student developers re-engineered the clones into software product lines, logging their activities and costs. They performed the types of activities typically associated with re-engineering, but the activities were intertwined and done iteratively. The costs were relatively similar among both cases, but the used variability mechanism had a substantial impact. Interestingly, beyond a common diffing tool, no dedicated re-engineering tool was particularly useful. We hope that our results support researchers working on re-engineering techniques and decision models, as well
as practitioners trying to assess the costs and activities involved in re-engineering a software platform.
as practitioners trying to assess the costs and activities involved in re-engineering a software platform.
Original language | English |
---|---|
Title of host publication | Proceedings - VaMoS 2020 |
Subtitle of host publication | 14th International Working Conference on Variability Modelling of Software-Intensive Systems |
Editors | Maxime Cordy, Mathieu Acher, Danilo Beuche, Gunter Saake |
Publisher | Association for Computing Machinery, Inc |
Pages | 21:1-10 |
Number of pages | 10 |
ISBN (Electronic) | 9781450375016 |
DOIs | |
Publication status | Published - 5 Feb 2020 |
Publication series
Name | ACM International Conference Proceeding Series |
---|
Bibliographical note
DBLP License: DBLP's bibliographic metadata records provided through http://dblp.org/ are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.Keywords
- Software Product Lines
- Empirical Study
- Re-Engineering
- Clone & Own
- Clone and own
- Empirical study
- Re-engineering
- Software product lines