Title :
Variability Mining: Consistent Semi-automatic Detection of Product-Line Features
Author :
Kastner, Christian ; Dreiling, Alexander ; Ostermann, Klaus
Author_Institution :
Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
Abstract :
Software product line engineering is an efficient means to generate a set of tailored software products from a common implementation. However, adopting a product-line approach poses a major challenge and significant risks, since typically legacy code must be migrated toward a product line. Our aim is to lower the adoption barrier by providing semi-automatic tool support-called variability mining -to support developers in locating, documenting, and extracting implementations of product-line features from legacy code. Variability mining combines prior work on concern location, reverse engineering, and variability-aware type systems, but is tailored specifically for the use in product lines. Our work pursues three technical goals: (1) we provide a consistency indicator based on a variability-aware type system, (2) we mine features at a fine level of granularity, and (3) we exploit domain knowledge about the relationship between features when available. With a quantitative study, we demonstrate that variability mining can efficiently support developers in locating features.
Keywords :
data mining; reverse engineering; software product lines; consistent semi automatic detection; legacy code; product line approach; product line features; reverse engineering; semi automatic tool support; software product line engineering; variability aware type systems; variability mining; Companies; Context; Data mining; Educational institutions; Feature extraction; Java; Software; LEADT; Variability; feature; feature location; mining; reverse engineering; software product line;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2013.45