Automatic verification of parameterized networks of processes

Abstract This paper describes a method to verify safety properties of parameterized networks of processes defined by network grammars. The method is based on the construction of a network invariant, defined as a fixpoint. We propose heuristics, based on Cousot's extrapolation techniques (widening), which often allow suitable invariants to be automatically constructed. We successively consider linear and binary tree networks. These techniques have been implemented in a verification tool, and several non-trivial examples are presented.

[1]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[2]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[3]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[4]  Pierre Wolper,et al.  Verifying Properties of Large Sets of Processes with Network Invariants , 1990, Automatic Verification Methods for Finite State Systems.

[5]  Nicolas Halbwachs,et al.  Automatic verification of parameterized linear networks of processes , 1997, POPL '97.

[6]  Kedar S. Namjoshi,et al.  Automatic Verification of Parameterized Synchronous Systems (Extended Abstract) , 1996, CAV.

[7]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[8]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[9]  Orna Grumberg,et al.  Network Grammars, Communication Behaviors and Automatic Verification , 1989, Automatic Verification Methods for Finite State Systems.

[10]  Kedar S. Namjoshi,et al.  Reasoning about rings , 1995, POPL '95.

[11]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[12]  David Lesens,et al.  Invariants of Parameterized Binary Tree Networks as Greatest Fixpoints , 1997, AMAST.

[13]  Florence Maraninchi,et al.  Operational and Compositional Semantics of Synchronous Automaton Compositions , 1992, CONCUR.

[14]  BerryGérard,et al.  The ESTEREL synchronous programming language , 1992 .

[15]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[16]  Alain J. Martin Distributed Mutual Exclusion on a Ring of Processes , 1985, Sci. Comput. Program..

[17]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[18]  Robert P. Kurshan,et al.  A structural induction theorem for processes , 1989, PODC.

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

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

[21]  Amir Pnueli,et al.  Symbolic Model Checking with Rich ssertional Languages , 1997, CAV.

[22]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[23]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[24]  Somesh Jha,et al.  Veryfying Parameterized Networks using Abstraction and Regular Languages , 1995, CONCUR.

[25]  Laurent Fribourg,et al.  Reachability sets of parameterized rings as regular languages , 1997, INFINITY.