Extracting Software Product Lines: A Case Study Using Conditional Compilation

  • Authors:
  • Marcus Vinicius Couto;Marco Tulio Valente;Eduardo Figueiredo

  • Affiliations:
  • -;-;-

  • Venue:
  • CSMR '11 Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.