A Strategy for Automatic Verification of Stabilization of Distributed Algorithms

Automatic verification of convergence and stabilization properties of distributed algorithms has received less attention than verification of invariance properties. We present a semi-automatic strategy for verification of stabilization properties of arbitrarily large networks under structural and fairness constraints. We introduce a sufficient condition that guarantees that every fair execution of any (arbitrarily large) instance of the system stabilizes to the target set of states. In addition to specifying the protocol executed by each agent in the network and the stabilizing set, the user also has to provide a measure function or a ranking function. With this, we show that for a restricted but useful class of distributed algorithms, the sufficient condition can be automatically checked for arbitrarily large networks, by exploiting the small model properties of these conditions. We illustrate the method by automatically verifying several well-known distributed algorithms including linkreversal, shortest path computation, distributed coloring, leader election and spanning-tree construction.

[1]  Vineet Kahlon,et al.  Reducing Model Checking of the Many to the Few , 2000, CADE.

[2]  Oliver E. Theel A new verification technique for self-stabilizing distributed algorithms based on variable structure systems and Ljapunov theory , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[3]  John N. Tsitsiklis,et al.  On the stability of asynchronous iterative processes , 1986, 1986 25th IEEE Conference on Decision and Control.

[4]  Oliver E. Theel,et al.  A Tranformational Approach for Designing Scheduler-Oblivious Self-stabilizing Algorithms , 2010, SSS.

[5]  Shrisha Rao,et al.  Distributed Systems: An Algorithmic Approach , 2008, IEEE Distributed Systems Online.

[6]  Nachum Dershowitz,et al.  Termination of Rewriting , 1987, J. Symb. Comput..

[7]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[8]  Oliver E. Theel Exploitation of Ljapunov Theory for Verifying Self-Stabilizing Algorithms , 2000, DISC.

[9]  Mark Ryan,et al.  Logic in Computer Science: Modelling and Reasoning about Systems , 2000 .

[10]  Taylor T. Johnson,et al.  Invariant synthesis for verification of parameterized cyber-physical systems with applications to aerospace systems , 2013 .

[11]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[12]  Sayan Mitra,et al.  A verification framework for hybrid systems , 2007 .

[13]  Taylor T. Johnson,et al.  A Small Model Theorem for Rectangular Hybrid Automata Networks , 2012, FMOODS/FORTE.

[14]  Dimitri P. Bertsekas,et al.  Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology , 1981, IEEE Trans. Commun..

[15]  Edsger W. Dijkstra,et al.  Self stabilization in spite of distributed control , 1974 .

[16]  Oliver E. Theel,et al.  Towards Automatic Convergence Verification of Self-stabilizing Algorithms , 2005, Self-Stabilizing Systems.

[17]  Nancy A. Lynch,et al.  Safety Verification of an Aircraft Landing Protocol: A Refinement Approach , 2007, HSCC.

[18]  Sayan Mitra,et al.  Abstraction Refinement for Stability , 2011, 2011 IEEE/ACM Second International Conference on Cyber-Physical Systems.