Skip to main content

BDD-Based Symbolic Model Checking

Abstract

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.

This is a preview of subscription content, access via your institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. 27(6), 509–516 (1978)

    CrossRef  Google Scholar 

  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. 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)

    CrossRef  Google Scholar 

  4. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded Model Checking. Academic Press, San Diego (2003)

    CrossRef  Google Scholar 

  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

    CrossRef  Google Scholar 

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

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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. 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. 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)

    CrossRef  Google Scholar 

  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)

    MathSciNet  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  15. Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another look at LTL model checking. Form. Methods Syst. Des. 10(1), 47–71 (1997)

    CrossRef  Google Scholar 

  16. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)

    Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  19. Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell Labs Tech. J. 38(4), 985–999 (1959)

    MathSciNet  CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  22. Minato, S.: Zero-suppressed BDDs and their applications. Int. J. Softw. Tools Technol. Transf. 3(2), 156–170 (2001)

    MATH  Google Scholar 

  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. 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. Park, D.M.R.: Finiteness is mu-ineffable. Theor. Comput. Sci. 3(2), 173–181 (1976)

    CrossRef  Google Scholar 

  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. 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. Rozier, K.Y.: Linear temporal logic symbolic model checking. Comput. Sci. Rev. 5(2), 163–203 (2011)

    CrossRef  Google Scholar 

  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)

    CrossRef  Google Scholar 

  30. Shannon, C.E.: A symbolic analysis of relay and switching circuits. Trans. Am. Inst. Electr. Eng. 57(12), 713–723 (1938)

    CrossRef  Google Scholar 

  31. Somenzi, F.: CUDD: CU decision diagram package. http://vlsi.colorado.edu/~fabio/CUDD/

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sagar Chaki .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Chaki, S., Gurfinkel, A. (2018). BDD-Based Symbolic Model Checking. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds) Handbook of Model Checking. Springer, Cham. https://doi.org/10.1007/978-3-319-10575-8_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-10575-8_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-10574-1

  • Online ISBN: 978-3-319-10575-8

  • eBook Packages: Computer ScienceComputer Science (R0)