Using Forward Reachability Analysis for Verification of Lossy Channel Systems

We consider symbolic on-the-fly verification methods for systems of finite-state machines that communicate by exchanging messages via unbounded and lossy FIFO queues. We propose a novel representation formalism, called simple regular expressions (SREs), for representing sets of states of protocols with lossy FIFO channels. We show that the class of languages representable by SREs is exactly the class of downward closed languages that arise in the analysis of such protocols. We give methods for computing (i) inclusion between SREs, (ii) an SRE representing the set of states reachable by executing a single transition in a system, and (iii) an SRE representing the set of states reachable by an arbitrary number of executions of a control loop. All these operations are rather simple and can be carried out in polynomial time.With these techniques, one can straightforwardly construct an algorithm which explores the set of reachable states of a protocol, in order to check various safety properties. We also show how one can perform model-checking of LTL properties, using a standard automata-theoretic construction. It should be noted that all these methods are by necessity incomplete, even for the class of protocols with lossy channels.To illustrate the applicability of our methods, we have developed a tool prototype and used the tool for automatic verification of (a parameterized version of) the Bounded Retransmission Protocol.

[1]  S. Purushothaman Iyer,et al.  Data flow analysis of communicating finite state machines , 1991, TOPL.

[2]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[3]  Joseph Sifakis,et al.  Property Preserving Simulations , 1992, CAV.

[4]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[5]  Parosh Aziz Abdulla,et al.  Undecidable Verification Problems for Programs with Unreliable Channels , 1994, Inf. Comput..

[6]  Parosh Aziz Abdulla,et al.  Undecidable Verification Problems for Programs with Unreliable Channels , 1996, Inf. Comput..

[7]  Alain Kerbrat,et al.  CADP - A Protocol Validation and Verification Toolbox , 1996, CAV.

[8]  Pierre Wolper,et al.  The Power of QDDs (Extended Abstract) , 1997, SAS.

[9]  Alain Finkel,et al.  Unreliable Channels are Easier to Verify Than Perfect Channels , 1996, Inf. Comput..

[10]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces Using QDDs (Extended Abstract) , 1996, CAV.

[11]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[12]  Ahmed Bouajjani,et al.  Symbolic Reachability Analysis of FIFO-Channel Systems with Nonregular Sets of Configurations , 1999, Theor. Comput. Sci..

[13]  Orna Grumberg,et al.  Model checking and modular verification , 1991, TOPL.

[14]  Richard Mayr,et al.  Undecidable problems in unreliable computations , 2000, Theor. Comput. Sci..

[15]  Jan Friso Groote,et al.  A Bounded Retransmission Protocol for Large Data Packets , 1993, AMAST.

[16]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[17]  Pierre Wolper,et al.  Symbolic Verification with Periodic Sets , 1994, CAV.

[18]  Parosh Aziz Abdulla,et al.  Verifying Programs with Unreliable Channels , 1996, Inf. Comput..

[19]  Theo C. Ruys,et al.  The Bounded Retransmission Protocol Must Be on Time! , 1997, TACAS.

[20]  Ahmed Bouajjani,et al.  TReX: A Tool for Reachability Analysis of Complex Systems , 2001, CAV.

[21]  Graham Higman,et al.  Ordering by Divisibility in Abstract Algebras , 1952 .

[22]  Natarajan Shankar,et al.  Experiments in Theorem Proving and Model Checking for Protocol Verification , 1996, FME.

[23]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[24]  Yassine Lakhnech,et al.  InVeST: A Tool for the Verification of Invariants , 1998, CAV.

[25]  Laurent Mounier,et al.  A Tool Set for deciding Behavioral Equivalences , 1991, CONCUR.

[26]  Mohamed G. Gouda,et al.  On deadlock detection in systems of communicating finite state machines , 1987 .

[27]  Pierre Wolper,et al.  The Power of QDDs , 1997 .

[28]  Frits W. Vaandrager,et al.  Proof-Checking a Data Link Protocol , 1994, TYPES.

[29]  Jan K. Pachl,et al.  Protocol Description and Analysis Based on a State Transition Model with Channel Expressions , 1987, PSTV.

[30]  Radu Mateescu,et al.  Formal Description and Analysis of a Bounded Retransmission Protocol , 1996 .

[31]  A. Prasad Sistla,et al.  Automatic Temporal Verification of Buffer Systems , 1991, CAV.