Characterizing Correctness Properties of Parallel Programs Using Fixpoints

We have shown that correctness properties of parallel programs can be described using computation trees and that from these descriptions fixpoint characterizations can be generated. We have also given conditions on the form of computation tree descriptions to ensure that a correctness property can be characterized using continuous fixpoints. A consequence is that a correctness property such as inevitability under fair scheduling can be characterized as the least fixpoint of a monotonic, noncontinuous transformer, but cannot be characterized using fixpoints of continuous transformers (nor as the greatest fixpoint of a monotonic transformer of any degree of complexity lower than fair inevitability itself). Hence, currently known proof rules are not applicable (see however [FS80]). We are now investigating whether useful proof rules can exist for correctness properties having only a monotonic, noncontinuous least fixpoint characterization. In addition, we are examining alternate notions of fairness which do have continuous fixpoint characterizations.

[1]  Lawrence Flon,et al.  The Total Correctness of Parallel Programs , 1981, SIAM J. Comput..

[2]  Karl Winklmann,et al.  On the expressive power of Dynamic Logic (Preliminary Report) , 1979, STOC.

[3]  Edmund M. Clarke,et al.  Synthesis of resource invariants for concurrent programs , 1979, POPL.

[4]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[5]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[6]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[7]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[8]  Ashok K. Chandra,et al.  Computable nondeterministic functions , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[9]  J. W. deBakker Semantics of infinite processes using generalized trees , 1977 .

[10]  Lawrence Flon,et al.  Consistent and complete proof rules for the total correctness of parallel programs , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[11]  John H. Reif,et al.  Data flow analysis of communicating processes , 1979, POPL.

[12]  J. W. de Bakker,et al.  Recursive Programs as Predicate Transformers , 1977, Formal Description of Programming Concepts.

[13]  Edmund M. Clarke Program invariants as fixed points , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[14]  Raymond T. Yeh,et al.  Strong verification of programs , 1975, IEEE Transactions on Software Engineering.