Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1753235.1753267acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

SAT-based analysis of feature models is easy

Published: 24 August 2009 Publication History

Abstract

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.

References

[1]
D. Achlioptas, L. Kirousis, E. Kranakis, and D. Krizanc. Rigorous results for random (2 + p)-SAT. Theoretical Computer Science, 265(1):109--129, 2001.
[2]
V. Alves, R. Gheyi, T. Massoni, U. Kulesza, P. Borba, and C. Lucena. Refactoring product lines. In GPCE '06, pages 201--210. ACM, 2006.
[3]
H. R. Andersen. Binary Decision Diagrams. Department of Information Technology, Technical University of Denmark, Lyngby, Denmark, 1997. Lecture notes for 49285 Advanced Algorithms E97, http://www.itu.dk/people/hra/notes-index.html.
[4]
M. Antkiewicz and K. Czarnecki. FeaturePlugin: Feature modeling plug-in for Eclipse. In OOPSLA'04 Eclipse Technology eXchange (ETX) Workshop, 2004. Paper available from http://www.swen.uwaterloo.ca/~kczarnec/etx04.pdf. Software available from gp.uwaterloo.ca/fmp.
[5]
M. Antkiewicz and K. Czarnecki. Framework-specific modeling languages with round-trip engineering. In O. Nierstrasz, J. Whittle, D. Harel, and G. Reggio, editors, MoDELS, volume 4199 of LNCS, pages 692--706. Springer, 2006.
[6]
D. Batory, D. Benavides, and A. Ruiz-Cortes. Automated analysis of feature models: challenges ahead. Commun. ACM, 49(12):45--47, 2006.
[7]
D. S. Batory. Feature models, grammars, and propositional formulas. In Software Product Lines, 9th Int. Conference, SPLC 2005, Rennes, France, September 26--29, 2005, Proceedings, volume 3714 of LNCS, pages 7--20. Springer, 2005.
[8]
D. Benavides. On the Automated Analysis of Software Product Lines Using Feature Models. A Framework for Developing Automated Tool Support. PhD thesis, University of Seville, Spain, June 2007. Available from http://www.lsi.us.es/~dbc/dbc_archivos/pubs/benavides07-phd.pdf.
[9]
D. Benavides, S. Segura, P. Trinidad, and A. Ruiz-Cortes. FAMA: Tooling a framework for the automated analysis of feature models. VAMOS 2007, pages 129--134, 2007.
[10]
D. Benavides, P. Trinidad, and A. Ruiz-Cortes. Automated reasoning on feature models. In Proceedings of the 17th Conference on Advanced Information Systems Engineering (CAiSE'05), Porto, Portugal, 2005, LNCS. Springer, 2005.
[11]
D. L. Berre, A. Parrain, O. Roussel, and L. Sais. SAT4J: A satisfiability library for Java, 2005. http://www.objectweb.org/phorum/download.php/16,291/sat4j-D-Le-Berre.pdf.
[12]
D. Beuche. pure::variants Eclipse Plugin. User Guide. pure-systems GmbH. Available from http://web.pure-systems.com/fileadmin/downloads/pv_userguide.pdf, 2004.
[13]
Y. Bontemps, P. Heymans, P. Schobbens, and J. Trigaux. Generic semantics of feature diagrams variants. In Features Interactions in Telecommunications and Software Systems VIII(ICFI'05), pages 58--77, Leicester, UK, Jun 2005.
[14]
R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, 35(8):677--691, Aug. 1986.
[15]
S. A. Cook. The complexity of theorem-proving procedures. In STOC '71: Proceedings of the third annual ACM symposium on Theory of computing, pages 151--158, New York, NY, USA, 1971. ACM.
[16]
N. Creignou, S. Khanna, and M. Sudan. Complexity of Classifications of Boolean Constraint Satisfaction Problems. SIAM Monographs on discrete Mathematics and Applications. Society for Industrial and Applied Mathematics (SIAM), 2001.
[17]
K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston, MA, 2000.
[18]
K. Czarnecki and A. Wasowski. Feature models and logics: There and back again. In Proceedings of 10th Int. Software Product Line Conference (SPLC 2007). IEEE Press, 2007.
[19]
M. Davis, G. Logemann, and D. Loveland. A machine program for theorem proving. Commun. ACM, 5(7):394--397, 1962.
[20]
E. Friedgut. Sharp thresholds of graph properties, and the k-SAT problem. J. Amer. Math. Soc, 12:1017--1054, 1999.
[21]
R. Gheyi, T. Massoni, and P. Borba. A theory for feature models in Alloy. In First Alloy Workshop, pages 71--80, Portland, United States, November 2006.
[22]
A. Goerdt. A threshold for unsatisfiability. J. Comput. Syst. Sci., 53(3):469--486, 1996.
[23]
T. Hadzic, R. Jensen, and H. R. Andersen. Notes on calculating valid domains. Manuscript online http://www.itu.dk/~tarik/cvd/cvd.pdf, 2006.
[24]
T. Hadzic, R. M. Jensen, and H. R. Andersen. Calculating valid domains for BDD-based interactive configuration. CoRR, abs/0704.1394, 2007.
[25]
T. Hadzic, S. Subbarayan, R. M. Jensen, H. R. Andersen, J. Møller, and H. Hulgaard. Fast backtrack-free product configuration using a precompiled solution space representation. In PETO Conference, pages 131--138. DTU-tryk, June 2004.
[26]
B. A. Huberman and T. Hogg. Phase transitions in artificial intelligence systems. Artif. Intell., 33(2):155--171, 1987.
[27]
M. Janota. Do SAT solvers make good configurators? In Proceedings of the First Workshop on Analyses of Software Product Lines, September 2008.
[28]
M. Janota and J. Kiniry. Reasoning about feature models in higher-order logic. In Software Product Line Conference, 2007. SPLC 2007. 11th Int., pages 13--22, 2007.
[29]
K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, Nov. 1990.
[30]
C. W. Krueger. Software mass customization. White paper, Oct. 2001.
[31]
T. Leich, S. Apel, L. Marnitz, and G. Saake. Tool support for feature-oriented software development: featureIDE: an Eclipse-based approach. In eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, pages 55--59, New York, NY, USA, 2005. ACM.
[32]
M. Mendonca. Efficient Reasoning Techniques for Large Scale Feature Models. PhD thesis, School of Computer Science, University of Waterloo, Jan 2009. Available from http://hdl.handle.net/10012/4201.
[33]
M. Mendonca. SPLOT (Software Product Line Online Tools) website, 2009. Available at: http://www.splot-research.org.
[34]
M. Mendonca, A. Wasowski, K. Czarnecki, and D. D. Cowan. Efficient compilation techniques for large scale feature models. In Int. Conference on Generative Programming and Component Engineering (GPCE'08), pages 13--22, 2008.
[35]
A. Metzger, K. Pohl, P. Heymans, P.-Y. Schobbens, and G. Saval. Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. Requirements Engineering, IEEE Int. Conference on, 0:243--253, 2007.
[36]
D. Mitchell, B. Selman, and H. Levesque. Hard and easy distributions of SAT problems. In Proceedings of the 10th National Conference on AI - American Association for Artificial Intelligence, pages 459--465, 1992.
[37]
R. Monasson, R. Zecchina, S. Kirkpatrick, B. Selman, and L. Troyansky. 2+p-SAT: Relation of typical-case complexity to the nature of the phase transition, 1999.
[38]
C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.
[39]
K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005.
[40]
S. Segura and A. Ruiz-Cortéz. Benchmarking on the automated analyses of feature models: A preliminary roadmap. In Third Int. Workshop on Variability Modeling of Software-intensive System (VAMOS), 2009.
[41]
T. J. Shaefer. The complexity of satisfiability problems. In Conference Record of the Tenth Annual ACM Symposium on Theory of Computing, pages 216--226. ACM Press, May 1978.
[42]
B. M. Smith. Locating the phase transition in constraint satisfaction problems. In Artificial Intelligence, 1994.
[43]
T. Thum, D. Batory, and C. Kastner. Reasoning about edits to feature models. In 31th Int. Conference on Software Engineering (ICSE). IEEE, May 2009.
[44]
P. Trinidad, D. Benavides, and A. Ruiz-Cortés. Isolated features detection in feature models. In CAiSE Short Paper Proceedings, 2006.
[45]
P. Trinidad, D. Benavides, A. Ruiz-Cortes, S. Segura, and A. Jimenez. FAMA framework. Software Product Line Conference, 2008. SPLC '08. 12th Int., pages 359--359, Sept. 2008.
[46]
B. Vandegriend and J. Culberson. The G n, m phase transition is not hard for the Hamiltonian cycle problem. Journal of Arti Intelligence Research, 9:9--219, 1998.
[47]
J. White, D. Schmidt, D. Benavides, P. Trinidad, and A. Ruiz-Cortes ands. Automated diagnosis of product-line configuration errors in feature models. Software Product Line Conference, 2008. SPLC '08. 12th Int., pages 225--234, Sept. 2008.
[48]
K. Xu and W. Li. Exact phase transitions in random constraint satisfaction problems. CoRR, cs.AI/0004005, 2000.

Cited By

View all
  • (2024)On the Use of Multi-valued Decision Diagrams to Count Valid Configurations of Feature ModelsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672594(96-106)Online publication date: 2-Sep-2024
  • (2024)Refinery: Graph Solver as a ServiceProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640045(64-68)Online publication date: 14-Apr-2024
  • (2024)Combinatorial Transition Testing in Dynamically Adaptive SystemsProceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3634713.3634726(1-10)Online publication date: 7-Feb-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '09: Proceedings of the 13th International Software Product Line Conference
August 2009
319 pages

Publisher

Carnegie Mellon University

United States

Publication History

Published: 24 August 2009

Check for updates

Qualifiers

  • Research-article

Conference

SPLC '09
SPLC '09: 13th International Software Product Line Conference
August 24 - 28, 2009
California, San Francisco, USA

Acceptance Rates

SPLC '09 Paper Acceptance Rate 30 of 82 submissions, 37%;
Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)4
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)On the Use of Multi-valued Decision Diagrams to Count Valid Configurations of Feature ModelsProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672594(96-106)Online publication date: 2-Sep-2024
  • (2024)Refinery: Graph Solver as a ServiceProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3640045(64-68)Online publication date: 14-Apr-2024
  • (2024)Combinatorial Transition Testing in Dynamically Adaptive SystemsProceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3634713.3634726(1-10)Online publication date: 7-Feb-2024
  • (2023)A Self-Adaptation Mechanism for Variability Management in Dynamic Software Product LinesProceedings of the 17th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3622748.3622754(51-60)Online publication date: 25-Sep-2023
  • (2021)On the scalability of building binary decision diagrams for current feature modelsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3474452(131-135)Online publication date: 6-Sep-2021
  • (2021)Incremental construction of modal implication graphs for evolving feature modelsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471148(64-74)Online publication date: 6-Sep-2021
  • (2020)Anomaly analyses for feature-model evolutionACM SIGPLAN Notices10.1145/3393934.327812353:9(188-201)Online publication date: 7-Apr-2020
  • (2020)Evaluating #SAT solvers on industrial feature modelsProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377025(1-9)Online publication date: 5-Feb-2020
  • (2019)A Kconfig Translation to Logic with One-Way Validation SystemProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336313(303-308)Online publication date: 9-Sep-2019
  • (2019)Static Analysis of Featured Transition SystemsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336295(39-51)Online publication date: 9-Sep-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media