Skip to main content

An efficient verification method for parallel and distributed programs

Preliminary version

  • Technical Contributions
  • Conference paper
  • First Online:
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency (REX 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 354))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Abrahamson, Decidability and expressiveness of logics of programs, Ph.D. thesis, University of Washington at Seattle, 1980.

    Google Scholar 

  2. K.R. Apt, N. Francez, W.P. de Roever, A proof system for Communicating Sequential Processes, ACM TOPLAS Vol 2(1980), 359–385.

    Article  Google Scholar 

  3. K.M. Chandy, L. Lamport, Distributed snapshots: determining global states of distributed systems, ACM Transactions on Computer Systems, Vol. 3, No. 1

    Google Scholar 

  4. P. Degano, R. De Nicola, U. Montanari, Partial ordering for CCS. In: Proceeding FCT 85, Lecture Notes in Computer Science, Springer-Verlag, 199, 520–533.

    Google Scholar 

  5. E.W. Dijkstra, Guarded commands, Nondeterminancy and Formal Derivation of Programs, Communication of the ACM, 18(1975), 453–457.

    Article  Google Scholar 

  6. E.W. Dijkstra, The distributed snapshot algorithm of K.M. Chandy and L. Lamport, EWD864a.

    Google Scholar 

  7. Tz. Elrad, N. Francez, Decomposition of distributed programs into communication-closed layers, Science of Computer Programming 2(1982), 155–173

    Article  Google Scholar 

  8. E.A. Emerson, Alternative semantics for temporal logic, Theoretical Computer Science 26(1983), 121–130.

    Article  Google Scholar 

  9. E.A. Emerson, J.Y. Halpern, "Sometimes" and "not never" revisited: on branching versus linear time temporal logic, Journal of the ACM 33(1986), 151–178. 30, 1985, 1–24.

    Article  Google Scholar 

  10. N. Francez, Fairness, texts and monographs in computer science (D. Gries, ed.), Springer-Verlag, New York, 1986.

    Google Scholar 

  11. C.A.R. Hoare, Communicating sequential processes, Communications of the ACM, 21 (1978), 666–677.

    Article  Google Scholar 

  12. S. Katz, D. Peled, Interleaving Set Temporal Logic, 6th ACM Symposium on Principles of Distributed Computing, Vancouver, Canada, August 1987, 178–190.

    Google Scholar 

  13. L. Lamport, Paradigms for distributed programs: computing global states, In: Distributed systems — Methods and tools for specification, An advanced course, Munich, 1985, Edited by M. Paul and H.J. Siegert, Lecture notes in Computer Science, Springer-Verlag, 190, 454–468.

    Google Scholar 

  14. Z. Manna, A. Pnueli, Verification of concurrent programs: the temporal framework, In: The correctness problem in computer science, Edited by R.S. Boyer & J.S. Moore, 1981, 215–273.

    Google Scholar 

  15. Z. Manna, A. Pnueli, How to cook a temporal proof system for your pet language, 10th Symposium on principles of programming languages, Austin, Texas, 1983, 141–154.

    Google Scholar 

  16. A. Mazurkiewicz, Trace semantics, Proceedings of an advanced course, Bad Honnef, September 1986, Lecture Notes in Computer Science, 255.

    Google Scholar 

  17. S. Owicki, L. Lamport, Proving liveness properties of concurrent programs, ACM transactions on Programming languages and Systems, 4, 1982, 455–495.

    Article  Google Scholar 

  18. C. A. Petri, Kommunikation mit Automaten, Bonn: Institut fur Instrumentelle Matematik, Schriften des IIM Nr. 2(1962).

    Google Scholar 

  19. A. Pnueli, Applications of temporal logic to the specification and verification of reactive systems, a survey of current trends.

    Google Scholar 

  20. W. Reisig, Partial order semantics versus interleaving semantics for CSP like languages and its impact on fairness, 11th ICALP, Antwerp, Belgium, 1984, Lecture notes in Computer Science, Springer-Verlag, 172, 403–413.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

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. https://doi.org/10.1007/BFb0013032

Download citation

  • DOI: https://doi.org/10.1007/BFb0013032

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51080-2

  • Online ISBN: 978-3-540-46147-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics