Liveness of Randomised Parameterised Systems under Arbitrary Schedulers

We consider the problem of verifying liveness for systems with a finite, but unbounded, number of processes, commonly known as parameterised systems. Typical examples of such systems include distributed protocols (e.g. for the dining philosopher problem). Unlike the case of verifying safety, proving liveness is still considered extremely challenging, especially in the presence of randomness in the system. In this paper we consider liveness under arbitrary (including unfair) schedulers, which is often considered a desirable property in the literature of self-stabilising systems. We introduce an automatic method of proving liveness for randomised parameterised systems under arbitrary schedulers. Viewing liveness as a two-player reachability game (between Scheduler and Process), our method is a CEGAR approach that synthesises a progress relation for Process that can be symbolically represented as a finite-state automaton. The method is incremental and exploits both Angluin-style L*-learning and SAT-solvers. Our experiments show that our algorithm is able to prove liveness automatically for well-known randomised distributed protocols, including Lehmann-Rabin Randomised Dining Philosopher Protocol and randomised self-stabilising protocols (such as the Israeli-Jalfon Protocol). To the best of our knowledge, this is the first fully-automatic method that can prove liveness for randomised protocols.

[1]  Amos Israeli,et al.  Token management schemes and random walks yield self-stabilizing mutual exclusion , 1990, PODC '90.

[2]  Alastair F. Donaldson,et al.  Automatic techniques for detecting and exploiting symmetry in model checking , 2007 .

[3]  Hirotsugu Kakugawa,et al.  Uniform and Self-Stabilizing Token Rings Allowing Unfair Daemon , 1997, IEEE Trans. Parallel Distributed Syst..

[4]  Sriram Sankaranarayanan,et al.  Probabilistic Program Analysis with Martingales , 2013, CAV.

[5]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[6]  Bengt Jonsson,et al.  Systematic Acceleration in Regular Model Checking , 2007, CAV.

[7]  Anthony Widjaja Lin,et al.  Algorithmic metatheorems for decidable LTL model checking over infinite systems , 2010, FoSSaCS.

[8]  Maria Gradinariu Potop-Butucaru,et al.  Randomized self-stabilizing and space optimal leader election under arbitrary scheduler on rings , 2007, Distributed Computing.

[9]  Parosh Aziz Abdulla Regular model checking , 2011, International Journal on Software Tools for Technology Transfer.

[10]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[11]  Anthony Widjaja Lin,et al.  Synchronisation- and Reversal-Bounded Analysis of Multithreaded Programs with Counters , 2012, CAV.

[12]  Axel Legay T(O)RMC: A Tool for (omega)-Regular Model Checking , 2008, CAV.

[13]  Sébastien Tixeuil,et al.  A Taxonomy of Daemons in Self-stabilization , 2011, ArXiv.

[14]  Laure Petrucci,et al.  FAST: acceleration from theory to practice , 2008, International Journal on Software Tools for Technology Transfer.

[15]  Luca de Alfaro,et al.  Computing Minimum and Maximum Reachability Times in Probabilistic Systems , 1999, CONCUR.

[16]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[17]  Parosh Aziz Abdulla,et al.  Analysis of Message Passing Programs Using SMT-Solvers , 2013, ATVA.

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

[19]  Ufuk Topcu,et al.  An Automaton Learning Approach to Solving Safety Games over Infinite Graphs , 2016, TACAS.

[20]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[21]  Zohar Manna,et al.  Property-directed incremental invariant generation , 2008, Formal Aspects of Computing.

[22]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[23]  Annabelle McIver,et al.  Probabilistic Termination in B , 2003, ZB.

[24]  Amir Pnueli,et al.  Liveness with (0, 1, ∞)-counter abstraction , 2002 .

[25]  Marta Z. Kwiatkowska,et al.  Model checking for probability and time: from theory to practice , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[26]  Lukás Holík,et al.  Forest Automata for Verification of Heap Manipulation , 2011, CAV.

[27]  Parosh Aziz Abdulla,et al.  Regular Model Checking Without Transducers (On Efficient Verification of Parameterized Systems) , 2007, TACAS.

[28]  Mahesh Viswanathan,et al.  LEVER: A Tool for Learning Based Verification , 2006, International Conference on Computer Aided Verification.

[29]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[30]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[31]  Laurent Fribourg,et al.  Randomized dining philosophers without fairness assumption , 2002, Distributed Computing.

[32]  Nancy A. Lynch,et al.  Proving time bounds for randomized distributed algorithms , 1994, PODC '94.

[33]  Nils Jansen,et al.  Regular Model Checking Using Solver Technologies and Automata Learning , 2013, NASA Formal Methods.

[34]  David Monniaux An Abstract Analysis of the Probabilistic Termination of Programs , 2001, SAS.

[35]  G. Owen,et al.  Game Theory (2nd Ed.). , 1983 .

[36]  Boleslaw K. Szymanski A simple solution to Lamport's concurrent programming problem with linear wait , 1988, ICS '88.

[37]  M. Dufwenberg Game theory. , 2011, Wiley interdisciplinary reviews. Cognitive science.

[38]  Thomas Wilke,et al.  Automata logics, and infinite games: a guide to current research , 2002 .

[39]  Anthony Widjaja Lin,et al.  Recurrent Reachability Analysis in Regular Model Checking , 2008, LPAR.

[40]  Jeremy Sproston,et al.  State explosion in almost-sure probabilistic reachability , 2007, Inf. Process. Lett..

[41]  Amir Pnueli,et al.  Verification of multiprocess probabilistic protocols , 2005, Distributed Computing.

[42]  Mordechai Ben-Ari,et al.  Principles of concurrent and distributed programming , 2005, PHI Series in computer science.

[43]  Jun Sun,et al.  Regular Symmetry Patterns , 2016, VMCAI.

[44]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[45]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[46]  Pierre Ganty,et al.  Pattern-Based Verification for Multithreaded Programs , 2014, TOPL.

[47]  Achim Blumensath,et al.  Automatic structures , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[48]  Helmut Veith,et al.  Decidability of Parameterized Verification , 2015, Synthesis Lectures on Distributed Computing Theory.

[49]  Anthony Widjaja Lin Accelerating tree-automatic relations , 2012, FSTTCS.

[50]  Ted Herman,et al.  Probabilistic Self-Stabilization , 1990, Information Processing Letters.

[51]  Daniel Neider Reachability Games on Automatic Graphs , 2010, CIAA.

[52]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[53]  Pierre Wolper,et al.  Handling Liveness Properties in (omega-)Regular Model Checking , 2004, INFINITY.

[54]  Achim Blumensath,et al.  Finite Presentations of Infinite Structures: Automata and Interpretations , 2004, Theory of Computing Systems.

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

[56]  Parosh Aziz Abdulla,et al.  A Survey of Regular Model Checking , 2004, CONCUR.

[57]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[58]  Ahmed Bouajjani,et al.  Abstract regular (tree) model checking , 2012, International Journal on Software Tools for Technology Transfer.

[59]  Amir Pnueli,et al.  Liveness and Acceleration in Parameterized Verification , 2000, CAV.

[60]  Javier Esparza,et al.  Proving Termination of Probabilistic Programs Using Patterns , 2012, CAV.

[61]  Gethin Norman,et al.  Analysing Randomized Distributed Algorithms , 2004, Validation of Stochastic Systems.

[62]  Amir Pnueli,et al.  Liveness with (0, 1, infty)-Counter Abstraction , 2002, CAV.

[63]  Christof Löding,et al.  Learning Universally Quantified Invariants of Linear Data Structures , 2013, CAV.

[64]  Lukás Holík,et al.  Forest automata for verification of heap manipulation , 2012, Formal Methods Syst. Des..

[65]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[66]  Sam Toueg,et al.  Asynchronous consensus and broadcast protocols , 1985, JACM.

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

[68]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[69]  Mahesh Viswanathan,et al.  Using Language Inference to Verify Omega-Regular Properties , 2005, TACAS.

[70]  Daniel Kroening,et al.  Dynamic Cutoff Detection in Parameterized Concurrent Programs , 2010, CAV.

[71]  A. To Model Checking Infinite-State Systems: Generic and Specific Approaches , 2010 .

[72]  Amir Pnueli,et al.  Liveness with Invisible Ranking , 2004, VMCAI.

[73]  Amir Pnueli,et al.  Parameterized Verification by Probabilistic Abstraction , 2003, FoSSaCS.

[74]  Parosh Aziz Abdulla,et al.  Parameterized Verification of Infinite-State Processes with Global Conditions , 2007, CAV.

[75]  Amir Pnueli,et al.  Model checking and abstraction to the aid of parameterized systems (a survey) , 2004, Comput. Lang. Syst. Struct..

[76]  Parosh Aziz Abdulla,et al.  Proving Liveness by Backwards Reachability , 2006, CONCUR.

[77]  Wayne Goddard,et al.  Daemon Conversions in Distributed Self-stabilizing Algorithms , 2013, WALCOM.

[78]  Pierre Wolper,et al.  Iterating Transducers in the Large (Extended Abstract) , 2003, CAV.