Channel Representations in Protocol Verification

In automated verification of protocols, one source of complications is that channels may have unbounded capacity, in which case a naive model of the protocol is no longer finite state. Symbolic techniques have therefore been developed for representing the contents of unbounded channels. In this paper, we survey some of these techniques and apply them to a simple leader election protocol. We consider protocols with entities modeled as finite state machines which communicate by sending messages from a finite alphabet over unbounded channels; this is a framework for which many techniques have been developed. We also consider a more general model in which messages may belong to an unbounded domain of values which may be compared according to a total ordering relation: the motivation is to study protocols with timestamps or priorities. We show how techniques from the previous setting can be extended to this more general model, but also show that reachability quickly becomes undecidable if channels preserve the ordering between messages.

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

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

[3]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

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

[5]  Philippe Schnoebelen,et al.  Well-structured transition systems everywhere! , 2001, Theor. Comput. Sci..

[6]  Harry Rudin,et al.  Automated Protocol Validation: One Chain of Development , 1978, Comput. Networks.

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

[8]  Mohamed G. Gouda,et al.  Closed Covers: To Verify Progress for Communicating Finite State Machines , 1984, IEEE Transactions on Software Engineering.

[9]  Gérard Le Lann,et al.  Distributed Systems - Towards a Formal Approach , 1977, IFIP Congress.

[10]  Giorgio Delzanno,et al.  Constraint-Based Analysis of Broadcast Protocols , 1999, CSL.

[11]  Parosh Aziz Abdulla,et al.  Effective Lossy Queue Languages , 2001, ICALP.

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

[13]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

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

[15]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

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

[17]  Deepinder P. Sidhu,et al.  Mechanical verification and automatic implementation of communication protocols , 1986, IEEE Transactions on Software Engineering.

[18]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

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

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

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

[22]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[23]  Ahmed Bouajjani,et al.  Symbolic Reachability Analysis of FIFO Channel Systems with Nonregular Sets of Configurations (Extended Abstract) , 1997, ICALP.

[24]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[25]  Parosh Aziz Abdulla,et al.  Symbolic Verification of Lossy Channel Systems: Application to the Bounded Retransmission Protocol , 1999, TACAS.

[26]  Alain Finkel,et al.  Decidability of the termination problem for completely specified protocols , 1994, Distributed Computing.

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

[28]  Parosh Aziz Abdulla,et al.  On-the-Fly Analysis of Systems with Unbounded, Lossy FIFO Channels , 1998, CAV.

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

[30]  Kedar S. Namjoshi,et al.  On model checking for non-deterministic infinite-state systems , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[31]  Parosh Aziz Abdulla,et al.  Timed Petri Nets and BQOs , 2001, ICATPN.

[32]  Parosh Aziz Abdulla,et al.  General decidability theorems for infinite-state systems , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[33]  C. H. West,et al.  Automated validation of a communications protocol: the CCITT X.21 recommendation , 1978 .

[34]  Alain Finkel,et al.  Reduction and covering of infinite reachability trees , 1990, Inf. Comput..

[35]  Parosh Aziz Abdulla,et al.  Verifying Networks of Timed Processes (Extended Abstract) , 1998, TACAS.

[36]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

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

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