A Comparative Study of BDD Packages for Probabilistic Symbolic Model Checking

  • Tom van Dijk
  • Ernst Moritz Hahn
  • David N. Jansen
  • Yong Li
  • Thomas Neele
  • Mariëlle Stoelinga
  • Andrea TurriniEmail author
  • Lijun Zhang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9409)


Symbolic data structures using Binary Decision Diagrams (BDDs) have been successfully used in the last decades to analyse large systems. While various BDD and MTBDD packages have been developed in the community, the CUDD package remains the default choice of most of the symbolic (probabilistic) model checkers. In this paper, we provide the first comparative study of the performance of various BDD/MTBDD packages for this purpose. We provide experimental results for several well-known probabilistic benchmarks and study the effect of several optimisations. Our experiments show that no BDD package dominates on a single core, but that parallelisation yields significant speedups.


Model Check Markov Decision Process Garbage Collection Binary Decision Diagram Symbolic Model Check 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akers, S.B.: Binary decision diagrams. IEEE Trans. on Computers 27, 509–516 (1978)CrossRefzbMATHGoogle Scholar
  2. 2.
    Andersen, H.R.: An introduction to binary decision diagrams. Course Notes on the WWW (1997)Google Scholar
  3. 3.
    Babar, J., Miner, A.: Meddly: Multi-terminal and edge-valued decision diagram library. In: QEST, pp. 195–196. IEEE Comp. Soc., Los Alamitos (2010)Google Scholar
  4. 4.
    Bahar, R.I., Frohm, E.A., Gaona, C.M., Hachtel, G.D., Macii, E., Pardo, A., Somenzi, F.: Algebraic decision diagrams and their applications. In: ICCAD, pp. 188–191. IEEE Comp. Soc., Los Alamitos (1993)Google Scholar
  5. 5.
    Baier, C., Clarke, E.M., Hartonas-Garmhausen, V., Kwiatkowska, M., Ryan, M.: Symbolic model checking for probabilistic processes. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256, pp. 430–440. Springer, Heidelberg (1997)Google Scholar
  6. 6.
    Baier, C., Hahn, E.M., Haverkort, B.R., Hermanns, H., Katoen, J.-P.: Model checking for performability. MSCS 23(4), 751–795 (2013)MathSciNetzbMATHGoogle Scholar
  7. 7.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  8. 8.
    Biere, A.: ABCD.
  9. 9.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Trans. on Computers 100(8), 677–691 (1986)CrossRefzbMATHGoogle Scholar
  10. 10.
    Burch, J., Clarke, E., McMillan, K., Dill, D., Hwang, L.: Symbolic model checking: \(10^{20}\) states and beyond. I&C 98(2), 142–170 (1992)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Chaum, D.: The dining cryptographers problem: Unconditional sender and recipient untraceability. J. of Cryptology 1(1), 65–75 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Clarke, E.M., Fujita, M., McGeer, P.C., McMillan, K., Yang, J. C.-Y., Zhao, X.: Multi-terminal binary decision diagrams: An efficient data structure for matrix representation. In: IWLS (1993).
  13. 13.
    Cohen, H., Whaley, J., Wildt, J., Gorogiannis, N.: BuDDy.
  14. 14.
    de Alfaro, L., Kwiatkowska, M., Norman, G., Parker, D., Segala, R.: Symbolic model checking of probabilistic processes using MTBDDs and the Kronecker representation. In: Graf, S. (ed.) TACAS 2000. LNCS, vol. 1785, pp. 395–410. Springer, Heidelberg (2000) CrossRefGoogle Scholar
  15. 15.
    Duflot, M., Fribourg, L., Picaronny, C.: Randomized dining philosophers without fairness assumption. Distributed Computing 17(1), 65–76 (2004)CrossRefGoogle Scholar
  16. 16.
    Fujita, M., McGeer, P.C., Yang, J.C.-Y.: Multi-terminal binary decision diagrams: An efficient data structure for matrix representation. FMSD 10(2–3), 149–169 (1997)Google Scholar
  17. 17.
    Hahn, E.M., Li, Y., Schewe, S., Turrini, A., Zhang, L.: IscasMC: a web-based probabilistic model checker. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 312–317. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  18. 18.
    Haverkort, B.R., Hermanns, H., Katoen, J.-P.: On the use of model checking techniques for dependability evaluation. In: SRDS, pp. 228–237 (2000)Google Scholar
  19. 19.
    Hermanns, H., Kwiatkowska, M., Norman, G., Parker, D., Siegle, M.: On the use of MTBDDs for performability analysis and verification of stochastic systems. J. of Logic and Algebraic Programming 56(1–2), 23–67 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    IEEE 802.3-2002. Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Standard (2002)Google Scholar
  21. 21.
    Itai, A., Rodeh, M.: Symmetry breaking in distributed networks. I&C 88(1), 60–87 (1990)MathSciNetzbMATHGoogle Scholar
  22. 22.
    Janssen, G.: The Eindhoven BDD package.
  23. 23.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  24. 24.
    Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell System Technical Journal 38(4), 985–999 (1959)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Lovato, A., Macedonio, D., Spoto, F.: A thread-safe library for binary decision diagrams. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 35–49. Springer, Heidelberg (2014) Google Scholar
  26. 26.
    Lv, G., Su, K., Xu, Y.: CacBDD: A BDD package with dynamic cache management. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 229–234. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  27. 27.
    McMillan, K.L.: Symbolic model checking. Springer (1993)Google Scholar
  28. 28.
    Meolic, R.: Biddy a multi-platform academic bdd package. J. of Software, 7(6) (2012)Google Scholar
  29. 29.
    Milvang-Jensen, K., Hu, A.J.: BDDNOW: a parallel BDD package. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 501–507. Springer, Heidelberg (1998) CrossRefGoogle Scholar
  30. 30.
    Model Checking Group at Carnegie Mellon University: BDD. modelcheck/bdd.html
  31. 31.
  32. 32.
    Ranjan, R.K., Sanghavi, J..: CAL BDD.
  33. 33.
    Somenzi, F.: CUDD: CU decision diagram package release 2.5.0. fabio/CUDD/
  34. 34.
    Stoelinga, M., Vaandrager, F.W.: Root contention in IEEE 1394. In: Katoen, J.-P. (ed.) AMAST-ARTS 1999, ARTS 1999, and AMAST-WS 1999. LNCS, vol. 1601, pp. 53–74. Springer, Heidelberg (1999) CrossRefGoogle Scholar
  35. 35.
    Vahidi, A.: JDD, a pure Java BDD and Z-BDD library.
  36. 36.
    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) Google Scholar
  37. 37.
    Yang, B., Chen, Y., Bryant, R.E., O’Hallaron, D.R.: Space- and time-efficient BDD construction via working set control. In: ASP-DAC, pp. 423–432, IEEE, Piscataway (1998)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Tom van Dijk
    • 1
  • Ernst Moritz Hahn
    • 2
  • David N. Jansen
    • 3
  • Yong Li
    • 2
  • Thomas Neele
    • 1
  • Mariëlle Stoelinga
    • 1
  • Andrea Turrini
    • 2
    Email author
  • Lijun Zhang
    • 2
  1. 1.Formal Methods and ToolsUniversity of TwenteEnschedeThe Netherlands
  2. 2.State Key Laboratory of Computer Science, Institute of SoftwareChinese Academy of SciencesBeijingChina
  3. 3.Model-Based System DevelopmentRadboud UniversiteitNijmegenThe Netherlands

Personalised recommendations