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.
- A. V. Aho, M. R. Garey, and J. D. Ullman. The transitive reduction of a directed graph. SIAM Journal on Computing, 1(2):131--137, 1972.Google ScholarCross Ref
- V. Alves, C. Schwanninger, L. Barbosa, A. Rashid, P. Sawyer, P. Rayson, C. Pohl, and A. Rummler. An exploratory study of information retrieval techniques in domain analysis. In SPLC, 2008. Google ScholarDigital Library
- N. Andersen. Automatic synthesis of feature models based on satisfiability checking. Master's thesis, IT University of Copenhagen, 2009.Google Scholar
- D. Batory. Feature models, grammars, and propositional formulas. In SPLC, 2005. Google ScholarDigital Library
- D. Benavides, S. Segura, and A. Ruiz-Cortés. Automated analysis of feature models 20 years later: a literature review. Information Systems, 35(6), 2010. Google ScholarDigital Library
- T. Berger and S. She. Formal semantics of the CDL language. Technical Note. Available at www.informatik.uni-leipzig.de/~berger/cdl_semantics.pdf.Google Scholar
- T. Berger, S. She, R. Lotufo, A. Wąsowski, and K. Czarnecki. Variability modeling in the real: A perspective from the operating systems domain. In ASE, 2010. Google ScholarDigital Library
- C. Bron and J. Kerbosch. Algorithm 457: finding all cliques of an undirected graph. Commun. ACM, 1973. Google ScholarDigital Library
- P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001. Google ScholarDigital Library
- K. Czarnecki, C. H. P. Kim, and K. Kalleberg. Feature models are views on ontologies. In SPLC, 2006. Google ScholarDigital Library
- K. Czarnecki and A. Wąsowski. Feature models and logics: There and back again. In SPLC, 2007. Google ScholarDigital Library
- M. Janota, V. Kuzina, and A. Wasowski. Model construction with external constraints: An interactive journey from semantics to syntax. In MoDELS, 2008. Google ScholarDigital Library
- K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report Carnegie Mellon University/SEI-90-TR-21, 1990.Google Scholar
- N. Niu and S. M. Easterbrook. On-demand cluster analysis for product line functional requirements. In SPLC, 2008. Google ScholarDigital Library
- S. She and T. Berger. Formal semantics of the Kconfig language. Technical Note. Available at: eng.uwaterloo.ca/~shshe/kconfig_semantics.pdf.Google Scholar
- S. She, R. Lotufo, T. Berger, A. Wąsowski, and K. Czarnecki. The variability model of the linux kernel. In VaMoS, 2010.Google Scholar
- J. Sincero, H. Schirmeier, W. Schröder-Preikschat, and O. Spinczyk. Is The Linux Kernel a Software Product Line? In SPLC-OSSPL, 2007.Google Scholar
- G. Snelting. Reengineering of configurations based on mathematical concept analysis. TOSEM, 1996. Google ScholarDigital Library
- N. Weston, R. Chitchyan, and A. Rashid. A framework for constructing semantically composable feature models from natural language requirements. In SPLC, 2009. Google ScholarDigital Library
- R. Zippel and contributors. kconfig-language.txt. available in the kernel tree at kernel.org, seen 2009-11/23.Google Scholar
Index Terms
- Reverse engineering feature models
Recommendations
Variability modeling in the real: a perspective from the operating systems domain
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software EngineeringVariability models represent the common and variable features of products in a product line. Several variability modeling languages have been proposed in academia and industry; however, little is known about the practical use of such languages. We study ...
On extracting feature models from sets of valid feature combinations
FASE'13: Proceedings of the 16th international conference on Fundamental Approaches to Software EngineeringRather 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 ...
Feature assembly: a new feature modeling technique
ER'10: Proceedings of the 29th international conference on Conceptual modelingIn this paper we present a new feature modeling technique. This work was motivated by the fact that although for over two decades feature modeling techniques are used in software research for domain analysis and modeling of Software Product Lines, it ...
Comments