Skip to main content

Symmetry and induction in model checking

  • Chapter
  • First Online:
Computer Science Today

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1000))

Abstract

Model checking is a technique for determining whether a finite state-transition system satisfies a specification expressed in temporal logic. It has been used successfully to verify a number of highly complex circuit and protocol designs. A major hurdle in using this approach to verify realistic designs is the state explosion problem. This problem tends to occur when the number of state variables is very large. In this paper we discuss two techniques for handling this problem. The first technique is based on exploiting symmetry in the state-transition graph. We show how to construct a reduced quotient graph that satisfies the same temporal properties as the original graph. The second technique applies to systems that can have an arbitrary number of processes. In this case induction at the process level can be used to avoid the state explosion problem. An invariant process can frequently be found whose correctness implies the correctness of the system. We describe several methods for finding such an invariant process when one exists.

This research was sponsored in part by the Avionics Laboratory, Wright Research and Development Center, Aeronautical Systems Division (AFSC), U.S. Air Force, Wright-Patterson AFB, Ohio 45433-6543 under Contract F33615-90-C-1465, ARPA Order No. 7597 and in part by the National Science Foundation under Grant no. CCR-8722633 and in part by the Semiconductor Research Corporation under Contract 92-DJ-294.

The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. government.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Apt and D. Kozen. Limits for automatic verification of finite-state systems. IPL, 15:307–309, 1986.

    Article  Google Scholar 

  2. M. Browne, E. Clarke, and O. Grumberg. Characterizing finite kripke structures in propositional temporal logic. Theoretical Comput. Sci., 59:115–131, 1988.

    Article  Google Scholar 

  3. M. Browne, E. Clarke, and O. Grumberg. Reasoning about networks with many identical finite-state processes. Inf. and Computation, 81(1):13–31, Apr. 1989.

    Article  Google Scholar 

  4. R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput, C-35(8), 1986.

    Google Scholar 

  5. J. R. Burch, E. M. Clarke, D. E. Long, K. L. McMillan, and D. L. Dill. Symbolic model checking for sequential circuit verification. To appear in IEEE Trans. Comput.-Aided Design Integrated Circuits.

    Google Scholar 

  6. J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and J. Hwang. Symbolic model checking: 1020 states and beyond. In Proc. 5th Ann. Symp. on Logic in Comput. Sci. IEEE Comp. Soc. Press, June 1990.

    Google Scholar 

  7. E. Clarke, O. Grumberg, and S. Jha. Parametrized networks. In S. Smolka and I. Lee, editors, Proc. CONCUR '95: 6th International Conference on Concurrency Theory, Lecture Notes in Computer Science. Springer-Verlag, Aug. 1995.

    Google Scholar 

  8. E. Clarke, T.Filkorn, and S.Jha. Exploiting symmetry in temporal logic model checking. In Courcoubetis [11], pp. 450–462.

    Google Scholar 

  9. E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finitestate concurrent systems using temporal logic specifications. ACM Trans. Prog. Lang. Syst., 8(2):244–263, 1986.

    Article  Google Scholar 

  10. E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. In Proc. 19th Ann. ACM Symp. on Principles of Prog. Lang., Jan. 1992.

    Google Scholar 

  11. C. Courcoubetis (Ed.). Computer Aided Verification, Proc. 5th Int. Conf. (CAV'93), volume 697 of Lecture Notes in Computer Science. Springer-Verlag, June 1993.

    Google Scholar 

  12. E. Emerson and K. S. Namjoshi. Reasoning about rings. In Proc. 22nd Ann. ACM Symp. on Principles of Prog. Lang., Jan. 1995.

    Google Scholar 

  13. E. A. Emerson and A. P. Sistla. Symmetry and model checking. In Courcoubetis [11], pp. 463–477.

    Google Scholar 

  14. IEEE Computer Society. IEEE Standard for Futurebus+-Logical Protocol Specification, Mar. 1992. IEEE Standard 896.1-1991.

    Google Scholar 

  15. C. Ip and D. Dill. Better verification through symmetry. In L. Claesen, editor, Proc. 11th Int. Symp. on Comput. Hardware Description Lang. and their Applications. North-Holland, Apr. 1993.

    Google Scholar 

  16. R. P. Kurshan and K. L. McMillan. A structural induction theorem for processes. In Proc. 8th Ann. ACM Symp. on Principles of Distributed Computing. ACM Press, Aug. 1989.

    Google Scholar 

  17. B. Lin and A. R. Newton. Efficient symbolic manipulation of equvialence relations and classes. In Proc. 1991 Int. Workshop on Formal Methods in VLSI Design, Jan. 1991.

    Google Scholar 

  18. R. Marelly and O. Grumberg. GORMEL-Grammar ORiented ModEL checker. Technical Report 697, The Technion, Oct. 1991.

    Google Scholar 

  19. R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, 1980.

    Google Scholar 

  20. Z. Shtadler and O. Grumberg. Network grammars, communication behaviors and automatic verification. In Sifakis [21], pp. 151–165.

    Google Scholar 

  21. J. Sifakis (Ed.). Automatic Verification Methods for Finite State Systems, Proc. Int Workshop, volume 407 of Lecture Notes in Computer Science. Springer-Verlag, June 1989.

    Google Scholar 

  22. P. D. Vigna and C. Ghezzi. Context-free graph grammars. Inf. and Computation, 37:207–233, Apr. 1978.

    Google Scholar 

  23. P. Wolper and V. Lovinfosse. Verifying properties of large sets of processes with network invariants. In Sifakis [21], pp. 68–80.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan van Leeuwen

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Clarke, E.M., Jha, S. (1995). Symmetry and induction in model checking. In: van Leeuwen, J. (eds) Computer Science Today. Lecture Notes in Computer Science, vol 1000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015260

Download citation

  • DOI: https://doi.org/10.1007/BFb0015260

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60105-0

  • Online ISBN: 978-3-540-49435-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics