Using Extended Logical Primitives for Efficient BDD Building
Abstract
:1. Introduction
2. Related Work
- Viewer requires Reflective Data Structure
- Execute Tests requires Deploy Tests
- Authorization requires Authentication
- {Test, ¬Deploy Tests, ¬Execute Tests}
- {Test, Deploy Tests, ¬Execute Tests}
- {Test, Deploy Tests, Execute Tests}
3. Translating FMs to Extended Propositional Logic
3.1. FODA
- Every feature f, except the root feature, has a parent feature p, and the child must imply the parent:
- in the case of a mandatory feature, f, the parent, p, also implies the child:
- in the case of an Or group of n features, at least one of the features is selected. For , , …:
- in the case of an XOR group of n features, exactly one of the features is true and the others are false. For , , …:
- The cross-tree constraints need not be translated, as they are already in logical format.
3.2. Kconfig
4. Building BDDs for Extended Logic
Algorithm 1: Direct construction of the BDD for an XOR primitive |
Algorithm 2: Direct construction of the BDD for primitive |
5. Experimental Validation
5.1. Research Questions
- RQ1: Boolean formula size-reduction. Does extended logic decrease the Boolean formula number of clauses in practice?
- RQ2: Time for obtaining extended logic formulas. How much time does it take to translate an input model into a Boolean formula with extended logic compared to the non-extended logic translation?
- RQ3: BDD synthesis time. Does extended logic reduce BDD build time in practice?
5.2. Experimental Setup
5.3. Results
5.3.1. Boolean Formula Size-Reduction (RQ1)
5.3.2. Time for Obtaining Extended Logic Formulas (RQ2)
5.3.3. BDD Synthesis Time (RQ3)
6. Conclusions and Future Work
Author Contributions
Funding
Conflicts of Interest
References
- Bryant, R.E. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput. 1986, 35, 677–691. [Google Scholar] [CrossRef] [Green Version]
- Cook, S.A. The complexity of theorem-proving procedures. In Proceedings of the Third Annual ACM Symposium on Theory of Computing, Shaker Heights, OH, USA, 3–5 May 1971; ACM: New York, NY, USA, 1971; pp. 151–158. [Google Scholar]
- Bollig, B.; Wegener, I. Improving the Variable Ordering of OBDDs is NP-Complete. IEEE Trans. Comput. 1996, 45, 993–1002. [Google Scholar] [CrossRef]
- Kang, K.; Cohen, S.; Hess, J.; Novak, W.; Peterson, S. Feature-Oriented Domain Analysis (FODA) Feasibility Study; Technical Report CMU/SEI-90-TR-21; Software Engineering Institute: Pittsburgh, PA, USA, 1990. [Google Scholar]
- Mendonca, M.; Wasowski, A.; Czarnecki, K. SAT-based Analysis of Feature Models is Easy. In Proceedings of the 13th International Software Product Line Conference, San Francisco, CA, USA, 24–28 August 2009; pp. 231–240. [Google Scholar]
- Perez-Morago, H.; Heradio, R.; Fernandez-Amoros, D.; Bean, R.; Cerrada, C. Efficient Identification of Core and Dead Features in Variability Models. IEEE Access 2015, 3, 2333–2340. [Google Scholar] [CrossRef] [Green Version]
- Heradio, R.; Fernandez-Amoros, D.; Mayr-Dorn, C.; Egyed, A. Supporting the Statistical Analysis of Feature Models. In Proceedings of the IEEE/ACM 41st International Conference on Software Engineering, Montreal, QC, Canada, 25–31 May 2019; pp. 843, 853. [Google Scholar]
- Zaid, L.A.; Kleinermann, F.; De Troyer, O. Applying Semantic Web Technology to Feature Modeling. In Proceedings of the 2009 ACM Symposium on Applied Computing, Honolulu, HI, USA, 9–12 March 2009; ACM: New York, NY, USA, 2009; pp. 1252–1256. [Google Scholar]
- Bachmeyer, R.C.; Delugach, H.S. A conceptual graph approach to feature modeling. In Proceedings of the International Conference on Conceptual Structures, Sheffield, UK, 22–27 July 2007; Springer: Berlin, Germany, 2007; pp. 179–191. [Google Scholar]
- Benavides, D.; Trinidad, P.; Cortés, A.R. Using Constraint Programming to Reason on Feature Models. In Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering, SEKE, Taipei, Taiwan, 14–16 July 2005; pp. 677–682. [Google Scholar]
- Fernandez-Amoros, D.; Heradio, R.; Cerrada, J.A. Inferring Information from Feature Diagrams to Product Line Economic Models. In Proceedings of the 13th International Software Product Line Conference, San Francisco, CA, USA, 24–28 August 2009; Carnegie Mellon University: Pittsburgh, PA, USA, 2009. [Google Scholar]
- Hemakumar, A. Finding Contradictions in Feature Models. In Proceedings of the Software Product Lines, 12th International Conference, SPLC, Limerick, Ireland, 8–12 September 2008; Second Volume (Workshops), pp. 183–190. [Google Scholar]
- Kastner, C.; Apel, S.; Batory, D. A Case Study Implementing Features Using AspectJ. In Proceedings of the 11th International Software Product Line Conference (SPLC 2007), Tokyo, Japan, 10–14 January 2007; pp. 23–232. [Google Scholar] [CrossRef]
- Mannion, M. Using First-Order Logic for Product Line Model Validation. In Proceedings of the Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, 19–22 August 2002; pp. 176–187. [Google Scholar] [CrossRef]
- Mendonça, M.; Wasowski, A.; Czarnecki, K.; Cowan, D.D. Efficient compilation techniques for large scale feature models. In Proceedings of the Generative Programming and Component Engineering, 7th International Conference, GPCE, Nashville, TN, USA, 19–23 October 2008; pp. 13–22. [Google Scholar] [CrossRef] [Green Version]
- Plazar, Q.; Acher, M.; Perrouin, G.; Devroey, X.; Cordy, M. Uniform Sampling of SAT Solutions for Configurable Systems: Are We There Yet? In Proceedings of the Validation and Verification (ICST), 12th IEEE Conference Software Testing, San Francisco, CA, USA, 4–9 April 2019; pp. 240–251. [Google Scholar] [CrossRef]
- Bartlett, L.M.; Andrews, J.D. Choosing a heuristic for the "fault tree to binary decision diagram" conversion, using neural networks. IEEE Trans. Reliab. 2002, 51, 344–349. [Google Scholar] [CrossRef]
- Jung, W.S.; Han, S.H.; Ha, J. A fast BDD algorithm for large coherent fault trees analysis. Reliab. Eng. Syst. Saf. 2004, 83, 369–374. [Google Scholar] [CrossRef]
- Remenyte, R.; Andrews, J.D. A Simple Component Connection Approach for Fault Tree Conversion to Binary Decision Diagram. In Proceedings of the The First International Conference on Availability, Reliability and Security, ARES 2006, the International Dependability Conference—Bridging Theory and Practice, Vienna, Austria, 20–22 April 2006; pp. 449–457. [Google Scholar] [CrossRef]
- Deng, Y.; Wang, H.; Guo, B. BDD algorithms based on modularization for fault tree analysis. Prog. Nucl. Energy 2015, 85, 192–199. [Google Scholar] [CrossRef]
- Bitner, J.R.; Jain, J.; Abadir, M.S.; Abraham, J.A.; Fussell, D.S. Efficient Algorithmic Circuit Verification Using Indexed BDDs. In Proceedings of the Digest of Papers: FTCS/24, the Twenty-Fourth Annual International Symposium on Fault-Tolerant Computing, Austin, TX, USA, 15–17 June 1994; pp. 266–275. [Google Scholar] [CrossRef]
- van Eijk, C.A.J. A BDD-based verification method for large synthesized circuits. Integration 1997, 23, 131–149. [Google Scholar] [CrossRef]
- Scholl, C.; Möller, D.; Molitor, P.; Drechsler, R. BDD minimization using symmetries. IEEE Trans. CAD Integr. Circuits Syst. 1999, 18, 81–100. [Google Scholar] [CrossRef]
- Drechsler, R.; Drechsler, N.; Günther, W. Fast exact minimization of BDD’s. IEEE Trans. CAD Integr. Circuits Syst. 2000, 19, 384–389. [Google Scholar] [CrossRef]
- Aloul, F.A.; Markov, I.L.; Sakallah, K.A. Efficient Gate and Input Ordering for Circuit-to-BDD Conversion. In Proceedings of the 11th IEEE/ACM International Workshop on Logic & Synthesis, IWLS 2002, New Orleans, LA, USA, 4–7 June 2002; pp. 137–142. [Google Scholar]
- Fey, G.; Shi, J.; Drechsler, R. BDD Circuit Optimization for Path Delay Fault Testability. In Proceedings of the Euromicro Symposium on Digital Systems Design (DSD 2004), Architectures, Methods and Tools, Rennes, France, 31 August–3 September 2004; pp. 168–172. [Google Scholar] [CrossRef]
- Ebendt, R.; Günther, W.; Drechsler, R. Combining ordered best-first search with branch and bound for exact BDD minimization. IEEE Trans. CAD Integr. Circuits Syst. 2005, 24, 1515–1529. [Google Scholar] [CrossRef]
- Fey, G.; Drechsler, R. Minimizing the number of paths in BDDs: Theory and algorithm. IEEE Trans. CAD Integr. Circuits Syst. 2006, 25, 4–11. [Google Scholar] [CrossRef]
- Ebendt, R.; Drechsler, R. Effect of improved lower bounds in dynamic BDD reordering. IEEE Trans. CAD Integr. Circuits Syst. 2006, 25, 902–909. [Google Scholar] [CrossRef]
- Dinh, Q.; Chen, D.; Wong, M.D.F. BDD-based circuit restructuring for reducing dynamic power. In Proceedings of the 28th International Conference on Computer Design, ICCD 2010, Amsterdam, The Netherlands, 3–6 October 2010; pp. 548–554. [Google Scholar] [CrossRef] [Green Version]
- Ubar, R.; Marenkov, M.; Mironov, D.; Viies, V. Modeling sequential circuits with shared structurally synthesized BDDs. In Proceedings of the 9th International Design and Test Symposium, IDT 2014, Algeries, Algeria, 16–18 December 2014; pp. 130–135. [Google Scholar] [CrossRef]
- Rauchenecker, A.; Wille, R. An efficient physical design of fully-testable BDD-based circuits. In Proceedings of the 20th IEEE International Symposium on Design and Diagnostics of Electronic Circuits & Systems, DDECS 2017, Dresden, Germany, 19–21 April 2017; pp. 6–11. [Google Scholar] [CrossRef]
- Ubar, R.; Jürimägi, L.; Adekoya, A.O.; Jenihhin, M. True Path Tracing in Structurally Synthesized BDDs for Testability Analysis of Digital Circuits. In Proceedings of the 22nd Euromicro Conference on Digital System Design, DSD 2019, Kallithea, Greece, 28–30 August 2019; pp. 492–499. [Google Scholar] [CrossRef]
- Matsuo, R.; Shiomi, J.; Ishihara, T.; Onodera, H.; Shinya, A.; Notomi, M. Methods for Reducing Power and Area of BDD-based Optical Logic Circuits. IEICE Trans. 2019, 102-A, 1751–1759. [Google Scholar] [CrossRef]
- Narodytska, N.; Walsh, T. Constraint and Variable Ordering Heuristics for Compiling Configuration Problems. In Proceedings of the International Joint Conference on Artifical Intelligence, Hyderabad, India, 6–12 January 2007; pp. 149–154. [Google Scholar]
- Trinidad, P.; Benavides, D.; Ruiz-Cortes, A.; Segura, S.; Jimenez, A. FAMA Framework. In Proceedings of the Software Product Line Conference, Limerick, Ireland, 8–12 September 2008; p. 359. [Google Scholar]
- Mendonça, M. Efficient Reasoning Techniques for Large Scale Feature Models. Ph.D. Thesis, University of Waterloo, Waterloo, ON, Canada, 2009. [Google Scholar]
- Czarnecki, K.; She, S.; Wasowski, A. Sample Spaces and Feature Models: There and Back Again. In Proceedings of the 12th International Software Product Line Conference, Limerick, Ireland, 8–12 September 2008; pp. 22–31. [Google Scholar] [CrossRef] [Green Version]
- Classen, A.; Heymans, P.; Schobbens, P.; Legay, A. Symbolic model checking of software product lines. In Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Honolulu, HI, USA, 21–28 May 2011; pp. 321–330. [Google Scholar] [CrossRef] [Green Version]
- Heradio, R.; Fernandez-Amoros, D.; Torre-Cubillo, L.; Garcia-Plaza, A.P. Improving the accuracy of COPLIMO to estimate the payoff of a software product line. Expert Syst. Appl. 2012, 39, 7919–7928. [Google Scholar] [CrossRef]
- Heradio, R.; Fernandez-Amoros, D.; de la Torre, L.; Abad, I. Exemplar driven development of software product lines. Expert Syst. Appl. 2012, 39, 12885–12896. [Google Scholar] [CrossRef] [Green Version]
- Beyer, D.; Stahlbauer, A. BDD-Based Software Model Checking with CPAchecker. In Proceedings of the Mathematical and Engineering Methods in Computer Science, 8th International Doctoral Workshop, MEMICS 2012, Znojmo, Czech Republic, 25–28 October 2012; Revised Selected Papers. pp. 1–11. [Google Scholar] [CrossRef] [Green Version]
- Heradio, R.; Fernandez-Amoros, D.; Perez-Morago, H.; Adan, A. Speeding up Derivative Configuration from Product Platforms. Entropy 2014, 16, 3329–3356. [Google Scholar] [CrossRef] [Green Version]
- Apel, S.; von Rhein, A.; Wendler, P.; Größlinger, A.; Beyer, D. Strategies for product-line verification: Case studies and experiments. In Proceedings of the 35th International Conference on Software Engineering, ICSE ’13, San Francisco, CA, USA, 18–26 May 2013; pp. 482–491. [Google Scholar] [CrossRef] [Green Version]
- Heradio, R.; Perez-Morago, H.; Alferez, M.; Fernandez-Amoros, D.; Alferez, G.H. Augmenting measure sensitivity to detect essential, dispensable and highly incompatible features in mass customization. Eur. J. Oper. Res. 2016, 248, 1066–1077. [Google Scholar] [CrossRef]
- Aloul, F.A.; Markov, I.L.; Sakallah, K.A. FORCE: A fast and easy-to-implement variable-ordering heuristic. In Proceedings of the 13th ACM Great Lakes Symposium on VLSI 2003, Washington, DC, USA, 28–29 April 2003; pp. 116–119. [Google Scholar] [CrossRef]
- Aloul, F.A.; Markov, I.L.; Sakallah, K.A. MINCE: A Static Global Variable-Ordering Heuristic for SAT Search and BDD Manipulation. J. UCS 2004, 10, 1562–1596. [Google Scholar] [CrossRef]
- Meinel, C.; Somenzi, F.; Theobald, T. Function Decomposition and Synthesis Using Linear Sifting. In Proceedings of the ASP-DAC ’98, Asia and South Pacific Design Automation Conference 1998, Pacifico Yokohama, Yokohama, Japan, 10–13 February 1998; pp. 81–86. [Google Scholar] [CrossRef]
- Rudell, R. Dynamic Variable Ordering for Ordered Binary Decision Diagrams. In The Best of ICCAD: 20 Years of Excellence in Computer-Aided Design; Springer: Boston, MA, USA, 2003; pp. 51–63. [Google Scholar] [CrossRef]
- Benavides, D.; Segura, S.; Ruiz-Cortes, A. Automated analysis of feature models 20 years later: A literature review. Inf. Syst. 2010, 35, 615–636. [Google Scholar] [CrossRef] [Green Version]
- Fernandez-Amoros, D.; Heradio, R.; Cerrada, J.A.; Cerrada, C. A scalable approach to exact model and commonality counting for extended feature models. IEEE Trans. Softw. Eng. 2014, 40, 895–910. [Google Scholar] [CrossRef] [Green Version]
- Heradio, R.; Perez-Morago, H.; Fernandez-Amoros, D.; Cabrerizo, F.J.; Herrera-Viedma, E. A bibliometric analysis of 20 years of research on software product lines. Inf. Softw. Technol. 2016, 72, 1–15. [Google Scholar] [CrossRef]
- Berger, T.; She, S.; Lotufo, R.; Wasowski, A.; Czarnecki, K. A Study of Variability Models and Languages in the Systems Software Domain. IEEE Trans. Softw. Eng. 2013, 39, 1611–1640. [Google Scholar] [CrossRef] [Green Version]
- Biere, A.; Le Berre, D.; Lonca, E.; Manthey, N. Detecting Cardinality Constraints in CNF. In Theory and Applications of Satisfiability Testing—SAT 2014; Sinz, C., Egly, U., Eds.; Springer International Publishing: Cham, Switzeland, 2014; pp. 285–301. [Google Scholar]
- She, S.; Berger, T. Formal Semantics of the Kconfig Language; Technical Report; University of Waterloo: Waterloo, ON, Canada, 2010. [Google Scholar]
- She, S. Feature Model Synthesis. Ph.D. Thesis, University of Waterloo, Waterloo, ON, Canada, 2013. [Google Scholar]
- Berger, T.; She, S.; Lotufo, R.; Wąsowski, A.; Czarnecki, K. Variability modeling in the real: A perspective from the operating systems domain. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, Antwerp, Belgium, 20–24 September 2010; ACM, IEEE: Lawrence, KS, USA, 2010; pp. 73–82. [Google Scholar]
- Zengler, C.; Küchlin, W. Encoding the Linux kernel configuration in propositional logic. In Proceedings of the 19th European Conference on Artificial Intelligence (ECAI 2010) Workshop on Configuration, Lisbon, Portugal, 16–20 August 2010; IOS Press: Amsterdam, The Netherlands, 2010; Volume 2010, pp. 51–56. [Google Scholar]
- Walch, M.; Walter, R.; Küchlin, W. Formal Analysis of the Linux Kernel Configuration with SAT Solving. In Proceedings of the 17th International Configuration Workshop, Vienna, Austria, 10–11 September 2015; University of Helsinki: Helsinki, Finland, 2015; pp. 131–137. [Google Scholar]
- Fernandez-Amoros, D.; Heradio, R.; Cerrada, C.; Herrera-Viedma, E.; Cobo Manuel, J. Towards Taming Variability Models in the Wild. In New Trends in Intelligent Software Methodologies, Tools and Techniques, Proceedings of the 16th International Conference SoMeT_17, Granada, Spain, 26–28 September 2017; IOS Press: Amsterdam, The Netherlands, 2017; Volume 297, p. 454. [Google Scholar]
- Kästner, C. Differential Testing for Variational Analyses: Experience from Developing KConfigReader. arXiv 2017, arXiv:1706.09357. [Google Scholar]
- Brace, K.S.; Rudell, R.L.; Bryant, R.E. Efficient Implementation of a BDD Package. In Proceedings of the 27th ACM/IEEE Design Automation Conference, Orlando, FL, USA, 24–28 June 1990; pp. 40–45. [Google Scholar] [CrossRef]
- Krieter, S.; Thüm, T.; Schulze, S.; Schröter, R.; Saake, G. Propagating Configuration Decisions with Modal Implication Graphs. In Proceedings of the 40th International Conference on Software Engineering, ICSE ’18, Gothenburg, Sweden, 17 May–3 June 2018; ACM: New York, NY, USA, 2018; pp. 898–909. [Google Scholar] [CrossRef]
- Nohrer, A.; Egyed, A. Optimizing user guidance during decision-making. In Proceedings of the IEEE 15th International Software Product Line Conference, Munich, Germany, 22–26 August 2011; pp. 25–34. [Google Scholar]
System | #Features | #XOR-Groups |
---|---|---|
Toybox | 10 | 0 |
axTLS | 64 | 6 |
DellSPLOT | 118 | 13 |
Fiasco | 122 | 18 |
Clibc | 303 | 27 |
BusyBox | 604 | 8 |
EmbToolKit | 2325 | 130 |
Automotive02 | 17,365 | 1161 |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Fernandez-Amoros, D.; Bra, S.; Aranda-Escolástico, E.; Heradio, R. Using Extended Logical Primitives for Efficient BDD Building. Mathematics 2020, 8, 1253. https://doi.org/10.3390/math8081253
Fernandez-Amoros D, Bra S, Aranda-Escolástico E, Heradio R. Using Extended Logical Primitives for Efficient BDD Building. Mathematics. 2020; 8(8):1253. https://doi.org/10.3390/math8081253
Chicago/Turabian StyleFernandez-Amoros, David, Sergio Bra, Ernesto Aranda-Escolástico, and Ruben Heradio. 2020. "Using Extended Logical Primitives for Efficient BDD Building" Mathematics 8, no. 8: 1253. https://doi.org/10.3390/math8081253
APA StyleFernandez-Amoros, D., Bra, S., Aranda-Escolástico, E., & Heradio, R. (2020). Using Extended Logical Primitives for Efficient BDD Building. Mathematics, 8(8), 1253. https://doi.org/10.3390/math8081253