Extending the Limits of Sequentially Phased Reasoning

Verification via abstraction is the topic of concluding correctness of a complicated program from correctness of an abstraction of this program. Principles for sequentially phased reasoning are examples of verification via abstraction. They use permutation equivalences to abstract concurrent programs which logically work in phases to considerably simpler variants which perform these phases sequentially. It is shown in this paper that there are classes of concurrent programs, such as self-stabilizing ones, which logically work in phases but cannot be abstracted to a sequentialized version using permutation equivalence. A new class of so-called Ω-equivalences is defined which generalizes permutation equivalence and stutter equivalence. It is proved that both equivalences are indeed special cases of Ω-equivalences. A verification strategy based on Ω-equivalences is formulated and compared with existing approaches for sequentially phased reasoning. The strategy is applied to a self-stabilizing coloring program that can neither be abstracted by permutation nor by stutter equivalences to a sequentialized version.

[1]  Frank Harary,et al.  Graph Theory , 2016 .

[2]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[3]  Job Zwiers,et al.  Protocol Design by Layered Decomposition: A Compositional Approach , 1992, FTRTFT.

[4]  Doron A. Peled,et al.  Interleaving Set Temporal Logic , 1990, Theor. Comput. Sci..

[5]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[6]  Frank A. Stomp A derivation of a broadcasting protocol using sequentially phased reasoning , 1990, PSTV.

[7]  Doron A. Peled,et al.  Defining Conditional Independence Using Collapses , 1992, Theor. Comput. Sci..

[8]  Frank A. Stomp Structured design of self-stabilizing programs , 1993, [1993] The 2nd Israel Symposium on Theory and Computing Systems.

[9]  Job Zwiers,et al.  From sequential layers to distributed processes: deriving a distributed minimum weight spanning tree algorithm , 1992, PODC '92.

[10]  Ruurd Kuiper,et al.  Interface Refinement in Reactive Systems (Extended Abstract) , 1992, CONCUR.

[11]  Willem P. de Roever,et al.  A Correctness Proof of a Distributed Minimum-Weight Spanning Tree Algorithm (extended abstract) , 1987, ICDCS.

[12]  Michel Raynal,et al.  Synchronization and control of distributed systems and programs , 1990, Wiley series in parallel computing.

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

[14]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[15]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

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

[17]  Mannes Poel,et al.  Action Systems and Action Refinement in the Development of Parallel Systems - An Algebraic Approach , 1991, CONCUR.