Skip to main content

Symbolic Model Checking with Sentential Decision Diagrams

  • Conference paper
  • First Online:
Dependable Software Engineering. Theories, Tools, and Applications (SETTA 2020)

Abstract

We demonstrate the viability of symbolic model checking using Sentential Decision Diagrams (SDD), in lieu of the more common Binary Decision Diagram (BDD). The SDD data structure can be up to exponentially more succinct than BDDs, using a generalized notion of variable order called a variable tree (“vtree”). We also contribute to the practice of SDDs, giving a novel heuristic for constructing a vtree that minimizes SDD size in the context of model checking, and identifying which SDD operations form a performance bottleneck.

Experiments on 707 benchmarks, written in various specification languages, show that SDD often use an order of magnitude less memory than BDDs, at the expense of a smaller slowdown in runtime performance.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Our implementation’s source code is available at https://doi.org/10.5281/zenodo.3940936.

  2. 2.

    More precisely, they show that exponential blowups may occur when disjoining two SDDs if the output SDD must obey the same vtree, but it remains an open question whether the blowup is unavoidable when the vtree is allowed to change.

  3. 3.

    While for some specification languages this information has to be estimated using static analysis, there are ways to support dynamic read/write dependencies  [30], but for the sake of simplicity, we do not consider them here.

  4. 4.

    The benchmarks are available at https://github.com/utwente-fmt/BW-NFM2016.

  5. 5.

    Again, the implementation is available at https://doi.org/10.5281/zenodo.3940936.

References

  1. Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)

    Google Scholar 

  2. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)

    Article  Google Scholar 

  3. McMillan, K.L.: Symbolic model checking: an approach to the state explosion problem. Ph.d. thesis. UMI No. GAX92-24209 (1992)

    Google Scholar 

  4. Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)

    Article  MathSciNet  Google Scholar 

  5. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-49059-0_14

    Chapter  Google Scholar 

  6. Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18275-4_7

    Chapter  Google Scholar 

  7. Van den Broeck, G., Darwiche, A.: On the role of canonicity in knowledge compilation. In: Twenty-Ninth AAAI Conference on Artificial Intelligence (2015)

    Google Scholar 

  8. Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_61

    Chapter  Google Scholar 

  9. Livshits, B., et al.: In defense of soundiness: a manifesto. Commun. ACM 58(2), 44–46 (2015)

    Google Scholar 

  10. Requeno, J.I., Colom, J.M.: Compact representation of biological sequences using set decision diagrams. In: Rocha, M., Luscombe, N., Fdez-Riverola, F., Rodríguez, J., (eds.) 6th International Conference on Practical Applications of Computational Biology & Bioinformatics, vol. 154, pp. 231–239. Springer, Berlin, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28839-5_27

  11. Bergman, D., Cire, A.A., van Hoeve, W.-J., Hooker, J.N.: Discrete optimization with decision diagrams. INFORMS J. Comput. 28(1), 47–66 (2016)

    Google Scholar 

  12. Niemann, P., Zulehner, A., Drechsler, R., Wille, R.: Overcoming the trade-off between accuracy and compactness in decision diagrams for quantum computation. IEEE Trans. Comput. Aid. Des. Integr. Circuits Syst. (2020)

    Google Scholar 

  13. Minato, S.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: 30th ACM/IEEE Design Automation Conference, pp. 272–277. IEEE (1993)

    Google Scholar 

  14. van Dijk, T., Wille, R., Meolic, R.: Tagged BDDs: combining reduction rules from different decision diagram types. In: Proceedings of the 17th Conference on Formal Methods in Computer-Aided Design, pp. 108–115. FMCAD Inc. (2017)

    Google Scholar 

  15. Bryant, R.E.: Chain reduction for binary and zero-suppressed decision diagrams. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10805, pp. 81–98. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89960-2_5

    Chapter  Google Scholar 

  16. Babar, J., Jiang, C., Ciardo, G., Miner, A.: Binary decision diagrams with edge-specified reductions. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11428, pp. 303–318. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17465-1_17

    Chapter  Google Scholar 

  17. Nishino, M., Yasuda, N., Minato, S., Nagata, M.: Zero-suppressed sentential decision diagrams. In: Thirtieth AAAI Conference on Artificial Intelligence (2016)

    Google Scholar 

  18. Fang, L., Fang, B., Wan, H., Zheng, Z., Chang, L., Yu, Q.: Tagged sentential decision diagrams: combining standard and zero-suppressed compression and trimming rules (2019)

    Google Scholar 

  19. Nakamura, K., Denzumi, S., Nishino, M.: Variable shift SDD: a more succinct sentential decision diagram. In: Faro, S., Cantone, D., (eds.) 18th International Symposium on Experimental Algorithms (SEA 2020), volume 160 of Leibniz International Proceedings in Informatics (LIPIcs), pp. 22:1–22:13, Dagstuhl, Germany. Schloss Dagstuhl-Leibniz-Zentrum für Informatik (2020)

    Google Scholar 

  20. Darwiche, A.: SDD: a new canonical representation of propositional knowledge bases. In: Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence-Volume, vol. 2, pp. 819–826. AAAI Press (2011)

    Google Scholar 

  21. Bova, S.: SDDs are exponentially more succinct than OBDDs. In: Thirtieth AAAI Conference on Artificial Intelligence (2016)

    Google Scholar 

  22. Choi, A., Darwiche, A.: Dynamic minimization of sentential decision diagrams. In: Twenty-Seventh AAAI Conference on Artificial Intelligence (2013)

    Google Scholar 

  23. UCLA Automated Reasoning Group. The SDD package (2018). http://reasoning.cs.ucla.edu/sdd/

  24. Baranová, Z., Barnat, J., Kejstová, K., Kučera, T., Lauko, H., Mrázek, J., Ročkai, P., Štill, V.: Model Checking of C and C++ with DIVINE 4. In: D’Souza, D., Narayan Kumar, K. (eds.) ATVA 2017. LNCS, vol. 10482, pp. 201–207. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68167-2_14

  25. Kordon, F., et al.: MCC’2017 – the seventh model checking contest. In: Koutny, M., Kristensen, L.M., Penczek, W. (eds.) Transactions on Petri Nets and Other Models of Concurrency XIII. LNCS, vol. 11090, pp. 181–209. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-58381-4_9

    Chapter  Google Scholar 

  26. Holzmann, G.J.: The model checker SPIN. IEEE TSE 23, 279–295 (1997)

    Google Scholar 

  27. Pnueli, A.L The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science (SFCS 1977), pp. 46–57. IEEE (1977)

    Google Scholar 

  28. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0025774

    Chapter  Google Scholar 

  29. Kozen, D.: Results on the propositional \(\mu \)-calculus. Theor. Comput. Sci. 27(3), 333–354 (1983)

    Article  MathSciNet  Google Scholar 

  30. Meijer, J., Kant, G., Blom, S., van de Pol, J.: Read, write and copy dependencies for symbolic model checking. In: Yahav, E. (ed.) HVC 2014. LNCS, vol. 8855, pp. 204–219. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-13338-6_16

    Chapter  Google Scholar 

  31. Meijer, J., van de Pol, J.: Bandwidth and wavefront reduction for static variable ordering in symbolic reachability analysis. In: Rayadurgam, S., Tkachuk, O. (eds.) NFM 2016. LNCS, vol. 9690, pp. 255–271. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-40648-0_20

    Chapter  Google Scholar 

  32. Cuthill, E., McKee, J.: Reducing the bandwidth of sparse symmetric matrices. In: Proceedings of the 1969 24th National Conference, pp. 157–172. ACM (1969)

    Google Scholar 

  33. Sloan, S.W.: A fortran program for profile and wavefront reduction. Int. J. Numer. Meth. Eng. 28(11), 2651–2679 (1989)

    Article  Google Scholar 

  34. Aloul, F., Markov, I., Sakallah, K.: Mince: a static global variable-ordering for sat and BDD. In: International Workshop on Logic and Synthesis, pp. 1167–1172 (2001)

    Google Scholar 

  35. Rice, M., Kulhari, S.: A survey of static variable ordering heuristics for efficient BDD/MDD construction. University of California, Technical report (2008)

    Google Scholar 

  36. Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)

    Google Scholar 

  37. Siminiceanu, R.I., Ciardo, G.: New metrics for static variable ordering in decision diagrams. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 90–104. Springer, Heidelberg (2006). https://doi.org/10.1007/11691372_6

    Chapter  MATH  Google Scholar 

  38. Oztok, U., Darwiche, A.: CV-width: a new complexity parameter for CNFs. In: ECAI, pp. 675–680 (2014)

    Google Scholar 

  39. Arnborg, S., Corneil, D.G., Proskurowski, A.: Complexity of finding embeddings in AK-tree. SIAM J. Algebraic Discrete Methods 8(2), 277–284 (1987)

    Google Scholar 

  40. Yu, W., Austrin, P., Pitassi, T., Liu, D.: Inapproximability of treewidth and related problems. J. Artif. Intell. Res. 49, 569–600 (2014)

    Article  Google Scholar 

  41. Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput. 25(6), 1305–1317 (1996)

    Google Scholar 

  42. Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73370-6_17

    Chapter  Google Scholar 

  43. Kordon, F., et al.: MCC’2015 – the fifth model checking contest. In: Koutny, M., Desel, J., Kleijn, J. (eds.) Transactions on Petri Nets and Other Models of Concurrency XI. LNCS, vol. 9930, pp. 262–273. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53401-4_12

    Chapter  Google Scholar 

  44. van Dijk, T., van de Pol, J.: Sylvan: multi-core decision diagrams. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 677–691. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_60

    Chapter  Google Scholar 

Download references

Acknowledgements

This work is part of the research programme VENI with project number 639.021.649, which is financed by the Netherlands Organisation for Scientific Research (NWO).

figure h

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lieuwe Vinkhuijzen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vinkhuijzen, L., Laarman, A. (2020). Symbolic Model Checking with Sentential Decision Diagrams. In: Pang, J., Zhang, L. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2020. Lecture Notes in Computer Science(), vol 12153. Springer, Cham. https://doi.org/10.1007/978-3-030-62822-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-62822-2_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-62821-5

  • Online ISBN: 978-3-030-62822-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics