Extracting Software Product Lines: A Case Study Using Conditional Compilation

被引:62
|
作者
Couto, Marcus Vinicius [1 ]
Valente, Marco Tulio [2 ]
Figueiredo, Eduardo [2 ]
机构
[1] Pontificia Univ Catolica Minas Gerais, Inst Informat, Belo Horizonte, MG, Brazil
[2] Univ Fed Minas Gerais, Dept Comp Sci, Belo Horizonte, MG, Brazil
关键词
software product lines; conditional compilation; refactoring; SUPPORT;
D O I
10.1109/CSMR.2011.25
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Product Line (SPL) is a development paradigm that targets the creation of variable software systems. Despite the increasing interest in product lines, research in the area usually relies on small systems implemented in the laboratories of the authors involved in the investigative work. This characteristic hampers broader conclusions about industry-strength product lines. Therefore, in order to address the unavailability of public and realistic product lines, this paper describes an experiment involving the extraction of a SPL for ArgoUML, an open source tool widely used for designing systems in UML. Using conditional compilation we have extracted eight complex and relevant features from ArgoUML, resulting in a product line called ArgoUML-SPL. By making the extracted SPL publicly available, we hope it can be used to evaluate the various flavors of techniques, tools, and languages that have been proposed to implement product lines. Moreover, we have characterized the implementation of the features considered in our experiment relying on a set of product-line specific metrics. Using the results of this characterization, it was possible to shed light on the major challenges involved in extracting features from real-world systems.
引用
收藏
页码:191 / 200
页数:10
相关论文
共 50 条
  • [1] Software product lines: A case study
    Ardis, Mark
    Daley, Nigel
    Hoffman, Daniel
    Siy, Harvey
    Weiss, David
    Software - Practice and Experience, 2000, 30 (07) : 825 - 847
  • [2] Software product lines: a case study
    Ardis, M
    Daley, N
    Hoffman, D
    Siy, H
    Weiss, D
    SOFTWARE-PRACTICE & EXPERIENCE, 2000, 30 (07): : 825 - 847
  • [3] Extracting core requirements for software product lines
    Reinhartz-Berger, Iris
    Kemelman, Mark
    REQUIREMENTS ENGINEERING, 2020, 25 (01) : 47 - 65
  • [4] Extracting core requirements for software product lines
    Iris Reinhartz-Berger
    Mark Kemelman
    Requirements Engineering, 2020, 25 : 47 - 65
  • [5] Requirement Engineering of Software Product Lines: Extracting Variability using NLP
    Fantechi, Alessandro
    Ferrari, Alessio
    Gnesi, Stefania
    Semini, Laura
    2018 IEEE 26TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE 2018), 2018, : 418 - 423
  • [6] A case study in Software Product Lines: An educational experience
    Lisboa, Liana Barachisio
    Nascimento, Leandro Marques
    de Almeida, Eduardo Santana
    Meira, Romero de Lemos
    21ST CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING, PROCEEDINGS, 2008, : 155 - +
  • [7] A Semi-Automatic Approach for Extracting Software Product Lines
    Valente, Marco Tulio
    Borges, Virgilio
    Passos, Leonardo
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (04) : 737 - 754
  • [8] A Case Study in Software Product Lines - The Case of the Mobile Game Domain
    Nascimento, Leandro Marques
    de Almeida, Eduardo Santana
    de Lemos Meira, Silvio Romero
    PROCEEDINGS OF THE 34TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, 2008, : 43 - 50
  • [9] A Case Study using AOP and Components to build Software Product Lines in Android Platform
    Waku, Gustavo M.
    Rubira, Cecilia M. F.
    Tizzei, Leonardo P.
    PROCEEDINGS 41ST EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS SEAA 2015, 2015, : 418 - 421
  • [10] Modularizing Theorems for Software Product Lines: The Jbook Case Study
    Batory, Don
    Boerger, Egon
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2008, 14 (12) : 2059 - 2082