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

被引:9
作者
Kruger, Jacob [1 ]
Berger, Thorsten [2 ]
机构
[1] Otto Guericke Univ, Magdeburg, Germany
[2] Univ Gothenburg, Gothenburg, Sweden
来源
PROCEEDINGS OF THE 14TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '20) | 2020年
基金
瑞典研究理事会;
关键词
Software product lines; empirical study; re-engineering; clone & own; SOFTWARE; MODEL;
D O I
10.1145/3377024.3377044
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:10
相关论文
共 50 条
  • [21] A process approach to distribution channel re-engineering
    Groznik, Ales
    Maslaric, Marinko
    JOURNAL OF ENTERPRISE INFORMATION MANAGEMENT, 2012, 25 (02) : 123 - +
  • [22] Graph-based tools for re-engineering
    Cremer, K
    Marburger, A
    Westfechtel, B
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2002, 14 (04): : 257 - 292
  • [23] Agile model-driven re-engineering
    Lano, Kevin
    Haughton, Howard
    Yuan, Ziwen
    Alfraihi, Hessa
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2024, 20 (04) : 559 - 584
  • [24] Re-engineering construction: going against the grain
    Green, SA
    May, SC
    BUILDING RESEARCH AND INFORMATION, 2003, 31 (02) : 97 - 106
  • [25] Re-engineering irrigation management and system operations
    Renault, D
    AGRICULTURAL WATER MANAGEMENT, 2001, 47 (03) : 211 - 226
  • [26] Re-engineering the Cypriot healthcare service system
    Elena Pallari
    George Samoutis
    Anthony Rudd
    BMC Health Services Research, 20
  • [27] Remodelling a company via systems re-engineering
    Thomas, PV
    Davies, A
    INTERNATIONAL JOURNAL OF OPERATIONS & PRODUCTION MANAGEMENT, 1996, 16 (07) : 14 - &
  • [28] RE-ENGINEERING LEGACY KNOWLEDGE BASED ENGINEERING SYSTEMS USING DSM
    Bhaskara, Sreeram
    PROCEEDINGS OF THE 10TH INTERNATIONAL DSM CONFERENCE, 2008, : 273 - 284
  • [29] Program abstraction and re-engineering: an Agile MDE approach
    Lano, Kevin
    Haughton, Howard
    Yuan, Ziwen
    Alfraihi, Hessa
    2023 ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS COMPANION, MODELS-C, 2023, : 211 - 220
  • [30] Tackling the abstraction problem for reverse engineering in a system re-engineering approach
    Yang, HJ
    Liu, XD
    Zedan, H
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, : 284 - 293