Automated analysis of feature models 20 years later: A literature review

Software product line engineering is about producing a set of related products that share more commonalities than variabilities. Feature models are widely used for variability and commonality management in software product lines. Feature models are information models where a set of products are represented as a set of features in a single model. The automated analysis of feature models deals with the computer-aided extraction of information from feature models. The literature on this topic has contributed with a set of operations, techniques, tools and empirical results which have not been surveyed until now. This paper provides a comprehensive literature review on the automated analysis of feature models 20 years after of their invention. This paper contributes by bringing together previously disparate streams of work to help shed light on this thriving area. We also present a conceptual framework to understand the different proposals as well as categorise future contributions. We finally discuss the different studies and propose some challenges to be faced in the future.

[1]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[2]  Sean Quan Lau Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates , 2006 .

[3]  Javier Cámara,et al.  Theorem Proving for Product Line Model Verification , 2003, PFE.

[4]  Krzysztof Czarnecki,et al.  Generative Programming: Methods, Techniques, and Applications , 2002, ICSR.

[5]  Paul Klint A Meta-Environment for Generating Programming Environments , 1989, Algebraic Methods.

[6]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[7]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[8]  Haiyan Zhao,et al.  A BDD-Based Approach to Verifying Clone-Enabled Feature Models' Constraints and Customization , 2008, ICSR.

[9]  Jules White,et al.  Automated Reasoning for Multi-step Software Product-line Configuration Problems , 2009 .

[10]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[11]  Haiyan Zhao,et al.  An Optimization Strategy to Feature Models' Verification by Eliminating Verification-Irrelevant Features and Constraints , 2009, ICSR.

[12]  Haiyan Zhao,et al.  Feature-driven requirement dependency analysis and high-level software design , 2006, Requirements Engineering.

[13]  Antonio Ruiz-Cortés,et al.  Building the Core Architecture of a Multiagent System Product Line: With an example from a future NASA Mission , 2006 .

[14]  Douglas C. Schmidt,et al.  Selecting highly optimal architectural feature sets with Filtered Cartesian Flattening , 2009, J. Syst. Softw..

[15]  Hai H. Wang,et al.  Formal semantics and verification for feature modeling , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[16]  Paola Lecca,et al.  A new probabilistic generative model of parameter inference in biochemical networks , 2009, SAC '09.

[17]  Antonio Ruiz Cortés,et al.  A First Step Towards a Framework for the Automated Analysis of Feature Models , 2006 .

[18]  Antonio Ruiz Cortés,et al.  First International Workshop on Analysis of Software Product Lines (ASPL'08) , 2008, 2008 12th International Software Product Line Conference.

[19]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[20]  Felix Lösch,et al.  Optimization of Variability in Software Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[21]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[22]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[23]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[24]  Olga De Troyer,et al.  Applying semantic web technology to feature modeling , 2009, SAC '09.

[25]  Roberto Erick Lopez-Herrejon,et al.  A Standard Problem for Evaluating Product-Line Methodologies , 2001, GCSE.

[26]  Donald D. Cowan,et al.  Collaborative Product Configuration: Formalization and Efficient Algorithms for Dependency Analysis , 2008, J. Softw..

[27]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[28]  Ruben Heradio,et al.  Inferring information from feature diagrams to product line economic models , 2009, SPLC.

[29]  Ian Horrocks,et al.  OWL Web Ontology Language Reference-W3C Recommen-dation , 2004 .

[30]  Somnuk Phon-Amnuaisuk,et al.  Knowledge Based Method to Validate Feature Models , 2008, SPLC.

[31]  Filip Maric,et al.  Formalization and Implementation of Modern SAT Solvers , 2009, Journal of Automated Reasoning.

[32]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[33]  Paul C. Clements Managing Variability for Software Product Lines: Working with Variability Mechanisms , 2006, 10th International Software Product Line Conference (SPLC'06).

[34]  Adithya Hemakumar,et al.  Finding Contradictions in Feature Models , 2008, SPLC.

[35]  Antonio Ruiz Cortés,et al.  Using Java CSP Solvers in the Automated Analyses of Feature Models , 2005, GTTSE.

[36]  Beate Bollig,et al.  Improving the Variable Ordering of OBDDs Is NP-Complete , 1996, IEEE Trans. Computers.

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

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

[39]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

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

[41]  Jeff Z. Pan,et al.  A semantic web approach to feature modeling and verification , 2005 .

[42]  Antonio Ruiz Cortés,et al.  Using Constraint Programming to Reason on Feature Models , 2005, SEKE.

[43]  Douglas C. Schmidt,et al.  Automated reasoning for multi-step feature model configuration problems , 2009, SPLC.

[44]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

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

[46]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[47]  Jan Bosch,et al.  Workshop on Software Variability Management for Product Derivation ? Towards Tool Support , 2004, SPLC.

[48]  Sergio Segura,et al.  Three-Dimensional Feature Diagrams Visualization , 2008, SPLC.

[49]  Sofia Cassel,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 2012 .

[50]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[51]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[52]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[53]  Horst Lichter,et al.  RequiLine: A Requirements Engineering Tool for Software Product Lines , 2003, PFE.

[54]  Sergio Segura Automated Analysis of Feature Models Using Atomic Sets , 2008, SPLC.

[55]  Harry S. Delugach,et al.  A Conceptual Graph Approach to Feature Modeling , 2007, ICCS.

[56]  Antonio Ruiz Cortés,et al.  Abductive Reasoning and Automated Analysis of Feature Models: How are they connected? , 2009, VaMoS.

[57]  Sven Apel,et al.  A Case Study Implementing Features Using AspectJ , 2007, 11th International Software Product Line Conference (SPLC 2007).

[58]  Fei Cao,et al.  Automating Feature-Oriented Domain Analysis , 2003, Software Engineering Research and Practice.

[59]  Antonio Ruiz Cortés,et al.  Improving Decision Making in Software Product Lines Product Plan Management , 2004 .

[60]  Gavriel Salvendy,et al.  Handbook of industrial engineering , 2001 .

[61]  L. Stein,et al.  OWL Web Ontology Language - Reference , 2004 .

[62]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[63]  Horst Lichter,et al.  Determining the Variation Degree of Feature Models , 2005, SPLC.

[64]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[65]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[66]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[67]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[68]  Don Batory,et al.  A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite and the AHEAD Tool Suite , 2006 .

[69]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[70]  Ilka Philippow,et al.  Details of formalized relations in feature models using OCL , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[71]  Paulo Borba,et al.  Algebraic Laws for Feature Models , 2008, J. Univers. Comput. Sci..

[72]  Donald D. Cowan,et al.  Efficient compilation techniques for large scale feature models , 2008, GPCE '08.

[73]  Donald D. Cowan,et al.  Decision-making coordination in collaborative product configuration , 2008, SAC '08.

[74]  Gavriel Salvendy,et al.  Handbook of industrial engineering : technology and operations management , 2001 .

[75]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[76]  Wolfgang Stolz,et al.  Introducing PLA at Bosch Gasoline Systems: Experiences and Practices , 2004, SPLC.

[77]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[78]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[79]  Oscar Díaz,et al.  Feature Oriented Model Driven Development: A Case Study for Portlets , 2007, 29th International Conference on Software Engineering (ICSE'07).

[80]  Camille Salinesi,et al.  Product Line Requirements Matching and Deriving : the RED-PL Guidance Approach , 2007 .

[81]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[82]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[83]  Barbara Kitchenham Procedures for Performing Systematic , 2004 .

[84]  Rohit Gheyi,et al.  A Theory for Feature Models in Alloy , 2006 .

[85]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[86]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[87]  Krzysztof Czarnecki,et al.  Sample Spaces and Feature Models: There and Back Again , 2008, 2008 12th International Software Product Line Conference.

[88]  Fan Shao Feature Model Based on Description Logics , 2007 .

[89]  Douglas C. Schmidt,et al.  Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints , 2008, SPLC.

[90]  Antonio Ruiz Cortés,et al.  Building the Core Architecture of a NASA Multiagent System Product Line , 2006, AOSE.

[91]  T. van deStorm Variability and component composition , 2004 .

[92]  Richard T. Watson,et al.  Analyzing the Past to Prepare for the Future: Writing a Literature Review , 2002, MIS Q..

[93]  Tijs van der Storm,et al.  Generic Feature-Based Software Composition , 2007, SC@ETAPS.

[94]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[95]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .