skip to main content
10.1145/3461001.3474452acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
short-paper

On the scalability of building binary decision diagrams for current feature models

Published:06 September 2021Publication History

ABSTRACT

Binary decision diagrams (BDD) have been proposed for numerous product-line analyses. These analyses typically exploit properties unique to decision diagrams, such as negation in constant time and space. Furthermore, the existence of a BDD representing the configuration space of a product line removes the need to employ SAT or #SAT solvers for their analysis. Recent work has shown that the performance of state-of-the-art BDD libraries is significantly lower than previously reported and hypothesized. In this work, we provide an assessment of the state-of-the-art of BDD scalability in this domain and explain why previous results on the scalability of BDDs do not apply to more recent product-line instances.

References

  1. 2007. http://buddy.sourceforge.net/manual/main.html. Accessed: 2020-03-02.Google ScholarGoogle Scholar
  2. 2016. https://github.com/vscosta/cudd. Accessed: 2020-06-13.Google ScholarGoogle Scholar
  3. Mathieu Acher, Anthony Cleve, Gilles Perrouin, Patrick Heymans, Charles Vanbeneden, Philippe Collet, and Philippe Lahire. 2012. On Extracting Feature Models From Product Descriptions. In VaMoS. ACM, 45--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2011. Slicing Feature Models. In ASE. IEEE, 424--427. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2013. Familiar: A Domain-Specific Language for Large Scale Management of Feature Models. SCP 78, 6 (2013), 657--681. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mathieu Acher, Patrick Heymans, Philippe Collet, Clément Quinton, Philippe Lahire, and Philippe Merle. 2012. Feature Model Differences. In CAiSE. Springer, 629--645. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fadi A. Aloul, Igor L. Markov, and Karem A. Sakallah. 2003. FORCE: A Fast and Easy-to-Implement Variable-Ordering Heuristic. In GLSVLSI. ACM, 116--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In SPLC. Springer, 7--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. David Benavides, Sergio Segura, Pablo Trinidad, and Antonio Ruiz-Cortés. 2006. A First Step Towards a Framework for the Automated Analysis of Feature Models. In SPLC. IEEE, 39--47.Google ScholarGoogle Scholar
  11. David Benavides, Sergio Segura, Pablo Trinidad, and Antonio Ruiz-Cortés. 2007. FAMA: Tooling a Framework for the Automated Analysis of Feature Models. In VaMoS. Technical Report 2007-01, Lero, 129--134.Google ScholarGoogle Scholar
  12. Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wąsowski, and Krzysztof Czarnecki. 2010. Variability Modeling in the Real: A Perspective from the Operating Systems Domain. In ASE. ACM, 73--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Biere, A. Biere, M. Heule, H. van Maaren, and T. Walsh. 2009. Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications. IOS Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eric Bodden, Társis Tolêdo, Márcio Ribeiro, Claus Brabrand, Paulo Borba, and Mira Mezini. 2013. SPLLIFT: Statically Analyzing Software Product Lines in Minutes Instead of Years. In PLDI. ACM, 355--364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. TC C-35, 8 (1986), 677--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Randal E. Bryant. 2018. Binary Decision Diagrams. In Handbook of Model Checking. Springer, 191--217.Google ScholarGoogle Scholar
  17. Stephen A. Cook. 1971. The Complexity of Theorem-Proving Procedures. In STOC. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Krzysztof Czarnecki and Ulrich Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Adnan Darwiche. 2001. Decomposable Negation Normal Form. J. ACM 48, 4 (2001), 608--647. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Adnan Darwiche. 2002. A Compiler for Deterministic, Decomposable Negation Normal Form. In AAAI. AAAI Press, 627--634. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Adnan Darwiche and Pierre Marquis. 2002. A Knowledge Compilation Map. JAIR 17, 1 (2002), 229--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. David Fernández-Amorós, Sergio Bra, Ernesto Aranda-Escolástico, and Ruben Heradio. 2020. Using Extended Logical Primitives for Efficient BDD Building. Mathematics 8, 8 (2020), 1253:1--1253:17.Google ScholarGoogle Scholar
  23. David Fernandez-Amoros, Ruben Heradio, Christoph Mayr-Dorn, and Alexander Egyed. 2019. A KConfig Translation to Logic with One-Way Validation System. In SPLC. ACM, 303--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Claudia Fritsch, Richard Abt, and Burkhardt Renz. 2020. The Benefits of a Feature Model in Banking. In SPLC. ACM, Article 9, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Paul Gazzillo. 2017. Kmax: Finding All Configurations of Kbuild Makefiles Statically. In ESEC/FSE. ACM, 279--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Paul Gazzillo and Robert Grimm. 2012. SuperC: Parsing All of C by Taming the Preprocessor. In PLDI. ACM, 323--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Rajeev Goré and Jimmy Thomson. 2013. An Improved BDD Method for Intuitionistic Propositional Logic: BDDIntKt System Description. In CADE, Maria Paola Bonacina (Ed.), Vol. 7898. Springer, Berlin, Heidelberg, 275--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Daniel F Gudbjartsson, Thorvaldur Thorvaldsson, Augustine Kong, Gunnar Gunnarsson, and Anna Ingolfsdottir. 2005. Allegro Version 2. Nature Genetics 37, 10 (2005), 1015--1016.Google ScholarGoogle ScholarCross RefCross Ref
  29. Jesse Hoey, Robert St-Aubin, Alan J. Hu, and Craig Boutilier. 2013. SPUDD: Stochastic Planning Using Decision Diagrams. CoRR (2013).Google ScholarGoogle Scholar
  30. Martin Jonáš and Jan Strejček. 2019. Q3B: An Efficient BDD-based SMT Solver for Quantified Bit-Vectors. In CAV. Springer, 64--73.Google ScholarGoogle Scholar
  31. Andrew V Jones and Alessio Lomuscio. 2010. Distributed BDD-Based BMC for the Verification of Multi-Agent Systems. In AAMAS. International Foundation for Autonomous Agents and Multiagent Systems, 675--682. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Chang Hwan Peter Kim and Krzysztof Czarnecki. 2005. Synchronizing Cardinality-Based Feature Models and Their Specializations. In ECMDA. Springer, 331--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Alexander Knüppel, Thomas Thüm, Stephan Mennicke, Jens Meinicke, and Ina Schaefer. 2017. Is There a Mismatch Between Real-World Feature Models and Product-Line Research?. In ESEC/FSE. ACM, 291--302. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Ondřej Lhoták and Laurie Hendren. 2004. Jedd: A BDD-Based Relational Extension of Java. In PLDI. ACM, 158--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Jia Hui Liang, Vijay Ganesh, Krzysztof Czarnecki, and Venkatesh Raman. 2015. SAT-Based Analysis of Large Real-World Feature Models Is Easy. In SPLC. Springer, 91--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rafael Lotufo, Steven She, Thorsten Berger, Krzysztof Czarnecki, and Andrzej Wąsowski. 2010. Evolution of the Linux Kernel Variability Model. In SPLC. Springer, 136--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Guanfeng Lv, Yao Chen, Yachao Feng, Qingliang Chen, and Kaile Su. 2012. A Succinct and Efficient Implementation of a 2^ 32 BDD Package. In Proc. Int'l Symposium on Theoretical Aspects of Software Engineering (TASE). IEEE, 241--244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Guanfeng Lv, Kaile Su, and Yanyan Xu. 2013. CacBDD: A BDD Package With Dynamic Cache Management. In CAV. Springer, 229--234.Google ScholarGoogle Scholar
  39. Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Marcílio Mendonça, Moises Branco, and Donald Cowan. 2009. S.P.L.O.T.: Software Product Lines Online Tools. In OOPSLA. ACM, 761--762. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Marcílio Mendonça, Andrzej Wąsowski, and Krzysztof Czarnecki. 2009. SAT-Based Analysis of Feature Models is Easy. In SPLC. Software Engineering Institute, 231--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Marcílio Mendonça, Andrzej Wąsowski, Krzysztof Czarnecki, and Donald Cowan. 2008. Efficient Compilation Techniques for Large Scale Feature Models. In GPCE. ACM, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Shin-ichi Minato. 1993. Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems. In DAC. ACM, 272--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Jeho Oh, Don Batory, Margaret Myers, and Norbert Siegmund. 2017. Finding Near-Optimal Configurations in Product Lines by Random Sampling. In ESEC/FSE. 61--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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.Google ScholarGoogle Scholar
  46. Richard Pohl, Kim Lauenroth, and Klaus Pohl. 2011. A Performance Comparison of Contemporary Algorithmic Approaches for Automated Analysis Operations on Feature Models. In ASE. IEEE, 313--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Andrei Rimsa, Luis Enrique Zárate, and Mark A. J. Song. 2009. Evaluation of Different BDD Libraries to Extract Concepts in FCA - Perspectives and Limitations. In ICCS (LNCS, Vol. 5544). Springer, 367--376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Richard Rudell. 1993. Dynamic Variable Ordering for Ordered Binary Decision Diagrams. In ICCAD. IEEE, 42--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Sergio Segura. 2008. Automated Analysis of Feature Models Using Atomic Sets. In SPLC, Vol. 2. IEEE, 201--207.Google ScholarGoogle Scholar
  50. Steven She and Thorsten Berger. 2010. Formal Semantics of the Kconfig Language. Technical Report. University of Waterloo.Google ScholarGoogle Scholar
  51. Steven She, Uwe Ryssel, Nele Andersen, Andrzej Wasowski, and Krzysztof Czarnecki. 2014. Efficient Synthesis of Feature Models. IST 56, 9 (2014), 1122--1143.Google ScholarGoogle Scholar
  52. Fabio Somenzi. 2005. CUDD: User's Manual.Google ScholarGoogle Scholar
  53. Chico Sundermann, Kevin Feichtinger, Dominik Engelhardt, Rick Rabiser, and Thomas Thüm. 2021. Yet Another Textual Variability Language? A Community Effort Towards a Unified Language. In SPLC. ACM. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Chico Sundermann, Michael Nieke, Paul Maximilian Bittner, Tobias Heß, Thomas Thüm, and Ina Schaefer. 2021. Applications of #SAT Solvers on Feature Models. In VaMoS. ACM, Article 12, 10 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Chico Sundermann, Thomas Thüm, and Ina Schaefer. 2020. Evaluating #SAT Solvers on Industrial Feature Models. In VaMoS. ACM, Article 3, 9 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Reinhard Tartler, Christian Dietrich, Julio Sincero, Wolfgang Schröder-Preikschat, and Daniel Lohmann. 2014. Static Analysis of Variability in System Software: The 90,000 #Ifdefs Issue. In ATC. USENIX Association, 421--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Thomas Thüm. 2020. A BDD for Linux? The Knowledge Compilation Challenge for Variability. In SPLC. ACM, Article 16, 6 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. CSUR 47, 1 (2014), 6:1--6:45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Thomas Thüm, Don Batory, and Christian Kästner. 2009. Reasoning About Edits to Feature Models. In ICSE. IEEE, 254--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Grigori S. Tseytin. 1983. On the Complexity of Derivation in Propositional Calculus. Springer, 466--483.Google ScholarGoogle Scholar
  61. Leslie G Valiant. 1979. The Complexity of Enumeration and Reliability Problems. SICOMP 8, 3 (1979), 410--421.Google ScholarGoogle ScholarCross RefCross Ref
  62. Tom van Dijk, Ernst Moritz Hahn, David N. Jansen, Yong Li, Thomas Neele, Mariëlle Stoelinga, Andrea Turrini, and Lijun Zhang. 2015. A Comparative Study of BDD Packages for Probabilistic Symbolic Model Checking. In SETTA (LNCS, Vol. 9409). Springer, 35--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Tom van Dijk, Jeroen Meijer, Ioannis Filippidis, Alfons Laarman, and Matthias Volk. 2020. https://github.com/trolando/sylvan. Accessed: 2021-03-01.Google ScholarGoogle Scholar
  64. Tom van Dijk and Jaco van de Pol. 2015. Sylvan: Multi-Core Decision Diagrams. In TACAS. Springer, 677--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Bart Veer and John Dallaway. 2017. The eCos Component Writer's Guide. Manual. Available online at http://ecos.sourceware.org/ecos/docs-3.0/pdf/ecos-3.0-cdl-guide-a4.pdf; visited on May 10th, 2017.Google ScholarGoogle Scholar
  66. Alexander von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger. 2015. Presence-Condition Simplification in Highly Configurable Systems. In ICSE. IEEE, 178--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. John Whaley. 2007. JavaBDD. http://javabdd.sourceforge.net/. Accessed: 2021-04-21.Google ScholarGoogle Scholar
  68. Tianhua Xu, Haifeng Wang, Tangming Yuan, and MengChu Zhou. 2016. BDD-Based Synthesis of Fail-Safe Supervisory Controllers for Safety-Critical Discrete Event Systems. ITS 17, 9 (2016), 2385--2394.Google ScholarGoogle Scholar

Index Terms

  1. On the scalability of building binary decision diagrams for current feature models

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SPLC '21: Proceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A
      September 2021
      239 pages
      ISBN:9781450384698
      DOI:10.1145/3461001

      Copyright © 2021 ACM

      Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 6 September 2021

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper

      Acceptance Rates

      Overall Acceptance Rate167of463submissions,36%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader