Skip to main content
Log in

A logical encoding of the π-calculus: model checking mobile processes using tabled resolution

  • Special section on verification, model checking, and abstract interpretation
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

We present MMC, a model checker for mobile systems specified in the style of the π-calculus. MMC’s development builds on that of XMC, a model checker for an expressive extension of Milner’s value-passing calculus implemented using the XSB tabled logic-programming engine. MMC addresses the salient issues that arise in the π-calculus, including scope extrusion and intrusion and dynamic generation of new names to avoid name capture. We show that logic programming provides an efficient implementation platform for model checking π-calculus specifications and can be used to obtain an exact encoding of the π-calculus’s transitional semantics. Moreover, MMC is easily extended to handle process expressions in the spi-calculus of Abadi and Gordon. Our experimental data show that MMC outperforms other known tools for model checking the π-calculus.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi M, Blanchet B (2002) Analyzing security protocols with secrecy types and logic programs. In: Proceedings of the 29th annual ACM SIGPLAN – SIGACT symposium on principles of programming languages (POPL 2002), Portland, OR, January 2002. ACM Press, New York, pp 33–44

  2. Abadi M, Gordon AD (1997) A calculus for cryptographic protocols: the spi calculus. In: Proceedings of the 4th ACM conference on computer and communications security, Zurich, Switzerland, April 1997. ACM Press, New York, pp 36–47

  3. Abadi M, Gordon AD (1998) A bisimulation method for cryptographic protocols. Nordic J Comput 5(4):267–303

    MathSciNet  Google Scholar 

  4. Apt K (1990) Logic programming. In: Van Leeuwen J (ed) Handbook of theoretical computer science, vol B: Formal models and semantics. Elsevier/MIT Press, Amsterdam/Cambridge, MA, pp 493–574

  5. Aziz B, Hamilton GW (2002) A privacy analysis for the pi-calculus: the denotational approach. In: Proceedings of the 2nd workshop on the specification, analysis and validation for emerging technologies, Copenhagen, July 2002

  6. Basu S, Mukund M, Ramakrishnan CR, Ramakrishnan IV, Verma RM (2001) Local and symbolic bisimulation using tabled constraint logic programming. In: Proceedings of the international conference on logic programming, Cyprus, November 2001, pp 166–180

  7. Beste FB (1998) The model prover – a sequent-calculus based modal μ-calculus model checker tool for finite control π-calculus agents. Technical report, Swedish Institute of Computer Science, Kista, Sweden

  8. Blanchet B (2002) From secrecy to authenticity in security protocols. In: Hermenegildo M, Puebla G (eds) Proceedings of the 9th international static analysis symposium, Madrid, September 2002. Lecture notes in computer science, vol 2477. Springer, Berlin Heidelberg New York, pp 242–259

  9. Blanchet B, Podelski A (2003) Verification of cryptographic protocols: tagging enforces termination. In: Proceedings of the conference on foundations of software science and computation structures (FoSSaCS’03), Warsaw, Poland, April 2003. Lecture notes in computer science, vol 2620. Springer, Berlin Heidelberg New York, pp 136–152

  10. Burrows M, Abadi M, Needham R (1996) A logic of authentication, from Proceedings of the Royal Society 426(1871), 1989. In: Stallings W (ed) Practical cryptography for data Internetworks. IEEE Press, New York

  11. Chen W, Warren DS (1996) Tabled evaluation with delaying for general logic programs. J ACM 43(1):20–74

    Article  MathSciNet  Google Scholar 

  12. Cohen E (2002) Proving protocols safe from guessing. In: Proceedings of the workshop on foundations of computer security (FCS’02), Copenhagen, July 2002, pp 85–92

  13. Cui B, Warren DS (2000) A system for tabled constraint logic programming. In: Proceedings of the 1st international conference on computational logic, London, UK, July 2000. Lecture notes in computer science, vol 1861. Springer, Berlin Heidelberg New York, pp 478–492

  14. Dam M (2001) Proof systems for pi-calculus logics. Logic for concurrency and synchronisation, Kluwer, Dordrecht, pp 145–212

  15. Denker G, Meseguer J (1998) Protocol specification and analysis in Maude. In: Proceedings of the workshop on formal methods and security protocols, Indianapolis, IN, June 1998

  16. Dong Y, Ramakrishnan CR (1999) An optimizing compiler for efficient model checking. In: Formal methods for protocol engineering and distributed systems (FORTE). Proceedings of IFIP, Beijing, October 1999. Kluwer, Dordrecht, 156:241–256

  17. Duran F, Eker S, Lincoln P, Meseguer J (2000) Principles of mobile Maude. In: Kotz D, Mattern F (eds) Proceedings of ASA/MA, Switzerland, September 2000. Lecture notes in computer science, vol 1882. Springer, Berlin Heidelberg New York, pp 73–85

  18. Franzen T (1996) A theorem-proving approach to deciding properties of finite-control agents. Technical report, Swedish Institute of Computer Science, Kista, Sweden

  19. Gordon A, Jeffrey ASA (2001) Authenticity by typing for security protocols. In: Proceedings of the IEEE computer security foundations workshop, Cape Breton, Novia Scotia, Canada, June 2001, pp 145–159

  20. Hüttel H (2002) Deciding framed bisimilarity. In: Proceedings of the 4th international workshop on verification of infinite-state systems (INFINITY 2002), Brno, Czech Republic, August 2002

  21. Lin H (1994) Symbolic bisimulation and proof systems for the π-calculus. Technical report, School of Cognitive and Computer Science, University of Sussex, Sussex, UK

  22. Lloyd JW (1984) Foundations of logic programming. Springer, Berlin Heidelberg New York

  23. Lowe G (1995) An attack on the Needham–Schroeder public-key authentication protocol. Inf Process Lett 56(3):131–133

    Article  Google Scholar 

  24. Lowe G (1996) Breaking and fixing the Needham-Schroeder public-key protocol using FDR. Softw Concepts Tools 17:93–102

    Google Scholar 

  25. Meadows C (1996) The NRL protocol analyzer: an overview. J Logic Programm 26(2):113–131

    Article  Google Scholar 

  26. Millen J, Shmatikov V (2001) Constraint solving for bounded process cryptographic protocol analysis. In: Proceedings of the 8th ACM conference on computer and communications security, Philadelphia, November 2001. ACM Press, New York

  27. Milner R (1989) Communication and concurrency. In: International Series in Computer Science. Prentice-Hall, Upper Saddle River, NJ

  28. Milner R (1993) The polyadic π-calculus: a tutorial. In: Bauer FL, Brauer W, Schwichtenberg H (eds) Logic and algebra of specification. Springer, Berlin Heidelberg New York, pp 203–246

  29. Milner R, Parrow J, Walker D (1992) A calculus of mobile processes, parts I and II. Inf Comput 100(1):1–77

    Article  MathSciNet  Google Scholar 

  30. Milner R, Parrow J, Walker D (1993) Modal logics for mobile processes. Theor Comput Sci pp 149–171

  31. Orava F, Parrow J (1992) An algebraic verification of a mobile network. Formal Aspects Comput 4:497–543

    Article  Google Scholar 

  32. Parrow J (2001) An introduction to the π-calculus. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra. Elsevier, Amsterdam

  33. Paulson L (1998) The inductive approach to verifying cryptographic protocols. J Comput Secur 6:85–128

    Google Scholar 

  34. Ramakrishna YS, Ramakrishnan CR, Ramakrishnan IV, Smolka SA, Swift TW, Warren DS (1997) Efficient model checking using tabled resolution. In: Proceedings of the 9th international conference on computer-aided verification (CAV), Haifa, Israel, June 1997. Lecture notes in computer science, vol 1254. Springer, Berlin Heidelberg New York, pp 143–154

  35. Roychoudhury A, Narayan Kumar K, Ramakrishnan CR, Ramakrishnan IV, Smolka SA (2000) Verification of parameterized systems using logic-program transformations. In: Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS), Berlin, March 2000. Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 172–187

  36. Stirling C, Walker D (1991) Local model checking in the modal mu-calculus. Theor Comput Sci 89(1):161–177

    Article  MathSciNet  Google Scholar 

  37. Syverson P (1994) A taxonomy of replay attacks. In: Proceedings of the computer security foundations workshop VII, Franconia, NH, June 1994. IEEE Press, New York

  38. Tamaki H, Sato T (1986) OLDT resolution with tabulation. In: Proceedings of the international conference on logic programming, London, UK, July 1986. MIT Press, Cambridge, MA, pp 84–98

  39. Thati P, Sen K, Marti-oliet N (2002) An executable specification of asynchronous pi-calculus semantics and may testing in Maude 2.0. In: Proceedings of the 4th international workshop on rewriting logic and its applications, Italy, September 2002

  40. Thayer Fabrega FJ, Herzog JC, Guttman JD (1999) Strand spaces: proving security protocol correct. J Comput Secur 7:191–230

    Google Scholar 

  41. Victor B (1995) The Mobility Workbench user’s guide. Technical report, Department of Computer Systems, Uppsala University, Sweden

  42. Victor B, Moller F (1994) The Mobility Workbench – a tool for the π-calculus. In: Dill D (ed) Proceedings of the 6th international conference on computer-aided verification (CAV ’94), Stanford, CA, June 1994. Springer, Berlin Heidelberg New York

  43. Woo TYC, Lam SS (1993) A semantic model for authentication protocols. In: Proceedings of the IEEE symposium on research in security and privacy, Oakland, CA, May 1993, pp 178–194

  44. XSB The XSB logic programming system. http://xsb.sourceforge.net

  45. Yang P, Ramakrishnan CR, Smolka SA (2002) Mobility Model Checker for the π-calculus. http://www.cs.sunysb.edu/∼lmc/mmc

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ping Yang.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yang, P., Ramakrishnan, C. & Smolka, S. A logical encoding of the π-calculus: model checking mobile processes using tabled resolution. Int J Softw Tools Technol Transfer 6, 38–66 (2004). https://doi.org/10.1007/s10009-003-0136-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-003-0136-3

Keywords

Navigation