On the Completeness of Bounded Model Checking for Threshold-Based Distributed Algorithms: Reachability

Counter abstraction is a powerful tool for parameterized model checking, if the number of local states of the concurrent processes is relatively small. In recent work, we introduced parametric interval counter abstraction that allowed us to verify the safety and liveness of threshold-based fault-tolerant distributed algorithms (FTDA). Due to state space explosion, applying this technique to distributed algorithms with hundreds of local states is challenging for state-of-the-art model checkers. In this paper, we demonstrate that reachability properties of FTDAs can be verified by bounded model checking. To ensure completeness, we need an upper bound on the diameter, i.e., on the longest distance between states. We show that the diameters of accelerated counter systems of FTDAs, and of their counter abstractions, have a quadratic upper bound in the number of local transitions. Our experiments show that the resulting bounds are sufficiently small to use bounded model checking for parameterized verification of reachability properties of several FTDAs, some of which have not been automatically verified before.

[1]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[2]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

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

[4]  Patrice Godefroid Using Partial Orders to Improve Automatic Verification Methods , 1990, CAV.

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

[6]  Emal Pasarly Time , 2011, Encyclopedia of Evolutionary Psychological Science.

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

[8]  Neeraj Suri,et al.  Efficient model checking of fault-tolerant distributed protocols , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[9]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[10]  Grégoire Sutre,et al.  Flat Counter Automata Almost Everywhere! , 2005, ATVA.

[11]  Thomas W. Doeppner,et al.  Parallel program correctness through refinement , 1977, POPL.

[12]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[13]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

[14]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[15]  Rachid Guerraoui,et al.  Non-blocking atomic commit in asynchronous distributed systems with failure detectors , 2002, Distributed Computing.

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

[17]  Michel Raynal A case study of agreement problems in distributed systems: non-blocking atomic commitment , 1997, Proceedings 1997 High-Assurance Engineering Workshop.

[18]  Joël Ouaknine,et al.  Completeness and Complexity of Bounded Model Checking , 2004, VMCAI.

[19]  Helmut Veith,et al.  Tutorial on Parameterized Model Checking of Fault-Tolerant Distributed Algorithms , 2014, SFM.

[20]  Daniel Kroening,et al.  Symbolic Counter Abstraction for Concurrent Software , 2009, CAV.

[21]  Helmut Veith,et al.  Parameterized model checking of fault-tolerant distributed algorithms by abstraction , 2013, FMCAD 2013.

[22]  Jérôme Leroux,et al.  FAST Extended Release , 2006, CAV.

[23]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[24]  Helmut Veith,et al.  SMT and POR Beat Counter Abstraction: Parameterized Model Checking of Threshold-Based Distributed Algorithms , 2015, CAV.

[25]  Daniel Kroening,et al.  Efficient Computation of Recurrence Diameters , 2002, VMCAI.

[26]  Victoria Allen,et al.  All for one. , 2013, Journal of obstetrics and gynaecology Canada : JOGC = Journal d'obstetrique et gynecologie du Canada : JOGC.

[27]  Boris D. Lubachevsky,et al.  An approach to automating the verification of compact parallel coordination programs. I , 2018, Acta Informatica.

[28]  Joël Ouaknine,et al.  Linear Completeness Thresholds for Bounded Model Checking , 2011, CAV.

[29]  Helmut Veith,et al.  Towards Modeling and Model Checking Fault-Tolerant Distributed Algorithms , 2013, SPIN.

[30]  Leslie Lamport,et al.  Pretending Atomicity , 1989 .

[31]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[32]  Sam Toueg,et al.  Simulating authenticated broadcasts to derive simple fault-tolerant algorithms , 1987, Distributed Computing.

[33]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

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

[35]  Achour Mostéfaoui,et al.  Evaluating the condition-based approach to solve consensus , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..