SAT-based analysis of feature models is easy

Feature models are a popular variability modeling notation used in product line engineering. Automated analyses of feature models, such as consistency checking and interactive or offline product selection, often rely on translating models to propositional logic and using satisfiability (SAT) solvers. Efficiency of individual satisfiability-based analyses has been reported previously. We generalize and quantify these studies with a series of independent experiments. We show that previously reported efficiency is not incidental. Unlike with the general SAT instances, which fall into easy and hard classes, the instances induced by feature modeling are easy throughout the spectrum of realistic models. In particular, the phenomenon of phase transition is not observed for realistic feature models. Our main practical conclusion is a general encouragement for researchers to continued development of SAT-based methods to further exploit this efficiency in future.

[1]  Henrik Reif Andersen,et al.  Calculating Valid Domains for BDD-Based Interactive Configuration , 2007, ArXiv.

[2]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[3]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

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

[5]  Andreas Helferich,et al.  Software mass customization , 2010 .

[6]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[7]  Antonio Ruiz Cortés,et al.  Isolated Features Detection in Feature Models , 2006, CAiSE Forum.

[8]  Mikolás Janota Do SAT Solvers Make Good Configurators? , 2008, SPLC.

[9]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

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

[11]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[12]  Tad Hogg,et al.  Phase Transitions in Artificial Intelligence Systems , 1987, Artif. Intell..

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

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

[15]  Mikolás Janota,et al.  Reasoning about Feature Models in Higher-Order Logic , 2007, 11th International Software Product Line Conference (SPLC 2007).

[16]  Evangelos Kranakis,et al.  Rigorous results for random (2+p)-SAT , 2001, Theor. Comput. Sci..

[17]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[18]  Thomas J. Schaefer,et al.  The complexity of satisfiability problems , 1978, STOC.

[19]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

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

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

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

[23]  Pierre-Yves Schobbens,et al.  Generic Semantics of Feature Diagrams Variants , 2005, FIW.

[24]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

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

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

[27]  Saburo Muroga,et al.  Binary Decision Diagrams , 2000, The VLSI Handbook.

[28]  Sanjeev Khanna,et al.  Complexity classifications of Boolean constraint satisfaction problems , 2001, SIAM monographs on discrete mathematics and applications.

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

[30]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[31]  Hector J. Levesque,et al.  Hard and Easy Distributions of SAT Problems , 1992, AAAI.

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

[33]  Thomas Leich,et al.  Tool support for feature-oriented software development: featureIDE: an Eclipse-based approach , 2005, eclipse '05.

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

[35]  E. Friedgut,et al.  Sharp thresholds of graph properties, and the -sat problem , 1999 .

[36]  Marcilio Mendonça,et al.  Efficient Reasoning Techniques for Large Scale Feature Models , 2009 .

[37]  J. Culberson,et al.  The Gn,m Phase Transition is Not Hard for the Hamiltonian Cycle Problem , 1998, J. Artif. Intell. Res..

[38]  Wei Li,et al.  Exact Phase Transitions in Random Constraint Satisfaction Problems , 2000, J. Artif. Intell. Res..

[39]  Andreas Goerdt,et al.  A Threshold for Unsatisfiability , 1992, MFCS.

[40]  R. M. Jensen,et al.  FAST BACKTRACK-FREE PRODUCT CONFIGURATION USING A PRECOMPILED SOLUTION SPACE REPRESENTATION , 2004 .

[41]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[42]  Rémi Monasson,et al.  2+p-SAT: Relation of typical-case complexity to the nature of the phase transition , 1999, Random Struct. Algorithms.