@conference {322, title = {Reverse Engineering Feature Models}, booktitle = {ICSE 2011}, year = {2011}, abstract = {Feature models describe the common and variable characteristics of a product line. Their advantages are well recognized in product line methods. Unfortunately, the task of creating a feature model for an existing project is both daunting and time-consuming, requiring 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/exclude 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. It ranks the correct parent among the top results for vast majority of features. We effectively reduce the information a modeler has to consider from thousands of choices to typically five or less.}, doi = {10.1145/1985793.1985856}, attachments = {http://gsd.uwaterloo.ca/sites/default/files/icse2011.pdf , http://gsd.uwaterloo.ca/sites/default/files/icse2011-slides.pdf}, author = {She, Steven and Lotufo, Rafael and Thorsten Berger and Andrzej W{\k a}sowski and Krzysztof Czarnecki} }