Reverse engineering feature models
By S. She, Rafael Lotufo, T. Berger, Andrzej Wasowski, Krzysztof Czarnecki. International Conference on Software Engineering, 2011
344 citations recorded by the source corpus.
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.
Subfields: Artificial Intelligence, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/8afb4a61d10616ce736a4ca04ec774ae62ef3f70