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.
- 2007. http://buddy.sourceforge.net/manual/main.html. Accessed: 2020-03-02.Google Scholar
- 2016. https://github.com/vscosta/cudd. Accessed: 2020-06-13.Google Scholar
- 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 ScholarDigital Library
- Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B. France. 2011. Slicing Feature Models. In ASE. IEEE, 424--427. Google ScholarDigital Library
- 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 ScholarDigital Library
- Mathieu Acher, Patrick Heymans, Philippe Collet, Clément Quinton, Philippe Lahire, and Philippe Merle. 2012. Feature Model Differences. In CAiSE. Springer, 629--645. Google ScholarDigital Library
- 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 ScholarDigital Library
- Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In SPLC. Springer, 7--20. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. TC C-35, 8 (1986), 677--691. Google ScholarDigital Library
- Randal E. Bryant. 2018. Binary Decision Diagrams. In Handbook of Model Checking. Springer, 191--217.Google Scholar
- Stephen A. Cook. 1971. The Complexity of Theorem-Proving Procedures. In STOC. ACM. Google ScholarDigital Library
- Krzysztof Czarnecki and Ulrich Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley. Google ScholarDigital Library
- Adnan Darwiche. 2001. Decomposable Negation Normal Form. J. ACM 48, 4 (2001), 608--647. Google ScholarDigital Library
- Adnan Darwiche. 2002. A Compiler for Deterministic, Decomposable Negation Normal Form. In AAAI. AAAI Press, 627--634. Google ScholarDigital Library
- Adnan Darwiche and Pierre Marquis. 2002. A Knowledge Compilation Map. JAIR 17, 1 (2002), 229--264. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Claudia Fritsch, Richard Abt, and Burkhardt Renz. 2020. The Benefits of a Feature Model in Banking. In SPLC. ACM, Article 9, 11 pages. Google ScholarDigital Library
- Paul Gazzillo. 2017. Kmax: Finding All Configurations of Kbuild Makefiles Statically. In ESEC/FSE. ACM, 279--290. Google ScholarDigital Library
- Paul Gazzillo and Robert Grimm. 2012. SuperC: Parsing All of C by Taming the Preprocessor. In PLDI. ACM, 323--334. Google ScholarDigital Library
- 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 ScholarDigital Library
- Daniel F Gudbjartsson, Thorvaldur Thorvaldsson, Augustine Kong, Gunnar Gunnarsson, and Anna Ingolfsdottir. 2005. Allegro Version 2. Nature Genetics 37, 10 (2005), 1015--1016.Google ScholarCross Ref
- Jesse Hoey, Robert St-Aubin, Alan J. Hu, and Craig Boutilier. 2013. SPUDD: Stochastic Planning Using Decision Diagrams. CoRR (2013).Google Scholar
- Martin Jonáš and Jan Strejček. 2019. Q3B: An Efficient BDD-based SMT Solver for Quantified Bit-Vectors. In CAV. Springer, 64--73.Google Scholar
- 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 ScholarDigital Library
- Chang Hwan Peter Kim and Krzysztof Czarnecki. 2005. Synchronizing Cardinality-Based Feature Models and Their Specializations. In ECMDA. Springer, 331--348. Google ScholarDigital Library
- 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 ScholarDigital Library
- Ondřej Lhoták and Laurie Hendren. 2004. Jedd: A BDD-Based Relational Extension of Java. In PLDI. ACM, 158--169. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Guanfeng Lv, Kaile Su, and Yanyan Xu. 2013. CacBDD: A BDD Package With Dynamic Cache Management. In CAV. Springer, 229--234.Google Scholar
- Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Shin-ichi Minato. 1993. Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems. In DAC. ACM, 272--277. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Richard Rudell. 1993. Dynamic Variable Ordering for Ordered Binary Decision Diagrams. In ICCAD. IEEE, 42--47. Google ScholarDigital Library
- Sergio Segura. 2008. Automated Analysis of Feature Models Using Atomic Sets. In SPLC, Vol. 2. IEEE, 201--207.Google Scholar
- Steven She and Thorsten Berger. 2010. Formal Semantics of the Kconfig Language. Technical Report. University of Waterloo.Google Scholar
- Steven She, Uwe Ryssel, Nele Andersen, Andrzej Wasowski, and Krzysztof Czarnecki. 2014. Efficient Synthesis of Feature Models. IST 56, 9 (2014), 1122--1143.Google Scholar
- Fabio Somenzi. 2005. CUDD: User's Manual.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Chico Sundermann, Thomas Thüm, and Ina Schaefer. 2020. Evaluating #SAT Solvers on Industrial Feature Models. In VaMoS. ACM, Article 3, 9 pages. Google ScholarDigital Library
- 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 ScholarDigital Library
- Thomas Thüm. 2020. A BDD for Linux? The Knowledge Compilation Challenge for Variability. In SPLC. ACM, Article 16, 6 pages. Google ScholarDigital Library
- 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 ScholarDigital Library
- Thomas Thüm, Don Batory, and Christian Kästner. 2009. Reasoning About Edits to Feature Models. In ICSE. IEEE, 254--264. Google ScholarDigital Library
- Grigori S. Tseytin. 1983. On the Complexity of Derivation in Propositional Calculus. Springer, 466--483.Google Scholar
- Leslie G Valiant. 1979. The Complexity of Enumeration and Reliability Problems. SICOMP 8, 3 (1979), 410--421.Google ScholarCross Ref
- 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 ScholarDigital Library
- Tom van Dijk, Jeroen Meijer, Ioannis Filippidis, Alfons Laarman, and Matthias Volk. 2020. https://github.com/trolando/sylvan. Accessed: 2021-03-01.Google Scholar
- Tom van Dijk and Jaco van de Pol. 2015. Sylvan: Multi-Core Decision Diagrams. In TACAS. Springer, 677--691. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- John Whaley. 2007. JavaBDD. http://javabdd.sourceforge.net/. Accessed: 2021-04-21.Google Scholar
- 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 Scholar
Index Terms
- On the scalability of building binary decision diagrams for current feature models
Recommendations
Constraint Diagrams: A Step Beyond UML
TOOLS '99: Proceedings of the Technology of Object-Oriented Languages and SystemsThe Unified Modeling Language (UML) is a set of notations for modelling object-oriented systems. It has become the de facto standard. Most of its notations are diagrammatic. An exception to this is the Object Constraint Language (OCL) which is ...
Timed binary decision diagrams
ICCD '97: Proceedings of the 1997 International Conference on Computer Design (ICCD '97)The paper presents an extension to OBDDs with timing information, called timed binary decision diagrams (TBDDs). TBDDs are also canonical and allow the symbolic manipulation of Boolean functions with timing information. A TBDD software package is ...
A mapping language from models to DI diagrams
MoDELS'06: Proceedings of the 9th international conference on Model Driven Engineering Languages and SystemsThe OMG MOF 2.0 standard is used to define the abstract syntax of software modeling languages while the UML 2.0 Diagram Interchange (DI) describes the concrete syntax of models. However, very few tools support the DI standard, leading to ...
Comments