Parameterized Verification of Communicating Automata under Context Bounds

We study the verification problem for parameterized communicating automata (PCA), in which processes synchronize via message passing. A given PCA can be run on any topology of bounded degree (such as pipelines, rings, or ranked trees), and communication may take place between any two processes that are adjacent in the topology. Parameterized verification asks if there is a topology from a given topology class that allows for an accepting run of the given PCA. In general, this problem is undecidable even for synchronous communication and simple pipeline topologies. We therefore consider context-bounded verification, which restricts the behavior of each single process. For several variants of context bounds, we show that parameterized verification over pipelines, rings, and ranked trees is decidable. More precisely, it is PSPACE-complete for pipelines and rings, and EXPTIME-complete for ranked trees. Our approach is automata-theoretic. We build a finite (tree, respectively) automaton that identifies those topologies that allow for an accepting run of the given PCA. The verification problem then reduces to checking nonemptiness of that automaton.

[1]  Javier Esparza Keeping a Crowd Safe: On the Complexity of Parameterized Verification (Corrected version) , 2014, ArXiv.

[2]  Giorgio Delzanno,et al.  On the Power of Cliques in the Parameterized Verification of Ad Hoc Networks , 2011, FoSSaCS.

[3]  Vincent Danos,et al.  Computer Science Logic , 1993, Lecture Notes in Computer Science.

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

[5]  Gennaro Parlato,et al.  The tree width of auxiliary storage , 2011, POPL '11.

[6]  Wolfgang Thomas,et al.  Elements of an automata theory over partial orders , 1997, Partial Order Methods in Verification.

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

[8]  Giorgio Delzanno,et al.  Parameterized Verification of Broadcast Networks of Register Automata , 2013, RP.

[9]  Ahmed Bouajjani,et al.  Bounded phase analysis of message-passing programs , 2012, International Journal on Software Tools for Technology Transfer.

[10]  Helmut Seidl,et al.  Haskell Overloading is DEXPTIME-Complete , 1994, Inf. Process. Lett..

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

[12]  Parosh Aziz Abdulla,et al.  All for the Price of Few , 2013, VMCAI.

[13]  Anca Muscholl,et al.  Reachability Analysis of Communicating Pushdown Systems , 2010, FoSSaCS.

[14]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

[16]  E. Cachan,et al.  Logic for Communicating Automata with Parameterized Topology , 2014 .

[17]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[18]  Rupak Majumdar,et al.  Parameterized Verification of Asynchronous Shared-Memory Systems , 2016, J. ACM.

[19]  Salvatore La Torre,et al.  Model-Checking Parameterized Concurrent Programs Using Linear Interfaces , 2010, CAV.

[20]  Vineet Kahlon,et al.  Parameterized Model Checking of Ring-Based Message Passing Systems , 2004, CSL.

[21]  Salvatore La Torre,et al.  Context-Bounded Analysis of Concurrent Queue Systems , 2008, TACAS.

[22]  Mohamed Faouzi Atig,et al.  Context-Bounded Analysis for Concurrent Programs with Dynamic Creation of Threads , 2009, TACAS.

[23]  Benjamin Aminof,et al.  Parameterized Model Checking of Token-Passing Systems , 2013, VMCAI.

[24]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.