Parameterized Verification of π-Calculus Systems

  • Ping Yang
  • Samik Basu
  • C. R. Ramakrishnan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3920)


In this paper we present an automatic verification technique for parameterized systems where the subsystem behavior is modeled using the π-calculus. At its core, our technique treats each process instance in a system as a property transformer. Given a property ϕ that we want to verify of an N-process system, we use a partial model checker to infer the property ϕ′ (stated as a formula in a sufficiently rich logic) that must hold of an (N – 1)-process system. If the sequence of formulas ϕ,ϕ′,... thus constructed converges, and the limit is satisfied by the deadlocked process, we can conclude that the N-process system satisfies ϕ. To this end, we develop a partial model checker for the π-calculus that uses an expressive value-passing logic as the property language. We also develop a number of optimizations to make the model checker efficient enough for routine use, and a light-weight widening operator to accelerate convergence. We demonstrate the effectiveness of our technique by using it to verify properties of a wide variety of parameterized systems that are beyond the reach of existing techniques.


Model Checker Formula Variable Label Transition System Process Expression Communication Topology 


  1. 1.
    Alur, R., Henzinger, T.: Reactive modules. In: LICS (1996)Google Scholar
  2. 2.
    Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548–562. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Andersen, H.R.: Partial model checking (extended abstract). In: LICS (1995)Google Scholar
  4. 4.
    Andersen, H.R., Stirling, C., Winskel, G.: A compositional proof system for the modal mu-calculus. In: LICS (1994)Google Scholar
  5. 5.
    Arons, T., Pnueli, A., Ruah, S., Xu, J., Zuck, L.D.: 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
  6. 6.
    Basu, S., Ramakrishnan, C.R.: Compositional analysis for verification of parameterized systems. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 315–330. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Berezin, S., Gurov, D.: A compositional proof system for the modal mu-calculus and CCS. Technical Report CMU-CS-97-105, CMU (1997)Google Scholar
  8. 8.
    Bradfield, J., Stirling, C.: Modal logics and mu-calculi: an introduction (In the Handbook of Process Algebra), pp. 293–330. Elsevier, Amsterdam (2001)MATHGoogle Scholar
  9. 9.
    Chaki, S., Rajamani, S.K., Rehof, J.: Types as models: model checking mes-sage-passing programs. In: Proceedings of POPL, pp. 45–57 (2002)Google Scholar
  10. 10.
    Clarke, E.M., Grumberg, O., Jha, S.: Verifying parameterized networks. ACM Transactions on Programming Languages and Systems (1997)Google Scholar
  11. 11.
    Dam, M.: Proof systems for pi-calculus logics. Logic for Concurrency and Synchronisation (2001)Google Scholar
  12. 12.
    Delzanno, G.: Automatic verification of parameterized cache coherence protocols. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, p. 582. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: POPL (1995)Google Scholar
  14. 14.
    Emerson, E.A., Namjoshi, K.S.: Automated verification of parameterized synchronous systems. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, p. 472. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  15. 15.
    Emerson, E.A., Namjoshi, K.S.: On model checking for non-deterministic infinite state systems. In: LICS (1998)Google Scholar
  16. 16.
    Esparza, J., Finkel, A., Mayr, R.: On the verification of broadcast protocols. In: LICS (1999)Google Scholar
  17. 17.
    Cleaveland, R., Bhat, G.: Efficient model checking via the equational ì-calculus. In: LICS, pp. 304–312 (1996)Google Scholar
  18. 18.
    Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Transactions on Programming Languages and Systems (1994)Google Scholar
  19. 19.
    Henzinger, T., Qadeer, S., Rajamani, S.K.: You assume, we guarantee. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, p. 552. Springer, Heidelberg (1998)Google Scholar
  20. 20.
    Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)CrossRefGoogle Scholar
  21. 21.
    Igarashi, A., Kobayashi, N.: A generic type system for the pi-calculus. Theoretical Computer Science 311(1–3), 121–163 (2004)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Ip, C.N., Dill, D.L.: Verifying systems with replicated components in murphi. Formal Methods in System Design (1999)Google Scholar
  23. 23.
    Kesten, Y., Pnueli, A.: Control and data abstraction:the cornerstones of pratical formal verification. International Journal on Software tools for Technology (2000)Google Scholar
  24. 24.
    Kozen, D.: Results on the propositional ì-calculus. Theoretical Computer Science (1983)Google Scholar
  25. 25.
    Lin, H.: Symbolic bisimulation and proof systems for the ð-calculus. Technical report, School of Cognitive and Computer Science, U. of Sussex, UK (1994)Google Scholar
  26. 26.
    McMillan, K.L.: Compositional rule for hardware design refinement. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  27. 27.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  28. 28.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Parts I and II. Information and Computation 100(1), 1–77 (1992)MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Orava, F., Parrow, J.: An algebraic verification of a mobile network. Journal of Formal Aspects of Computing 4, 497–543 (1992)CrossRefMATHGoogle Scholar
  30. 30.
    Pnueli, A., Ruah, S., Zuck, L.: Automatic deductive verification with invisi-ble invariants. In: Tools and Algorithms for the Construction and Analysis of Systems (2001)Google Scholar
  31. 31.
    Pnueli, A., Shahar, E.: Liveness and acceleration in parameterized verification. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, Springer, Heidelberg (2000)Google Scholar
  32. 32.
    Song, H., Compton, K.J.: Verifying pi-calculus processes by Promela trans-lation. Technical Report CSE-TR-472-03, Univ. of Michigan (2003)Google Scholar
  33. 33.
    Victor, B.: TheMobility Workbench user’s guide. Technical report, Department of Computer Systems, Uppsala University, Sweden (1995)Google Scholar
  34. 34.
    Yang, P., Basu, S., Ramakrishnan, C.R.: Parameterized verification of π-calculus systems (2006),
  35. 35.
    Yang, P., Ramakrishnan, C.R., Smolka, S.A.: A logical encoding of the π-calculus: Model checking mobile processes using tabled resolution. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds.) VMCAI 2003. LNCS, vol. 2575, pp. 116–131. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  36. 36.
    Yang, P., Ramakrishnan, C.R., Smolka, S.A.: A provably correct compiler for efficient model checking of mobile processes. In: Proceedings of PADL (2005)Google Scholar
  37. 37.
    Zuck, L., Pnueli, A.: Model checking and abstraction to the aid of param-eterized systems (a survey). Computer Languages, Systems & Structures 30(3–4), 139–169 (2004)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Ping Yang
    • 1
  • Samik Basu
    • 2
  • C. R. Ramakrishnan
    • 1
  1. 1.Dept. of Computer ScienceStony Brook Univ.Stony BrookUSA
  2. 2.Dept. of Computer ScienceIowa State Univ.AmesUSA

Personalised recommendations