BDD-Based Symbolic Model Checking

  • Sagar ChakiEmail author
  • Arie Gurfinkel


Symbolic model checking based on Binary Decision Diagrams (BDDs) is one of the most celebrated breakthroughs in the area of formal verification. It was originally proposed in the context of hardware model checking, and advanced the state of the art in model-checking capability by several orders of magnitude in terms of the sizes of state spaces that could be explored successfully. More recently, it has been extended to the domain of software verification as well, and several BDD-based model checkers for Boolean programs and push-down systems have been developed. In this chapter, we summarize some of the key concepts and techniques that have emerged in this story of successful practical verification.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. 27(6), 509–516 (1978) CrossRefGoogle Scholar
  2. 2.
    Aziz, A., Tasiran, S., Brayton, R.K.: BDD variable ordering for interacting finite state machines. In: Proceedings of the 31st ACM IEEE Design Automation Conference (DAC ’94), pp. 283–288. ACM, San Diego (1994) Google Scholar
  3. 3.
    Ball, T., Rajamani, S.K.: Bebop: a path-sensitive interprocedural dataflow engine. In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE ’01), pp. 97–103. ACM, Snowbird (2001) CrossRefGoogle Scholar
  4. 4.
    Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded Model Checking. Academic Press, San Diego (2003) CrossRefGoogle Scholar
  5. 5.
    Boute, R.T.: The binary decision machine as programmable controller. Euromicro Newsl. 2(1), 16–22 (1976). doi: 10.1016/0303-1268(76)90033-X CrossRefGoogle Scholar
  6. 6.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986) CrossRefGoogle Scholar
  7. 7.
    Burch, J., Clarke, E.M., Long, D.E., McMillan, K., Dill, D.L.: Symbolic model checking for sequential circuit verification. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 13(4), 401–424 (1994) CrossRefGoogle Scholar
  8. 8.
    Burch, J., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. In: Proceedings of the 5th Annual IEEE Symposium on Logic in Computer Science (LICS ’90), pp. 1–33. IEEE, Washington (1990) Google Scholar
  9. 9.
    Cabodi, G., Camurati, P., Quer, S.: Improving symbolic traversals by means of activity profiles. In: Proceedings of the 36th ACM IEEE Design Automation Conference (DAC ’99), pp. 306–311. ACM, New Orleans (1999) Google Scholar
  10. 10.
    Cabodi, G., Camurati, P., Quer, S.: Improving the efficiency of BDD-based operators by means of partitioning. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 18(5), 545–556 (1999) CrossRefGoogle Scholar
  11. 11.
    Cabodi, G., Loiacono, C., Palena, M., Pasini, P., Patti, D., Quer, S., Vendraminetto, D., Biere, A., Heljanko, K.: Hardware model checking competition 2014: an analysis and comparison of model checkers and benchmarks. J. Satisf. Boolean Model. Comput. 9, 135–172 (2015) MathSciNetGoogle Scholar
  12. 12.
    Cho, H., Hachtel, G.D., Macii, E., Plessier, B., Somenzi, F.: Algorithms for approximate FSM traversal based on state space decomposition. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 15(12), 1465–1478 (1996) CrossRefGoogle Scholar
  13. 13.
    Cimatti, A., Clarke, E.M., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) Proceedings of the 14th International Conference on Computer Aided Verification (CAV ’02). LNCS, vol. 2404, pp. 359–364. Springer, Copenhagen (2002) CrossRefGoogle Scholar
  14. 14.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986) CrossRefGoogle Scholar
  15. 15.
    Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another look at LTL model checking. Form. Methods Syst. Des. 10(1), 47–71 (1997) CrossRefGoogle Scholar
  16. 16.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000) Google Scholar
  17. 17.
    Coudert, O., Berthet, C., Madre, J.C.: Verification of synchronous sequential machines based on symbolic execution. In: Sifakis, J. (ed.) Automatic Verification Methods for Finite State Systems. LNCS, vol. 407, pp. 365–373. Springer, Grenoble (1989) CrossRefGoogle Scholar
  18. 18.
    Hojati, R., Krishnan, S.C., Brayton, R.K.: Early quantification and partitioned transition relations. In: Proceedings of the 1996 International Conference on Computer Design: VLSI in Computers and Processors (ICCD ’96), pp. 12–19. IEEE, Austin (1996) CrossRefGoogle Scholar
  19. 19.
    Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell Labs Tech. J. 38(4), 985–999 (1959) MathSciNetCrossRefGoogle Scholar
  20. 20.
    Lichtenstein, O., Pnueli, A.: Checking that finite-state concurrent programs satisfy their linear specification. In: Proceedings of the 12th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’85), pp. 97–107. ACM, New Orleans (1985) CrossRefGoogle Scholar
  21. 21.
    McMillan, K.L.: Interpolants and symbolic model checking. In: Cook, B., Podelski, A. (eds.) Proceedings of the 8th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI ’07), Springer-Verlag, Nice, France, January 14–16, 2007. LNCS, vol. 4349, pp. 89–90. Springer, New York (2007) CrossRefGoogle Scholar
  22. 22.
    Minato, S.: Zero-suppressed BDDs and their applications. Int. J. Softw. Tools Technol. Transf. 3(2), 156–170 (2001) zbMATHGoogle Scholar
  23. 23.
    Moon, I.H., Hachtel, G.D., Somenzi, F.: Border-block triangular form and conjunction schedule in image computation. In: Hunt, W.A. Jr., Johnson, S.D. (eds.) Proceedings of the 3rd International Conference on Formal Methods in Computer-Aided Design (FMCAD ’00). LNCS, vol. 1954, pp. 73–90. Springer, Austin (2000) Google Scholar
  24. 24.
    Panda, S., Somenzi, F., Plessier, B.: Symmetry detection and dynamic variable ordering of decision diagrams. In: Proceedings of the 1994 International Conference on Computer-Aided Design (ICCAD ’94), pp. 628–631. IEEE, San Jose (1994) Google Scholar
  25. 25.
    Park, D.M.R.: Finiteness is mu-ineffable. Theor. Comput. Sci. 3(2), 173–181 (1976) CrossRefGoogle Scholar
  26. 26.
    Ranjan, R.K., Aziz, A., Brayton, R.K., Plessier, B., Pixley, C.: Efficient BDD algorithms for FSM synthesis and verification. In: Proceedings of the IEEE/ACM International Workshop on Logic Synthesis (IWLS’95), Lake Tahoe, CA (1995) Google Scholar
  27. 27.
    Ravi, K., Somenzi, F.: High-density reachability analysis. In: Proceedings of the 1995 International Conference on Computer-Aided Design (ICCAD ’95), pp. 154–158. IEEE, San Jose (1995) Google Scholar
  28. 28.
    Rozier, K.Y.: Linear temporal logic symbolic model checking. Comput. Sci. Rev. 5(2), 163–203 (2011) CrossRefGoogle Scholar
  29. 29.
    Rudell, R.: Dynamic variable ordering for ordered binary decision diagrams. In: Lightner, M.R., Jess, J.A.G. (eds.) Proceedings of the 1993 International Conference on Computer-Aided Design (ICCAD ’93), pp. 42–47. IEEE, Santa Clara (1993) CrossRefGoogle Scholar
  30. 30.
    Shannon, C.E.: A symbolic analysis of relay and switching circuits. Trans. Am. Inst. Electr. Eng. 57(12), 713–723 (1938) CrossRefGoogle Scholar
  31. 31.
    Somenzi, F.: CUDD: CU decision diagram package.
  32. 32.
    Touati, H.J., Savoj, H., Lin, B., Brayton, R.K., Sangiovanni-Vincentelli, A.L.: Implicit state enumeration of finite state machines using BDDs. In: Proceedings of the 1990 International Conference on Computer-Aided Design (ICCAD ’90), pp. 130–133. IEEE, Santa Clara (1990) Google Scholar
  33. 33.
    Xu, J., Williams, M., Mony, H., Baumgartner, J.: Enhanced reachability analysis via automated dynamic netlist-based hint generation. In: Proceedings of the 12th International Conference on Formal Methods in Computer-Aided Design (FMCAD ’12), pp. 157–164. IEEE, Cambridge (2012) Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Software Engineering InstituteCarnegie Mellon UniversityPittsburghUSA
  2. 2.University of WaterlooWaterlooCanada

Personalised recommendations