Activities and Costs of Re-Engineering Cloned Variants into an Integrated Platform

Jacob Krüger, Thorsten Berger

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

10 Citations (Scopus)

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.
Original languageEnglish
Title of host publicationProceedings - VaMoS 2020
Subtitle of host publication14th International Working Conference on Variability Modelling of Software-Intensive Systems
EditorsMaxime Cordy, Mathieu Acher, Danilo Beuche, Gunter Saake
PublisherAssociation for Computing Machinery, Inc
Pages21:1-10
Number of pages10
ISBN (Electronic)9781450375016
DOIs
Publication statusPublished - 5 Feb 2020

Publication series

NameACM 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

Fingerprint

Dive into the research topics of 'Activities and Costs of Re-Engineering Cloned Variants into an Integrated Platform'. Together they form a unique fingerprint.

Cite this