Skip to main content

A Simple Method for Parameterized Verification of Cache Coherence Protocols

  • Conference paper
Formal Methods in Computer-Aided Design (FMCAD 2004)

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

Included in the following conference series:

Abstract

We present a simple method for verifying the safety properties of cache coherence protocols with arbitrarily many nodes. Our presentation begins with two examples. The first example describes in intuitive terms how the German protocol with arbitrarily many nodes can be verified using a combination of Murphi model checking and apparently circular reasoning. The second example outlines a similar proof of the FLASH protocol. These are followed by a simple theory based on the classical notion of simulation proofs that justifies the apparently circular reasoning. We conclude the paper by discussing what remains to be done and by comparing our method with other approaches to the parameterized verification of cache coherence protocols, such as compositional model checking, machine-assisted theorem proving, predicate abstraction, invisible invariants, and cut-off theorems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Apt, K.R., Kozen, D.: Limits for automatic program verification of finite-state concurrent systems. Information Processing Letters 22(6), 307–309 (1986)

    Article  MathSciNet  Google Scholar 

  2. Baukus, K., Lakhnech, Y., Stahl, K.: Parameterized verification of a cache coherence protocol: safety and liveness. In: Cortesi, A. (ed.) VMCAI 2002. LNCS, vol. 2294, pp. 317–330. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  3. Das, S., Dill, D.L., Park, S.: Experience with predicate abstract. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 160–171. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Della Penna, G., Intrigila, B., Tronci, E., Zilli, M.V.: Exploiting transition locality in the disk based Murphi verifier. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Dill, D.L., Drexler, A.J., Hu, A.J., Yang, C.H.: Protocol verification as a hardware design aid. In: IEEE Int. Conf. on Computer Design: VLSI in Computers and Processors, pp. 522–525 (1992)

    Google Scholar 

  6. Emerson, E.A., Kahlon, V.: Exact and efficient verification of parameterized cache coherence protocols. In: Geist, D., Tronci, E. (eds.) CHARME 2003. LNCS, vol. 2860, pp. 247–262. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. German, S.M.: Personal communications (2000)

    Google Scholar 

  8. Ip, C.N., Dill, D.L.: Better verification through symmetry. In: CHDL, pp. 87–100 (1993)

    Google Scholar 

  9. Lahiri, S.K., Bryant, R.E.: Constructing quantified invariants via predicate abstraction. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 267–281. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  10. McMillan, K.L.: Verification of infinite state systems by compositional model checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 219–237. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. McMillan, K.L.: Circular compositional reasoning about liveness. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 342–346. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  12. McMillan, K.L.: Parameterized verification of FLASH cache coherence protocol by compositional model checking. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 179–195. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. McMillan, K.L.: Exploiting SAT solvers in unbounded model checking. CAV tutorial (2003), http://www-cad.eecs.berkeley.edu/~kenmcmil/cav03tut.ppt

  14. McMillan, K.L., Qadeer, S., Saxe, J.B.: Induction in compositional model checking. CAV (2000) 312–327.

    Google Scholar 

  15. Milner, R.: An algebraic definition of simulation between programs. In: IJCAI, pp. 481–489 (1971)

    Google Scholar 

  16. Park, S., Dill, D.L.: Verification of the FLASH cache coherence protocol by aggregation of distributed transactions. In: SPAA, pp. 288–296 (1996)

    Google Scholar 

  17. Pnueli, A., Ruah, S., Zuck, L.: Automatic deductive verification with invisible invariants. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, p. 82. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chou, CT., Mannava, P.K., Park, S. (2004). A Simple Method for Parameterized Verification of Cache Coherence Protocols. In: Hu, A.J., Martin, A.K. (eds) Formal Methods in Computer-Aided Design. FMCAD 2004. Lecture Notes in Computer Science, vol 3312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30494-4_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30494-4_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23738-9

  • Online ISBN: 978-3-540-30494-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics