Recovering Variability Information from Source Code of Clone-and-Own Software Systems

被引:2
作者
Schlie, Alexander [1 ]
Schulze, Sandro [2 ]
Schaefer, Ina [1 ]
机构
[1] TU Braunschweig, Braunschweig, Germany
[2] Univ Magdeburg, Magdeburg, Germany
来源
PROCEEDINGS OF THE 14TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '20) | 2020年
关键词
clone-and-own; recovering; variability; source code; 150% model;
D O I
10.1145/3377024.3377034
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Clone-and-own prevails as an ad-hoc reuse strategy that addresses changing requirements by copying and modifying existing system variants. Proper documentation is typically not cherished and knowledge about common and varying parts between individual variants, denoted their variability information, is lost with a growing system family. With overall maintainability impaired in the longrun, software product lines (SPLs) or concepts thereof, can be a remedy. However, migrating a system family towards structured reuse requires a prior recovery of the systems' variability information. For software systems resulting from clone-and-own, this information is not explicitly available and recovering it remains an open challenge. We aim to bridge this gap and propose a fine-grained metric and analysis procedure, which compares software systems to the extent of individual statements including their nesting. By that, we recover variability information from software systems written in imperative programming languages. Moreover, we create a software family representation of all analyzed systems, called a 150% model, which contains implementation artifacts and their identified variability information. We demonstrate the feasibility of our approach using two case studies implemented in Java and show our approach to exhibit a good performance and the 150% model to precisely capture variability information of the analyzed systems.
引用
收藏
页数:9
相关论文
共 45 条
  • [1] Migrating the Android Apo-Games into an Annotation-Based Software Product Line
    Akesson, Jonas
    Nilsson, Sebastian
    Krueger, Jacob
    Berger, Thorsten
    [J]. SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 103 - 107
  • [2] Flexible Product Line Engineering with a Virtual Platform
    Antkiewicz, Michal
    Ji, Wenbin
    Berger, Thorsten
    Czarnecki, Krzysztof
    Schmorleiz, Thomas
    Laemmel, Ralf
    Stanciulescu, Stefan
    Wasowski, Andrzej
    Schaefer, Ina
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 532 - 535
  • [3] Language-independent and automated software composition: The FeatureHouse experience
    [J]. Apel, S., 1600, Institute of Electrical and Electronics Engineers Inc., United States (39): : 63 - 79
  • [4] Apel S., 2016, Feature-oriented software product lines
  • [5] Reengineering legacy applications into software product lines: a systematic mapping
    Assuncao, Wesley K. G.
    Lopez-Herrejon, Roberto E.
    Linsbauer, Lukas
    Vergilio, Silvia R.
    Egyed, Alexander
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (06) : 2972 - 3016
  • [6] Variability mechanisms in software ecosystems
    Berger, Thorsten
    Pfeiffer, Rolf-Helge
    Tartler, Reinhard
    Dienst, Steffen
    Czarnecki, Krzysztof
    Wasowski, Andrzej
    She, Steven
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2014, 56 (11) : 1520 - 1535
  • [7] Clone-Based Variability Management in the Android Ecosystem
    Businge, John
    Openja, Moses
    Nadi, Sarah
    Bainomugisha, Engineer
    Berger, Thorsten
    [J]. PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 625 - 634
  • [8] Czarnecki K, 2005, LECT NOTES COMPUT SC, V3676, P422
  • [9] Czarnecki Krzysztof., 2012, P 6 INT WORKSHOP VAR, P173, DOI [DOI 10.1145/2110147.2110167, 10.1145/2110147.2110167]
  • [10] An Exploratory Study of Cloning in Industrial Software Product Lines
    Dubinsky, Yael
    Rubin, Julia
    Berger, Thorsten
    Duszynski, Slawomir
    Becker, Martin
    Czarnecki, Krzysztof
    [J]. PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 25 - 34