An automata-theoretic approach to the verification of distributed algorithms

Abstract We introduce an automata-theoretic method for the verification of distributed algorithms running on ring networks. In a distributed algorithm, an arbitrary number of processes cooperate to achieve a common goal (e.g., elect a leader). Processes have unique identifiers (pids) from an infinite, totally ordered domain. An algorithm proceeds in synchronous rounds, which allow processes to exchange pids, store them in registers, and compare their register contents. To specify correctness properties, we introduce a logic that can reason about processes and pids. We show that model checking distributed algorithms can be reduced to satisfiability in propositional dynamic logic with loop and converse. Using this reduction, we provide an automata-theoretic approach to proving distributed algorithms correct up to a given number of rounds. Overall, we show that round-bounded verification of distributed algorithms over rings is PSPACE-complete, provided the number of rounds is given in unary.

[1]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[2]  Giorgio Delzanno Parameterized verification , 2016, International Journal on Software Tools for Technology Transfer.

[3]  Dexter Kozen,et al.  Lower bounds for natural proof systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[4]  Aniello Murano,et al.  Cycle Detection in Computation Tree Logic , 2016, GandALF.

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

[6]  Parosh Aziz Abdulla,et al.  Block Me If You Can! - Context-Sensitive Parameterized Verification , 2014, SAS.

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

[8]  Stephan Merz,et al.  A Reduction Theorem for the Verification of Round-Based Distributed Algorithms , 2009, RP.

[9]  Diego Figueira,et al.  Bottom-up automata on data trees and vertical XPath , 2011, STACS.

[10]  A. Habermann,et al.  Parallel Neighbor-Sort (or the Glory of the Induction Principle), , 1972 .

[11]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[12]  Helmut Veith,et al.  Who is afraid of Model Checking Distributed Algorithms , 2012 .

[13]  Roy Mennicke,et al.  Propositional Dynamic Logic with Converse and Repeat for Message-Passing Systems , 2012, CONCUR.

[14]  Tony Tan Extending two-variable logic on data trees with order on data values and its automata , 2014, ACM Trans. Comput. Log..

[15]  Aniello Murano,et al.  Verification of Asynchronous Mobile-Robots in Partially-Known Environments , 2015, PRIMA.

[16]  Dana Fisman,et al.  On Verifying Fault Tolerance of Distributed Protocols , 2008, TACAS.

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

[18]  Danny Dolev,et al.  An O(n log n) Unidirectional Distributed Algorithm for Extrema Finding in a Circle , 1982, J. Algorithms.

[19]  An Automata-Theoretic Approach to the Verification of Distributed Algorithms , 2015, CONCUR.

[20]  Benjamin Aminof,et al.  Model Checking Parameterised Multi-token Systems via the Composition Method , 2016, IJCAR.

[21]  Carsten Lutz,et al.  PDL with intersection and converse: satisfiability and infinite-state model checking , 2009, The Journal of Symbolic Logic.

[22]  C. Aiswarya,et al.  Model Checking Languages of Data Words , 2012, FoSSaCS.

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

[24]  Floris Geerts,et al.  XPath satisfiability in the presence of DTDs , 2008, JACM.

[25]  E. A. Emerson,et al.  On Reasoning About Rings , 2003, Int. J. Found. Comput. Sci..

[26]  Pavol Cerný,et al.  Streaming transducers for algorithmic verification of single-pass list-processing programs , 2010, POPL '11.

[27]  Olivier Serre,et al.  Parity Games Played on Transition Graphs of One-Counter Processes , 2006, FoSSaCS.

[28]  Moshe Y. Vardi Reasoning about The Past with Two-Way Automata , 1998, ICALP.

[29]  Juha Kortelainen,et al.  Multi-parameterised compositional verification of safety properties , 2015, Inf. Comput..

[30]  Gary L. Peterson,et al.  An O(nlog n) Unidirectional Algorithm for the Circular Extrema Problem , 1982, TOPL.

[31]  Wan Fokkink,et al.  Distributed Algorithms: An Intuitive Approach , 2013 .

[32]  Helmut Veith,et al.  On the Completeness of Bounded Model Checking for Threshold-Based Distributed Algorithms: Reachability , 2014, CONCUR.

[33]  Martin Lange,et al.  Model checking propositional dynamic logic with all extras , 2006, J. Appl. Log..

[34]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

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

[36]  W. Randolph Franklin On an improved algorithm for decentralized extrema finding in circular configurations of processors , 1982, CACM.

[37]  Diego Figueira,et al.  Reasoning on words and trees with data , 2010 .