Activities and costs of re-engineering cloned variants into an integrated platform

Activities and costs of re-engineering cloned variants into an integrated platform
复制标题

将克隆变体重新设计为集成平台的活动和成本

DOI:
10.1145/3377024.3377044
复制
发表时间:
2020
期刊:
Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems
影响因子:
--
通讯作者:
Thorsten Berger
Thorsten Berger
中科院分区:
--
文献类型:
--
作者:
Jacob Krüger;Thorsten Berger

文献摘要

参考文献

被引文献

相似文献

许多软件系统需要以多种变体存在。组织通常使用克隆和自有来开发变体——复制和调整系统以适应新的需求。然而,虽然克隆和拥有是一种简单且容易获得的策略,但它不能随变体的数量而扩展,然后需要将克隆的变体重新设计为可配置的软件平台(也就是软件产品线),这需要花费高昂的成本。理想情况下,组织可以依靠决策模型,或者至少依靠大量的经验数据来评估这种重新工程的成本和收益。不幸的是,尽管对产品线和平台进行了数十年的研究,但这样的数据仍然很少,尤其是因为从工业再造工作中获得这些数据是具有挑战性的。我们通过研究重新设计两个开源Android和Java游戏的克隆变体来解决这一差距。学生开发人员将克隆产品重新设计成软件产品线,记录它们的活动和成本。他们执行通常与再工程相关的活动类型,但是这些活动是相互交织的,并且是迭代地完成的。这两种情况的成本相对相似,但使用的变异性机制有重大影响。有趣的是,除了通用的区分工具之外,没有专门的再工程工具特别有用。我们希望我们的结果能够支持致力于再工程技术和决策模型的研究人员,以及试图评估涉及到软件平台再工程的成本和活动的实践者。
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 reengineering 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 reengineering 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.
DOI: 10.1145/1621607.1621632
发表时间: 2009-10
期刊: --
影响因子: --
作者:
Christian Kästner;S. Apel;Martin Kuhlemann
通讯作者: Christian Kästner;S. Apel;Martin Kuhlemann
DOI: 10.1007/s10664-018-9664-z
发表时间: 2018-11
影响因子: 4.1
作者:
Sebastian Nielebock;Dariusz Krolikowski;J. Krüger;Thomas Leich;F. Ortmeier
通讯作者: Sebastian Nielebock;Dariusz Krolikowski;J. Krüger;Thomas Leich;F. Ortmeier
观点 - 对应点:积极主动会有回报 - 消除采用
DOI: --
发表时间: 2002
期刊: IEEE Software
影响因子: 3.3
作者:
P. Clements;C. Krueger
通讯作者: C. Krueger
DOI: 10.1007/3-540-47833-7_15
发表时间: 2001-10
期刊: --
影响因子: --
作者:
Peter Knauber;Jesús Bermejo Muñoz;Günter Böckle;Julio Cesar Sampaio do Prado Leite;F. V. Linden;Linda M. Northrop;Michael E. Stark;D. Weiss
通讯作者: Peter Knauber;Jesús Bermejo Muñoz;Günter Böckle;Julio Cesar Sampaio do Prado Leite;F. V. Linden;Linda M. Northrop;Michael E. Stark;D. Weiss
查找克隆系统中丢失的功能
DOI: --
发表时间: 2017
期刊: Software Product Lines Conference
影响因子: --
作者:
J. Krüger;L. Nell;W. Fenske;G. Saake;Thomas Leich
通讯作者: Thomas Leich