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
来源
2011 15TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR) | 2011年
关键词
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
相关论文
共 31 条
  • [1] Adams B, 2009, AOSD'09: 8TH INTERNATIONAL CONFERENCE ON ASPECT-ORIENTED SOFTWARE DEVELOPMENT, P243
  • [2] [Anonymous], 1995, MYTHICAL MAN MONTH
  • [3] [Anonymous], 2010, SOFTW PROD LIN C PRO
  • [4] Tool-supported refactoring of existing object-oriented code into aspects
    Binkley, David
    Ceccato, Mariano
    Harman, Mark
    Ricca, Filippo
    Tonella, Paolo
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (09) : 698 - 717
  • [5] Clements P., 2002, SEI Series in Software Engineering
  • [6] DeRemer F., 1975, SIGPLAN Notices, V10, P114, DOI 10.1145/390016.808431
  • [7] Ducasse S, 2006, PROC IEEE INT CONF S, P203
  • [8] Do crosscutting concerns cause defects?
    Eaddy, Marc
    Zimmermann, Thomas
    Sherwood, Kaitlin D.
    Garg, Vibhav
    Murphy, Gail C.
    Nagappan, Nachiappan
    Aho, Alfred V.
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2008, 34 (04) : 497 - 515
  • [9] Crosscutting Patterns and Design Stability: An Exploratory Analysis
    Figueiredo, Eduardo
    Silva, Bruno
    Sant'Anna, Claudio
    Garcia, Alessandro
    Whittle, Jon
    Nunes, Daltro
    [J]. ICPC: 2009 IEEE 17TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, 2009, : 138 - +
  • [10] Figueiredo E, 2008, ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P261, DOI 10.1145/1368088.1368124