Samenvatting
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.
Originele taal-2 | Engels |
---|---|
Titel | Proceedings - VaMoS 2020 |
Subtitel | 14th International Working Conference on Variability Modelling of Software-Intensive Systems |
Redacteuren | Maxime Cordy, Mathieu Acher, Danilo Beuche, Gunter Saake |
Uitgeverij | Association for Computing Machinery, Inc |
Pagina's | 21:1-10 |
Aantal pagina's | 10 |
ISBN van elektronische versie | 9781450375016 |
DOI's | |
Status | Gepubliceerd - 5 feb. 2020 |
Publicatie series
Naam | ACM International Conference Proceeding Series |
---|