On Extracting Feature Models from Sets of Valid Feature Combinations

Rather than developing individual systems, Software Product Line Engineering develops families of systems. The members of the software family are distinguished by the features they implement and Feature Models (FMs) are the de facto standard for defining which feature combinations are considered valid members. This paper presents an algorithm to automatically extract a feature model from a set of valid feature combinations, an essential development step when companies, for instance, decide to convert their existing product variations portfolio into a Software Product Line. We performed an evaluation on 168 publicly available feature models, with 9 to 38 features and up to 147456 feature combinations. From the generated feature combinations of each of these examples, we reverse engineered an equivalent feature model with a median performance in the low milliseconds.

[1]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[2]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[3]  Alexander Egyed,et al.  Reverse Engineering Feature Models with Evolutionary Algorithms: An Exploratory Study , 2012, SSBSE.

[4]  Mathieu Acher,et al.  On extracting feature models from product descriptions , 2012, VaMoS.

[5]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[6]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[7]  George Siemens,et al.  Current state and future trends: a citation network analysis of the learning analytics field , 2014, LAK.

[8]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[9]  Ruzanna Chitchyan,et al.  A framework for constructing semantically composable feature models from natural language requirements , 2009, SPLC.

[10]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[11]  Alexander Egyed,et al.  Reverse Engineering Feature Models from Programs' Feature Sets , 2011, 2011 18th Working Conference on Reverse Engineering.

[12]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2012, SPLC '12.

[13]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[14]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[15]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).