Occurrence Counting Analysis for the pi-Calculus

Abstract We propose an abstract interpretation-based analysis for automatically proving non-trivial properties of mobile systems of processes. We focus on properties relying on the number of occurrences of processes during computation sequences, such as mutual exclusion and non-exhaustion of resources. We design a non-standard semantics for the π-calculus in order to explicitly trace the origin of channels and to solve efficiently problems set by α-conversion and non-deterministic choices. We abstract this semantics into an approximate one. The use of a relational domain for counting the occurrences of processes allows us to prove quickly and efficiently properties such as mutual exclusion and non-exhaustion of resources. At last, dynamic partitioning allows us to detect some configurations by which no infinite computation sequences can pass.

[1]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[2]  Jean-Pierre Jouannaud,et al.  Rewrite Proofs and Computations , 1995 .

[3]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[4]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[5]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[6]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[7]  Patrick Cousot,et al.  Semantic foundations of program analysis , 1981 .

[8]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[9]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[10]  Jimmy Ho-Man Lee,et al.  Interval Linear Constraint Solving Using the Preconditioned Interval Gauss-Seidel Method , 1995, ICLP.

[11]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[12]  François Bourdoncle,et al.  Abstract interpretation by dynamic partitioning , 1992, Journal of Functional Programming.

[13]  Patrick Cousot,et al.  Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes , 1978 .

[14]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[15]  Neil D. Jones,et al.  Program Flow Analysis: Theory and Application , 1981 .

[16]  Jérôme Feret,et al.  Confidentiality Analysis of Mobile Systems , 2000, SAS.

[17]  Flemming Nielson,et al.  Abstract Interpretation of Mobile Ambients , 1999, SAS.

[18]  Arnaud Venet,et al.  Abstract Interpretation of the pi-Calculus , 1996, LOMAPS.

[19]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[20]  Flemming Nielson,et al.  Shape analysis for mobile ambients , 2000, POPL '00.

[21]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[22]  Flemming Nielson,et al.  Control Flow Analysis for the pi-calculus , 1998, CONCUR.

[23]  Arnaud Venet,et al.  Automatic Determination of Communication Topologies in Mobile Systems , 1998, SAS.