[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3442391.3442404acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Applications of #SAT Solvers on Feature Models

Published: 09 February 2021 Publication History

Abstract

Product lines are ubiquitous for managing variable systems. The variability of a product line is typically described in terms of a feature model. Analyzing a feature model gives insight into various aspects, such as the validity of a configuration of features. Several analyses have been considered that require computing the number of valid configurations which proves highly inefficient when using regular SAT solvers. A #SAT solver computes the number of satisfying variable assignments of a propositional formula and is specifically optimized for the aforementioned analyses. In this work, we summarize and unify the state-of-the-art on #SAT-based feature-model analyses and propose a variety of new #SAT-based analyses. We provide an exhaustive catalogue for applications of #SAT for feature models serving as a reference for researchers and practitioners. Furthermore, we show that all these 21 applications are based on only three different #SAT queries. Thus, future research can focus on providing solutions and optimizations for those three queries to accelerate #SAT-based applications.

References

[1]
Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2011. Slicing Feature Models. In Proc. Int’l Conf. on Automated Software Engineering (ASE). IEEE, Washington, DC, USA, 424–427. https://doi.org/10.1109/ASE.2011.6100089
[2]
Dimitris Achlioptas, Zayd S Hammoudeh, and Panos Theodoropoulos. 2018. Fast Sampling of Perfectly Uniform Satisfying Assignments. In Proc. Int’l Conf. on Theory and Applications of Satisfiability Testing (SAT). Springer, Berlin, Heidelberg, 135–147.
[3]
Dimitris Achlioptas and Panos Theodoropoulos. 2017. Probabilistic Model Counting With Short XORs. In Proc. Int’l Conf. on Theory and Applications of Satisfiability Testing (SAT). Springer, Berlin, Heidelberg, 3–19.
[4]
Bestoun S. Ahmed, Kamal Z. Zamli, Wasif Afzal, and Miroslav Bures. 2017. Constrained Interaction Testing: A Systematic Literature Study. IEEE Access 5(2017), 25706–25730. https://doi.org/10.1109/ACCESS.2017.2771562
[5]
Sofia Ananieva. 2016. Explaining Defects and Identifying Dependencies in Interrelated Feature Models.
[6]
Ebrahim Bagheri and Dragan Gasevic. 2011. Assessing the Maintainability of Software Product Line Feature Models Using Structural Metrics. Software Quality Journal (SQJ) 19, 3 (2011), 579–612.
[7]
Ebrahim Bagheri, Tommaso Di Noia, Dragan Gasevic, and Azzurra Ragone. 2012. Formalizing Interactive Staged Feature Model Configuration. J. Software: Evolution and Process 24, 4 (2012), 375–400.
[8]
Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 7–20.
[9]
David Benavides, Antonio Ruiz-Cortés, and Pablo Trinidad. 2005. Automated Reasoning on Feature Models. In Proc. Int’l Conf. on Advanced Information Systems Engineering (CAiSE). Springer, Berlin, Heidelberg, 491–503.
[10]
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems 35, 6 (2010), 615–708.
[11]
Barry Boehm, A Winsor Brown, Ray Madachy, and Ye Yang. 2004. A Software Product Line Life Cycle Cost Estimation Model. In Proc. Int’l Symposium on Empirical Software Engineering (ISESE). IEEE, Washington, DC, USA, 156–164.
[12]
Michele Boreale and Daniele Gorla. 2019. Approximate Model Counting, Sparse XOR Constraints and Minimum Distance. In The Art of Modelling Computational Systems: A Journey from Logic and Concurrency to Security and Privacy. Springer, Berlin, Heidelberg, 363–378.
[13]
Jan Bosch, Gert Florijn, Danny Greefhorst, Juha Kuusela, J Henk Obbink, and Klaus Pohl. 2001. Variability Issues in Software Product Lines. In Proc. Int’l Workshop on Software Product-Family Engineering (PFE). Springer, Berlin, Heidelberg, 13–21.
[14]
Jan Burchard, Tobias Schubert, and Bernd Becker. 2015. Laissez-Faire Caching for Parallel# SAT Solving. In Proc. Int’l Conf. on Theory and Applications of Satisfiability Testing (SAT). Springer, Berlin, Heidelberg, 46–61.
[15]
Supratik Chakraborty, Daniel J Fremont, Kuldeep S Meel, Sanjit A Seshia, and Moshe Y Vardi. 2015. On Parallel Scalable Uniform SAT Witness Generation. In Proc. Int’l Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Springer, Berlin, Heidelberg, 304–319.
[16]
Sheng Chen and Martin Erwig. 2011. Optimizing the Product Derivation Process. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). IEEE, Washington, DC, USA, 35–44. https://doi.org/10.1109/SPLC.2011.47
[17]
Paul C Clements, John D McGregor, and Sholom G Cohen. 2005. The Structured Intuitive Model for Product Line Economics (SIMPLE). Technical Report. Carnegie-Mellon University, USA.
[18]
Sholom Cohen. 2003. Predicting When Product Line Investment Pays. Technical Report. Carnegie-Mellon University, USA.
[19]
Krzysztof Czarnecki and Chang Hwan Peter Kim. 2005. Cardinality-Based Feature Modeling and Constraints: A Progress Report. In Proc. Int’l Workshop on Software Factories (SF). ACM, San Diego, California, USA, 16–20.
[20]
Krzysztof Czarnecki and Andrzej Wąsowski. 2007. Feature Diagrams and Logics: There and Back Again. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). IEEE, Washington, DC, USA, 23–34.
[21]
Adnan Darwiche. 2004. New Advances in Compiling Cnf to Decomposable Negation Normal Form. In Proc. European Conf. on Artificial Intelligence. IOS press, Amsterdam, Netherlands, 318–322.
[22]
Tom DeMarco. 1986. Controlling Software Projects: Management, Measurement, and Estimates. Prentice Hall PTR, USA.
[23]
David Fernández-Amorós, Ruben Heradio Gil, and José Cerrada Somolinos. 2009. Inferring Information From Feature Diagrams to Product Line Economic Models. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 41–50.
[24]
David Fernández-Amorós, Ruben Heradio, José Antonio Cerrada, and Carlos Cerrada. 2014. A Scalable Approach to Exact Model and Commonality Counting for Extended Feature Models. IEEE Trans. on Software Engineering (TSE) 40, 9 (2014), 895–910.
[25]
José A Galindo, Mathieu Acher, Juan Manuel Tirado, Cristian Vidal, Benoit Baudry, and David Benavides. 2016. Exploiting the Enumeration of All Feature Model Configurations: A New Perspective With Distributed Computing. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 74–78.
[26]
Michael Godfrey and Qiang Tu. 2001. Growth, Evolution, and Structural Change in Open Source Software. In Proc. Int’l Workshop on Principles of Software Evolution. ACM, New York, NY, USA, 103–106.
[27]
Carla P. Gomes, Ashish Sabharwal, and Bart Selman. 2006. Model Counting: A New Strategy for Obtaining Good Bounds. In Proc. Conf. on Artificial Intelligence (AAAI). AAAI Press, 54–61.
[28]
Ruben Heradio, David Fernández-Amorós, José Antonio Cerrada, and Ismael Abad. 2013. A Literature Review on Feature Diagram Product Counting and Its Usage in Software Product Line Economic Models. Int’l J. Software Engineering and Knowledge Engineering (IJSEKE) 23, 08(2013), 1177–1204.
[29]
Ruben Heradio, David Fernández-Amorós, José Antonio Galindo, and David Benavides. 2020. Uniform and Scalable SAT-Sampling for Configurable Systems. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 17:1–17:11.
[30]
Ruben Heradio, David Fernández-Amorós, Christoph Mayr-Dorn, and Alexander Egyed. 2019. Supporting the statistical analysis of variability models. In Proc. Int’l Conf. on Software Engineering (ICSE). IEEE, Montreal, Quebec, Canada, 843–853.
[31]
Ruben Heradio, Hector Perez-Morago, David Fernández-Amorós, Roberto Bean, Francisco Javier Cabrerizo, Carlos Cerrada, and Enrique Herrera-Viedma. 2016. Binary Decision Diagram Algorithms to Perform Hard Analysis Operations on Variability Models. In Proc. Int’l Conf. on Intelligent Software Methodologies, Tools and Techniques (SOMET). IOS Press, 139–154.
[32]
Rubén Heradio-Gil, David Fernández-Amorós, José Antonio Cerrada, and Carlos Cerrada. 2011. Supporting Commonality-Based Analysis of Software Product Lines. IET software 5, 6 (2011), 496–509.
[33]
Ayelet Israeli and Dror G. Feitelson. 2010. The Linux kernel as a case study in software evolution. J. Systems and Software (JSS) 83, 3 (2010), 485–501.
[34]
David S Johnson. 1992. The NP-Completeness Column: An Ongoing Guide. J. Algorithms 13, 3 (1992), 502–524.
[35]
Roberto J. Bayardo Jr. and Joseph Daniel Pehoushek. 2000. Counting Models Using Connected Components. In Proc. Conf. on Artificial Intelligence (AAAI). AAAI Press / The MIT Press, 157–162.
[36]
Sebastian Krieter, Reimar Schröter, Thomas Thüm, and Gunter Saake. 2016. An Efficient Algorithm for Feature-Model Slicing. Technical Report FIN-001-2016. University of Magdeburg, Germany.
[37]
Sebastian Krieter, Thomas Thüm, Sandro Schulze, Gunter Saake, and Thomas Leich. 2020. YASA: Yet Another Sampling Algorithm. In Proc. Int’l Working Conf. on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, Article 4, 10 pages. https://doi.org/10.1145/3377024.3377042
[38]
Andreas Kübler, Christoph Zengler, and Wolfgang Küchlin. 2010. Model Counting in Product Configuration. In Proc. Int’l Workshop on Logics for Component Configuration (LoCoCo). Open Publishing Association, Waterloo, Australia, 44–53. https://doi.org/10.4204/EPTCS.29.5
[39]
Jean-Marie Lagniez and Pierre Marquis. 2017. An Improved Decision-DNNF Compiler. In Proc. Int’l Joint Conf. on Artificial Intelligence (IJCAI). ijcai.org, 667–673.
[40]
Rafael Lotufo, Steven She, Thorsten Berger, Krzysztof Czarnecki, and Andrzej Wąsowski. 2010. Evolution of the Linux Kernel Variability Model. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 136–150.
[41]
Raúl Mazo, Cosmin Dumitrescu, Camille Salinesi, and Daniel Diaz. 2014. Recommendation Heuristics for Improving Product Line Configuration Processes. In Recommendation Systems in Software Engineering. Springer, Berlin, Heidelberg, 511–537.
[42]
Flávio Medeiros, Christian Kästner, Márcio Ribeiro, Rohit Gheyi, and Sven Apel. 2016. A Comparison of 10 Sampling Algorithms for Configurable Systems. In Proc. Int’l Conf. on Software Engineering (ICSE). ACM, New York, NY, USA, 643–654. https://doi.org/10.1145/2884781.2884793
[43]
Marcílio Mendonça, Andrzej Wąsowski, and Krzysztof Czarnecki. 2009. SAT-Based Analysis of Feature Models is Easy. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). Software Engineering Institute, Pittsburgh, PA, USA, 231–240.
[44]
Daniel-Jesus Munoz, Jeho Oh, Mónica Pinto, Lidia Fuentes, and Don Batory. 2019. Uniform Random Sampling Product Configurations of Feature Models That Have Numerical Features. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 289–301. https://doi.org/10.1145/3336294.3336297
[45]
Jarley Palmeira Nóbrega, Eduardo Santana de Almeida, and Sílvio Romero Lemos Meira. 2008. Income: Integrated Cost Model for Product Line Engineering. In Proc. of Euromicro Conf. on Software Engineering and Advanced Applications. IEEE, Washington, DC, USA, 27–34.
[46]
Jeho Oh, Don Batory, Margaret Myers, and Norbert Siegmund. 2016. Finding Product Line Configurations With High Performance by Random Sampling. Technical Report. University of Texas at Austin, USA.
[47]
Jeho Oh, Don Batory, Margaret Myers, and Norbert Siegmund. 2017. Finding Near-Optimal Configurations in Product Lines by Random Sampling. In Proc. Int’l Symposium on Foundations of Software Engineering (FSE). ACM, 61–71. https://doi.org/10.1145/3106237.3106273
[48]
Jeho Oh, Paul Gazzillo, Don Batory, Marijn Heule, and Maggie Myers. 2019. Uniform Sampling from Kconfig Feature Models. Technical Report TR-19-02. The University of Texas at Austin, Department of Computer Science.
[49]
Joaquin Peña, Michael G Hinchey, and Antonio Ruiz-Cortés. 2006. Building the Core Architecture of a Multiagent System Product Line: With an example from a future NASA Mission. In Proc. Int’l Workshop on Agent-Oriented Software Engineering (AOSE). Springer, Berlin, Heidelberg.
[50]
Héctor José Pérez Morago. 2016. BDD Algorithms to Perform Hard Analysis Operations on Variability Models. Ph.D. Dissertation. Universidad Nacional de Educación a Distancia (UNED), Spain.
[51]
Gilles Perrouin, Sagar Sen, Jacques Klein, Benoit Baudry, and Yves Le Traon. 2010. Automated and Scalable T-Wise Test Case Generation Strategies for Software Product Lines. In Proc. Int’l Conf. on Software Testing, Verification and Validation (ICST). IEEE, Washington, DC, USA, 459–468. https://doi.org/10.1109/ICST.2010.43
[52]
Richard Pohl, Kim Lauenroth, and Klaus Pohl. 2011. A Performance Comparison of Contemporary Algorithmic Approaches for Automated Analysis Operations on Feature Models. In Proc. Int’l Conf. on Automated Software Engineering (ASE). IEEE, Washington, DC, USA, 313–322. https://doi.org/10.1109/ASE.2011.6100068
[53]
Reimar Schröter, Sebastian Krieter, Thomas Thüm, Fabian Benduhn, and Gunter Saake. 2016. Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems. In Proc. Int’l Conf. on Software Engineering (ICSE). ACM, New York, NY, USA, 667–678. https://doi.org/10.1145/2884781.2884823
[54]
Sergio Segura. 2008. Automated Analysis of Feature Models Using Atomic Sets. In Proc. Int’l Systems and Software Product Line Conf. (SPLC), Vol. 2. 201–207.
[55]
Shubham Sharma, Rahul Gupta, Subhajit Roy, and Kuldeep S Meel. 2018. Knowledge Compilation Meets Uniform Sampling. In Proc. Int’l Conf. on Logic for Programming, Artificial Intelligence, and Reasoning. EasyChair, 620–636.
[56]
Stefan Sobernig, Sven Apel, Sergiy Kolesnikov, and Norbert Siegmund. 2016. Quantifying Structural Attributes of System Decompositions in 28 Feature-Oriented Software Product Lines. Empirical Software Engineering (EMSE) 21, 4 (Aug. 2016), 1670–1705. https://doi.org/10.1007/s10664-014-9336-6
[57]
Joshua Sprey, Chico Sundermann, Sebastian Krieter, Michael Nieke, Jacopo Mauro, Thomas Thüm, and Ina Schaefer. 2020. SMT-Based Variability Analyses in FeatureIDE. In Proc. Int’l Working Conf. on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, Article 6, 9 pages. https://doi.org/10.1145/3377024.3377036
[58]
Chico Sundermann. 2020. Applications of #SAT Solvers on Product Lines. Master’s thesis. TU Braunschweig, Germany. https://doi.org/10.24355/dbbs.084-202009161329-0
[59]
Chico Sundermann, Thomas Thüm, and Ina Schaefer. 2020. Evaluating #SAT Solvers on Industrial Feature Models. In Proc. Int’l Working Conf. on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, Article 3, 9 pages. https://doi.org/10.1145/3377024.3377025
[60]
Thomas Thüm, Don Batory, and Christian Kästner. 2009. Reasoning about Edits to Feature Models. In Proc. Int’l Conf. on Software Engineering (ICSE). IEEE, Washington, DC, USA, 254–264. https://doi.org/10.1109/ICSE.2009.5070526
[61]
Thomas Thüm, Christian Kästner, Sebastian Erdweg, and Norbert Siegmund. 2011. Abstract Features in Feature Modeling. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). IEEE, Washington, DC, USA, 191–200. https://doi.org/10.1109/SPLC.2011.53
[62]
Marc Thurley. 2006. sharpSAT - Counting Models with Advanced Component Caching and Implicit BCP. In Proc. Int’l Conf. on Theory and Applications of Satisfiability Testing (SAT). Springer, Berlin, Heidelberg, 424–429.
[63]
Takahisa Toda and Takehide Soh. 2016. Implementing Efficient All Solutions SAT Solvers. J. Experimental Algorithmics 21 (2016), 1–12.
[64]
Pablo Trinidad, David Benavides, and Antonio Ruiz Cortés. 2006. Isolated Features Detection in Feature Models. In Proc. Int’l Conf. on Advanced Information Systems Engineering (CAiSE). Springer, Berlin, Heidelberg.
[65]
Leslie G Valiant. 1979. The Complexity of Enumeration and Reliability Problems. SIAM J. Computing 8, 3 (1979), 410–421.
[66]
Mahsa Varshosaz, Mustafa Al-Hajjaji, Thomas Thüm, Tobias Runge, Mohammad Reza Mousavi, and Ina Schaefer. 2018. A Classification of Product Sampling for Software Product Lines. In Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 1–13. https://doi.org/10.1145/3233027.3233035

Cited By

View all
  • (2025)Leveraging belief uncertainty for informed decision making in software product line evolutionJournal of Systems and Software10.1016/j.jss.2024.112235219:COnline publication date: 1-Jan-2025
  • (2024)Efficient Slicing of Feature Models via Projected d-DNNF CompilationProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695594(1332-1344)Online publication date: 27-Oct-2024
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '21: Proceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems
February 2021
150 pages
ISBN:9781450388245
DOI:10.1145/3442391
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 February 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. #SAT
  2. #SAT Applications
  3. Configuration Counting
  4. Feature Models
  5. Feature-Model Analysis
  6. Model Counting
  7. Product Lines

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

VaMoS'21

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)53
  • Downloads (Last 6 weeks)3
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Leveraging belief uncertainty for informed decision making in software product line evolutionJournal of Systems and Software10.1016/j.jss.2024.112235219:COnline publication date: 1-Jan-2025
  • (2024)Efficient Slicing of Feature Models via Projected d-DNNF CompilationProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695594(1332-1344)Online publication date: 27-Oct-2024
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2024)Reusing d-DNNFs for Efficient Feature-Model CountingACM Transactions on Software Engineering and Methodology10.1145/368046533:8(1-32)Online publication date: 30-Jul-2024
  • (2024)Exploring the Computational Complexity of SAT Counting and Uniform Sampling with Phase TransitionsProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3643097(322-323)Online publication date: 14-Apr-2024
  • (2024)Explaining Edits to Variability Annotations in Evolving Software Product LinesProceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3634713.3634725(93-102)Online publication date: 7-Feb-2024
  • (2023)Elimination of constraints for parallel analysis of feature modelsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608981(99-110)Online publication date: 28-Aug-2023
  • (2023)Development and Evolution of Software Product Lines Driven by Stakeholder BeliefsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608975(34-40)Online publication date: 28-Aug-2023
  • (2023)Migrating Individual Applications into Software Product Lines Using the Mobioos Forge Platform2023 30th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC60848.2023.00060(483-492)Online publication date: 4-Dec-2023
  • (2023)Evaluating state-of-the-art # SAT solvers on industrial configuration spacesEmpirical Software Engineering10.1007/s10664-022-10265-928:2Online publication date: 13-Jan-2023
  • 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

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media