• DocumentCode
    29310
  • 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
  • Volume
    40
  • Issue
    1
  • fYear
    2014
  • fDate
    Jan. 2014
  • Firstpage
    67
  • Lastpage
    82
  • 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;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.45
  • Filename
    6613490