A Lattice-Structured Proof Technique Applied to a Minimum Spanning Tree Algorithm

Abstract : Highly-optimized concurrent algorithms are often hard to prove correct because they have no natural decomposition into separately provable parts. This paper presents a proof technique for the modular verification of such non-modular algorithms. It generalizes existing verification techniques based on a totally-ordered hierarchy of refinements to allow a partially-ordered hierarchy-that is, a lattice of different views of the algorithm. The technique is applied to the well-known distributed minimum spanning tree algorithm of Gallager, Humblet and Spira, which was until recently lacked a rigorous proof. Keywords: Distributed algorithms, Verification, Modularity, Partially ordered refinements, Liveness proofs, Minimum spanning tree.

[1]  Zohar Manna,et al.  Verification of Concurrent Programs: Temporal Proof Principles , 1981, Logic of Programs.

[2]  Amir Pnueli,et al.  Impartiality, Justice and Fairness: The Ethics of Concurrent Termination , 1981, ICALP.

[3]  Nissim Francez,et al.  Decomposition of Distributed Programs into Communication-Closed Layers , 1982, Sci. Comput. Program..

[4]  Pierre A. Humblet,et al.  A Distributed Algorithm for Minimum-Weight Spanning Trees , 1979, TOPL.

[5]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[6]  E. W. Stark FOUNDATIONS OF A THEORY OF SPECIFICATION FOR DISTRIBUTED SYSTEMS , 1984 .

[7]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[8]  Francis Y. L. Chin,et al.  An almost linear time and O(nlogn+e) Messages distributed algorithm for minimum-weight spanning trees , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[9]  Baruch Awerbuch,et al.  Distributed BFS algorithms , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[10]  Eli Gafni,et al.  Improvements in the time complexity of two message-optimal election algorithms , 1985, PODC '85.

[11]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[12]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[13]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[14]  Bowen Alpern,et al.  Proving Boolean Combinations of Deterministic Properties , 1987, Logic in Computer Science.

[15]  Baruch Awerbuch,et al.  Optimal distributed algorithms for minimum weight spanning tree, counting, leader election, and related problems , 1987, STOC.

[16]  R. P. Kurshan,et al.  Reducibility in analysis of coordination , 1988 .