Issue No. 01 - January (2001 vol. 12)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.899941
<p><b>Abstract</b>—A distributed system is said to be self-stabilizing if it converges to safe states regardless of its initial state. In this paper we present our results of using symbolic model checking to verify distributed algorithms against the self-stabilizing property. In general, the most difficult problem with model checking is state explosion; it is especially serious in verifying the self-stabilizing property, since it requires the examination of all possible initial states. So far applying model checking to self-stabilizing algorithms has not been successful due to the problem of state explosion. In order to overcome this difficulty, we propose to use symbolic model checking for this purpose. Symbolic model checking is a verification method which uses Ordered Binary Decision Diagrams (OBDDs) to compactly represent state spaces. Unlike other model checking techniques, this method has the advantage that most of its computations do not depend on the initial states. We show how to verify the correctness of algorithms by means of SMV, a well-known symbolic model checker. By applying the proposed approach to several algorithms in the literature, we demonstrate empirically that the state spaces of self-stabilizing algorithms can be represented by OBDDs very efficiently. Through these case studies, we also demonstrate the usefulness of the proposed approach in detecting errors.</p>
Self-stabilization, automatic verification, symbolic model checking, distributed algorithms.
R. B. Paidi, T. Kikuno, S. Nagano and T. Tsuchiya, "Symbolic Model Checking for Self-Stabilizing Algorithms," in IEEE Transactions on Parallel & Distributed Systems, vol. 12, no. , pp. 81-95, 2001.