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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Our implementation’s source code is available at https://doi.org/10.5281/zenodo.3940936.
- 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.
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.
The benchmarks are available at https://github.com/utwente-fmt/BW-NFM2016.
- 5.
Again, the implementation is available at https://doi.org/10.5281/zenodo.3940936.
References
Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)
McMillan, K.L.: Symbolic model checking: an approach to the state explosion problem. Ph.d. thesis. UMI No. GAX92-24209 (1992)
Darwiche, A., Marquis, P.: A knowledge compilation map. J. Artif. Intell. Res. 17, 229–264 (2002)
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
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
Van den Broeck, G., Darwiche, A.: On the role of canonicity in knowledge compilation. In: Twenty-Ninth AAAI Conference on Artificial Intelligence (2015)
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
Livshits, B., et al.: In defense of soundiness: a manifesto. Commun. ACM 58(2), 44–46 (2015)
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
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)
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)
Minato, S.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: 30th ACM/IEEE Design Automation Conference, pp. 272–277. IEEE (1993)
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)
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
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
Nishino, M., Yasuda, N., Minato, S., Nagata, M.: Zero-suppressed sentential decision diagrams. In: Thirtieth AAAI Conference on Artificial Intelligence (2016)
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)
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)
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)
Bova, S.: SDDs are exponentially more succinct than OBDDs. In: Thirtieth AAAI Conference on Artificial Intelligence (2016)
Choi, A., Darwiche, A.: Dynamic minimization of sentential decision diagrams. In: Twenty-Seventh AAAI Conference on Artificial Intelligence (2013)
UCLA Automated Reasoning Group. The SDD package (2018). http://reasoning.cs.ucla.edu/sdd/
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
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
Holzmann, G.J.: The model checker SPIN. IEEE TSE 23, 279–295 (1997)
Pnueli, A.L The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science (SFCS 1977), pp. 46–57. IEEE (1977)
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
Kozen, D.: Results on the propositional \(\mu \)-calculus. Theor. Comput. Sci. 27(3), 333–354 (1983)
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
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
Cuthill, E., McKee, J.: Reducing the bandwidth of sparse symmetric matrices. In: Proceedings of the 1969 24th National Conference, pp. 157–172. ACM (1969)
Sloan, S.W.: A fortran program for profile and wavefront reduction. Int. J. Numer. Meth. Eng. 28(11), 2651–2679 (1989)
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)
Rice, M., Kulhari, S.: A survey of static variable ordering heuristics for efficient BDD/MDD construction. University of California, Technical report (2008)
Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)
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
Oztok, U., Darwiche, A.: CV-width: a new complexity parameter for CNFs. In: ECAI, pp. 675–680 (2014)
Arnborg, S., Corneil, D.G., Proskurowski, A.: Complexity of finding embeddings in AK-tree. SIAM J. Algebraic Discrete Methods 8(2), 277–284 (1987)
Yu, W., Austrin, P., Pitassi, T., Liu, D.: Inapproximability of treewidth and related problems. J. Artif. Intell. Res. 49, 569–600 (2014)
Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput. 25(6), 1305–1317 (1996)
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
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
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
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).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)