• DocumentCode
    555311
  • Title

    Reverse engineering feature models

  • Author

    She, Steven ; Lotufo, Rafael ; Berger, Thorsten ; Wøsowski, Andrzej ; Czarnecki, Krzysztof

  • Author_Institution
    Univ. of Waterloo, Waterloo, ON, Canada
  • fYear
    2011
  • fDate
    21-28 May 2011
  • Firstpage
    461
  • Lastpage
    470
  • Abstract
    Feature models describe the common and variable characteristics of a product line. Their advantages are well recognized in product line methods. Unfortunately, creating a feature model for an existing project is time-consuming and requires substantial effort from a modeler. We present procedures for reverse engineering feature models based on a crucial heuristic for identifying parents - the major challenge of this task. We also automatically recover constructs such as feature groups, mandatory features, and implies/excludes edges. We evaluate the technique on two large-scale software product lines with existing reference feature models--the Linux and eCos kernels--and FreeBSD, a project without a feature model. Our heuristic is effective across all three projects by ranking the correct parent among the top results for a vast majority of features. The procedures effectively reduce the information a modeler has to consider from thousands of choices to typically five or less.
  • Keywords
    Linux; operating system kernels; software engineering; FreeBSD; Linux kernel; eCos kernel; feature group; implies-excludes edge; mandatory feature; product line method; reverse engineering feature model; software product lines; Biological system modeling; Buildings; Feature extraction; Image edge detection; Linux; Reverse engineering; Semantics; feature models; feature similarity; variability modeling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2011 33rd International Conference on
  • Conference_Location
    Honolulu, HI
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4503-0445-0
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1985793.1985856
  • Filename
    6032485