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.
Similar content being viewed by others
References
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
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
Abadi M, Gordon AD (1998) A bisimulation method for cryptographic protocols. Nordic J Comput 5(4):267–303
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
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
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
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
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
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
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
Chen W, Warren DS (1996) Tabled evaluation with delaying for general logic programs. J ACM 43(1):20–74
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
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
Dam M (2001) Proof systems for pi-calculus logics. Logic for concurrency and synchronisation, Kluwer, Dordrecht, pp 145–212
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
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
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
Franzen T (1996) A theorem-proving approach to deciding properties of finite-control agents. Technical report, Swedish Institute of Computer Science, Kista, Sweden
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
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
Lin H (1994) Symbolic bisimulation and proof systems for the π-calculus. Technical report, School of Cognitive and Computer Science, University of Sussex, Sussex, UK
Lloyd JW (1984) Foundations of logic programming. Springer, Berlin Heidelberg New York
Lowe G (1995) An attack on the Needham–Schroeder public-key authentication protocol. Inf Process Lett 56(3):131–133
Lowe G (1996) Breaking and fixing the Needham-Schroeder public-key protocol using FDR. Softw Concepts Tools 17:93–102
Meadows C (1996) The NRL protocol analyzer: an overview. J Logic Programm 26(2):113–131
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
Milner R (1989) Communication and concurrency. In: International Series in Computer Science. Prentice-Hall, Upper Saddle River, NJ
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
Milner R, Parrow J, Walker D (1992) A calculus of mobile processes, parts I and II. Inf Comput 100(1):1–77
Milner R, Parrow J, Walker D (1993) Modal logics for mobile processes. Theor Comput Sci pp 149–171
Orava F, Parrow J (1992) An algebraic verification of a mobile network. Formal Aspects Comput 4:497–543
Parrow J (2001) An introduction to the π-calculus. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra. Elsevier, Amsterdam
Paulson L (1998) The inductive approach to verifying cryptographic protocols. J Comput Secur 6:85–128
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
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
Stirling C, Walker D (1991) Local model checking in the modal mu-calculus. Theor Comput Sci 89(1):161–177
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
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
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
Thayer Fabrega FJ, Herzog JC, Guttman JD (1999) Strand spaces: proving security protocol correct. J Comput Secur 7:191–230
Victor B (1995) The Mobility Workbench user’s guide. Technical report, Department of Computer Systems, Uppsala University, Sweden
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
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
XSB The XSB logic programming system. http://xsb.sourceforge.net
Yang P, Ramakrishnan CR, Smolka SA (2002) Mobility Model Checker for the π-calculus. http://www.cs.sunysb.edu/∼lmc/mmc
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-003-0136-3