Undecidable Verification Problems for Programs with Unreliable Channels

We consider the verification of a particular class of infinite-state systems, namely systems consisting of finite-state processes that communicate via unbounded lossy FIFO channels. This class is able to model e.g. link protocols such as the Alternating Bit Protocol and HDLC. In an earlier paper, we showed that several interesting verification problems are decidable for this class of systems, namely (1) the reachability problem: is a set of states reachable from some other state of the system, (2) safety property over traces formulated as regular sets of allowed finite traces, and (3) eventuality properties: do all computations of a system eventually reach a given set of states. In this paper, we show that the following problems are undecidable, namely The model checking problem in propositional temporal logics such as Propositional Linear Time Logic (PTL) and Computation Tree Logic (CTL). The problem of deciding eventuality properties with fair channels: do all computations eventually reach a given set of states if the unreliable channels are fair in the sense that they deliver infinitely many messages if infinitely many messages are transmitted. This problem can model the question of whether a link protocol, such as HDLC, will eventually reliably transfer messages across a medium that is not permanently broken.

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

[2]  Bengt Jonsson,et al.  Deciding Bisimulation Equivalences for a Class of Non-Finite-State Programs , 1989, Inf. Comput..

[3]  Bengt Jonsson,et al.  Deciding Bisimulation Equivalences for a Class of Non-Finite-State Programs , 1989, STACS.

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

[5]  Karlis Cerans,et al.  Decidability of Bisimulation Equivalences for Parallel Timer Processes , 1992, CAV.

[6]  Wil M. P. van der Aalst,et al.  Applications and Theory of Petri Nets , 1983, Informatik-Fachberichte.

[7]  Edmund M. Clarke,et al.  Avoiding the state explosion problem in temporal logic model checking , 1987, PODC '87.

[8]  Hsu-Chun Yen,et al.  Boundedness, Empty Channel Detection, and Synchronization for Communicating Finite Automata , 1986, Theor. Comput. Sci..

[9]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

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

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

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

[13]  Parosh Aziz Abdulla,et al.  Verifying programs with unreliable channels , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[14]  Petr Jancar,et al.  Decidability of a Temporal Logic Problem for Petri Nets , 1990, Theor. Comput. Sci..

[15]  Bruno Courcelle,et al.  On Constructing Obstruction Sets of Words , 1991, Bull. EATCS.

[16]  Gregor von Bochmann,et al.  Finite State Description of Communication Protocols , 1978, Comput. Networks.

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

[18]  Wang Yi,et al.  CCS + Time = An Interleaving Model for Real Time Systems , 1991, ICALP.

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

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

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

[22]  E. Clarke,et al.  Automatic Veriication of Nite-state Concurrent Systems Using Temporal-logic Speciications. Acm , 1993 .

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

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

[25]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[26]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

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

[28]  Søren Christensen,et al.  Bisimulation Equivalence is Decidable for all Context-Free Processes , 2022 .

[29]  Bernhard Steffen,et al.  Model Checking for Context-Free Processes , 1992, CONCUR.

[30]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[31]  Faron Moller,et al.  Bisimulation Equivalence is Decidable for Basic Parallel Processes , 1993, CONCUR.

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

[33]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.