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

被引:1
|
作者
Schlie, Alexander [1 ]
Schulze, Sandro [2 ]
Schaefer, Ina [1 ]
机构
[1] TU Braunschweig, Braunschweig, Germany
[2] Univ Magdeburg, Magdeburg, Germany
关键词
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
相关论文
共 50 条
  • [1] Recovering Software Product Line Architecture of Product Variants Developed with the Clone-and-Own Approach
    Lee, Jihyun
    Kim, Taeyoung
    Kang, Sungwon
    2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, : 985 - 990
  • [2] Incremental feature model synthesis for clone-and-own software systems in MATLAB/Simulink
    Schlie, Alexander
    Knüppel, Alexander
    Seidl, Christoph
    Schaefer, Ina
    ACM International Conference Proceeding Series, 2020, Part F164267-A
  • [3] Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants
    Fischer, Stefan
    Linsbauer, Lukas
    Lopez-Herrejon, Roberto E.
    Egyed, Alexander
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 391 - 400
  • [4] Bridging the Gap Between Clone-and-Own and Software Product Lines
    Kehrer, Timo
    Thuem, Thomas
    Schultheiss, Alexander
    Bittner, Paul Maximilian
    2021 ACM/IEEE 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2021), 2021, : 21 - 25
  • [5] Guiding Clone-and-Own When Creating Unplanned Products from a Software Product Line
    Ghabach, Eddy
    Blay-Fornarino, Mireille
    El Khoury, Franjieh
    Baz, Badih
    NEW OPPORTUNITIES FOR SOFTWARE REUSE, 2018, 10826 : 139 - 147
  • [6] Source File Set Search for Clone-and-Own Reuse Analysis
    Ishio, Takashi
    Sakaguchi, Yusuke
    Ito, Kaoru
    Inoue, Katsuro
    2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, : 257 - 268
  • [7] Recovering Architectural Variability from Source Code
    Lima, Crescencio
    Machado, Ivan
    Galster, Matthias
    Chavez, Christina von Flach G.
    34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 808 - 817
  • [8] Leveraging Feature Location to Extract the Clone-and-Own Relationships of a Family of Software Products
    Ballarin, Manuel
    Lapena, Raul
    Cetina, Carlos
    SOFTWARE REUSE: BRIDGING WITH SOCIAL-AWARENESS, 2016, 9679 : 215 - 230
  • [9] Recovering management information from source code
    Kwiatkowski, L. M.
    Verhoef, C.
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (09) : 1368 - 1406
  • [10] Getting Rid of Clone-And-Own: Moving to a Software Product Line for Temperature Monitoring
    Kuiter, Elias
    Krueger, Jacob
    Krieter, Sebastian
    Leich, Thomas
    Saake, Gunter
    SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1, 2018, : 179 - 189