Skip to main content

Environment Abstraction for Parameterized Verification

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3855))

Abstract

Many aspects of computer systems are naturally modeled as parameterized systems which renders their automatic verification difficult. In well-known examples such as cache coherence protocols and mutual exclusion protocols, the unbounded parameter is the number of concurrent processes which run the same distributed algorithm. In this paper, we introduce environment abstraction as a tool for the verification of such concurrent parameterized systems. Environment abstraction enriches predicate abstraction by ideas from counter abstraction; it enables us to reduce concurrent parameterized systems with unbounded variables to precise abstract finite state transition systems which can be verified by a finite state model checker. We demonstrate the feasibility of our approach by verifying the safety and liveness properties of Lamport’s bakery algorithm and Szymanski’s mutual exclusion algorithm. To the best of our knowledge, this is the first time both safety and liveness properties of the bakery algorithm have been verified at this level of automation.

This research was sponsored by the the National Science Foundation (NSF) under grants no. CCR-9803774 and CCR-0121547. 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 NSF. The third author was also supported by the EU GAMES Network.

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. Abdulla, P.A., Jonsson, B., Nilsson, M., d’Orso, J.: Regular model-checking made simple and efficient. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, p. 116. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Apt, K., Kozen, D.: Limits for automatic verification of finite state concurrent systems. Information Processing Letters 15, 307–309 (1986)

    Article  MathSciNet  Google Scholar 

  3. Arons, T., Pnueli, A., Ruah, S., Zuck, L.: Parameterized verification with automatically computed inductive assertions. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 221. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Ball, T., Chaki, S., Rajamani, S.: Verification of multi-threaded software libraries. In: ICSE (2001)

    Google Scholar 

  5. Baukus, K., Bensalem, S., Lakhnech, Y., Stahl, K.: Abstracting WS1S systems to verify parameterized networks. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, p. 188. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  6. Baukus, K., Lakhnech, Y., Stahl, K.: Verification of parameterized protocols. Journal of Universal of Computer Science (2001)

    Google Scholar 

  7. Boigelot, B., Legay, A., Wolper, P.: Iterating transducers in the large. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 223–235. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular model checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Browne, M.C., Clarke, E.M., Grumberg, O.: Reasoning about networks with many identical finite state processes. Information and Computation 81, 13–31 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  10. Clarke, E., Talupur, M., Veith, H.: Environment abstraction for parameterized verification, http://www.cs.cmu.edu/~tmurali/vmcai06.ps

  11. Clarke, E.M., Filkorn, T., Jha, S.: Exploiting symmetry in temporal model checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)

    Google Scholar 

  12. Delzanno, G.: Automated verification of cache coherence protocols. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  13. Emerson, A.E., Kahlon, V.: Model checking guarded protocols. In: Eighteenth Annual IEEE Symposium on Logic in Computer Science (LICS), pp. 361–370 (2003)

    Google Scholar 

  14. Emerson, E.A., Havlicek, J., Trefler, R.: Virtual symmetry. In: 15th Annual IEEE Symposium on Logic in Computer Science, LICS (2000)

    Google Scholar 

  15. Emerson, E.A., Sistla, A.: Utilizing symmetry when model-checking under fairness assumptions: An automata theoretic approach. TOPLAS 4 (1997)

    Google Scholar 

  16. Emerson, E.A., Sistla, A.P.: Symmetry and model checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)

    Google Scholar 

  17. Emerson, E.A., Trefler, R.: From asymmetry to full symmetry. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 142–157. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  18. Fang, Y., Piterman, N., Pnueli, A., Zuck, L.: Liveness with incomprehensible ranking. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 223–238. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  19. Fang, Y., Piterman, N., Pnueli, A., Zuck, L.: Liveness with invisible ranking. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 482–496. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  20. German, S.M., Sistla, A.P.: Reasoning about systems with many processes. Journal of the ACM 39 (1992)

    Google Scholar 

  21. Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)

    Google Scholar 

  22. Henzinger, T., Jhala, R., Majumdar, R.: Race checking with context inference. In: Proceedings of the International Conference on Programming Language Design and Implementation, PLDI (2004)

    Google Scholar 

  23. Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 424–435. Springer, Heidelberg (1997)

    Google Scholar 

  24. Lahiri, S.K., Bryant, R.: Constructing quantified invariants. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  25. Lahiri, S.K., Bryant, R.: Indexed predicate discovery for unbounded system verification. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 135–147. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  26. Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM 17(8), 453–455 (1974)

    Article  MATH  MathSciNet  Google Scholar 

  27. McMillan, K.L., Qadeer, S., Saxe, J.B.: Induction in compositional model checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 312–327. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

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

  29. Pnueli, A., Xu, J., Zuck, L.: Liveness with (0, 1, ∞ ) counter abstraction. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 107. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  30. Suzuki, I.: Proving properties of a ring of finite state machines. Information Processing Letters 28, 213–214 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  31. Szymanski, B.K.: A simple solution to Lamport’s concurrent programming problem with linear wait. In: Proc International Conference on Supercomputing Systems (1988)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Clarke, E., Talupur, M., Veith, H. (2005). Environment Abstraction for Parameterized Verification. In: Emerson, E.A., Namjoshi, K.S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2006. Lecture Notes in Computer Science, vol 3855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11609773_9

Download citation

  • DOI: https://doi.org/10.1007/11609773_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-31139-3

  • Online ISBN: 978-3-540-31622-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics