An efficient verification method for parallel and distributed programs
- Cite this paper as:
- Katz S., Peled D. (1989) An efficient verification method for parallel and distributed programs. In: de Bakker J.W., de Roever W.P., Rozenberg G. (eds) Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency. REX 1988. Lecture Notes in Computer Science, vol 354. Springer, Berlin, Heidelberg
We present a formal proof method which is based on a partial order semantics for parallel or distributed programs. In this view, a program's semantics is given by a collection of partial orders of the events which can occur during execution. Rather than using the partial orders directly, the basis of the method assumes the sets of (linear) execution sequences with global states which are consistent with each partial order (each such set is called an interleaving set). The proof rules allow concluding the correctness of certain classes of properties for all execution sequences, even though the property is only demonstrated directly for a subset of the execution sequences. The subset used must include a representative sequence from each interleaving set, and the proof rules guarantee that this is the case when they may be applied. The method employs proof lattices, and is expressed using the temporal logic ISTL*. By choosing a subset with appropriate sequences, simpler intermediate assertions can be used than in previous formal approaches. Moreover, since less direct checking must be done, the method is often much more efficient.
Key wordsVerification Partial order semantics Execution sequences Temporal logic Proof lattices
Unable to display preview. Download preview PDF.