• DocumentCode
    1255996
  • Title

    A Semi-Automatic Approach for Extracting Software Product Lines

  • Author

    Valente, Marco Tulio ; Borges, Virgilio ; Passos, Leonardo

  • Author_Institution
    Dept. of Comput. Sci., Fed. Univ. of Minas Gerais, Belo Horizonte, Brazil
  • Volume
    38
  • Issue
    4
  • fYear
    2012
  • Firstpage
    737
  • Lastpage
    754
  • Abstract
    The extraction of nontrivial software product lines (SPL) from a legacy application is a time-consuming task. First, developers must identify the components responsible for the implementation of each program feature. Next, they must locate the lines of code that reference the components discovered in the previous step. Finally, they must extract those lines to independent modules or annotate them in some way. To speed up product line extraction, this paper describes a semi-automatic approach to annotate the code of optional features in SPLs. The proposed approach is based on an existing tool for product line development, called CIDE, that enhances standard IDEs with the ability to associate background colors with the lines of code that implement a feature. We have evaluated and successfully applied our approach to the extraction of optional features from three nontrivial systems: Prevayler (an in-memory database system), JFreeChart (a chart library), and ArgoUML (a UML modeling tool).
  • Keywords
    Unified Modeling Language; feature extraction; product development; software maintenance; software reusability; ArgoUML nontrivial systems; CIDE; JFreeChart nontrivial systems; Prevayler nontrivial systems; SPL; background colors; code lines localization; legacy application; optional feature code annotation; optional feature extraction; product line development; program feature; semiautomatic approach; software product lines extraction; Color; Context; Feature extraction; Image color analysis; Multithreading; Semantics; Software; Software product lines; annotations; refactoring tools; virtual separation of concerns;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2011.57
  • Filename
    5928352