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
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;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2011.57