Advertisement

Environment Abstraction for Parameterized Verification

  • Edmund Clarke
  • Muralidhar Talupur
  • Helmut Veith
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Model Check Mutual Exclusion Concrete State Liveness Property Reference Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)CrossRefGoogle Scholar
  2. 2.
    Apt, K., Kozen, D.: Limits for automatic verification of finite state concurrent systems. Information Processing Letters 15, 307–309 (1986)CrossRefMathSciNetGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 4.
    Ball, T., Chaki, S., Rajamani, S.: Verification of multi-threaded software libraries. In: ICSE (2001)Google Scholar
  5. 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)CrossRefGoogle Scholar
  6. 6.
    Baukus, K., Lakhnech, Y., Stahl, K.: Verification of parameterized protocols. Journal of Universal of Computer Science (2001)Google Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Clarke, E., Talupur, M., Veith, H.: Environment abstraction for parameterized verification, http://www.cs.cmu.edu/~tmurali/vmcai06.ps
  11. 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. 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)CrossRefGoogle Scholar
  13. 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. 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. 15.
    Emerson, E.A., Sistla, A.: Utilizing symmetry when model-checking under fairness assumptions: An automata theoretic approach. TOPLAS 4 (1997)Google Scholar
  16. 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. 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)CrossRefGoogle Scholar
  18. 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)CrossRefGoogle Scholar
  19. 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)CrossRefGoogle Scholar
  20. 20.
    German, S.M., Sistla, A.P.: Reasoning about systems with many processes. Journal of the ACM 39 (1992)Google Scholar
  21. 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. 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. 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. 24.
    Lahiri, S.K., Bryant, R.: Constructing quantified invariants. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 26.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM 17(8), 453–455 (1974)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 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)CrossRefGoogle Scholar
  28. 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)CrossRefGoogle Scholar
  29. 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)CrossRefGoogle Scholar
  30. 30.
    Suzuki, I.: Proving properties of a ring of finite state machines. Information Processing Letters 28, 213–214 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  31. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Edmund Clarke
    • 1
  • Muralidhar Talupur
    • 1
  • Helmut Veith
    • 2
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.Technische Universität MünchenMunichGermany

Personalised recommendations