Skip to main content
Log in

Verification of distributed programs using representative interleaving sequences

  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

We present a formal proof method for distributed programs. The semantics used to justify the proof method explicitly identifies equivalence classes of execution sequences which are equivalent up to permuting commutative operations. Each equivalence class is called an interleaving set or a run. The proof rules allow concluding the correctness of certain classes of properties for all execution sequences, even though such properties are demonstrated directly only for a subset of the sequences. The subset used must include a representative sequence from each interleaving set, and the proof rules, when applicable, guarantee that this is the case. By choosing a subset with appropriate sequences, simpler intermediate assertions can be used than in previous formal approaches. The method employs proof lattices, and is expressed using the temporal logic ISTL.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

    Google Scholar 

  2. Apt K, Francez N, Katz S: Appraising fairness in languages for distributed programming. Distribut. Comput. 2(4):226–241 (1988).

    Article  Google Scholar 

  3. Apt, KR, Francez N, de Roever WP: A proof system for communicating sequential processes. ACM Trans. Program. Lang. Syst. 2:359–385 (1980)

    Article  Google Scholar 

  4. Alpern B, Schneider FB: Defining liveness. Inf. Process. Lett. 21:181–185 (1985)

    Article  Google Scholar 

  5. Chandy KM, Lamport L: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comp. Syst. (3):63–75 (1985)

    Article  Google Scholar 

  6. Chou CT, Gafni E: Understanding and verifying distributed algorithms using stratified decomposition. 7th Annual ACM Symposium on Principles of Distributed Computing 44–65 (1988)

  7. Degano P, De Nicola R, Montanari U: Partial ordering for CCS. In: Budach L (ed.) Proceedings FCT 85. Lect. Notes Comput. Sci. Vol. 199. Springer, Berlin Heidelberg New York 1985, 520–533

    Google Scholar 

  8. Dijkstra EW: Guarded commands, nondeterminancy and formal derivation of programs. Commun. ACM 18:453–457 (1975)

    Article  Google Scholar 

  9. Dijkstra EW: The distributed snapshot algorithm of K.M. Chandy and L. Lamport. EWD864a

  10. Elrad T, Francez N: Decomposition of distributed programs into communication-closed layers. Sci. Comput Programm 2:155–173 (1982)

    Article  Google Scholar 

  11. Emerson EA: Alternative semantics for temporal logic. Theor. Comput. Sci. 26:121–130 (1983)

    Article  Google Scholar 

  12. Emerson EA, Halpern JY: “Sometimes” and “not never” revisited: on branching versus linear time temporal logic. J. ACM 33:151–178 (1986)

    Article  Google Scholar 

  13. Francez N:Fairness. In: Gries D (ed.), Texts and monographs in computer science. Springer, Berlin Heidelberg New York 1986

    Google Scholar 

  14. Grümberg O, Francez N, Makowski JA, de Roever WP: A proof rule for termination of guarded commands. Inf. Contr. 66:83–102 (1985)

    Article  Google Scholar 

  15. Hoare CAR: Communicating sequential processes. Commun. ACM 21:666–677 (1978)

    Article  Google Scholar 

  16. Janicki R, Koutny M: Towards a theory of simulations for verification of concurrent systems. In: Odijk EM, Rem M, Syre JC (eds), PARLE '89, Lect Notes Comput Sci 366:73–88 (1989)

  17. Katz S, Peled D: Interleaving set temporal logic. Theor. Comput. Sci. 75(3):263–287 (1990). Preliminary version in Proceedings of the 6th Annual ACM Symposium on Prinicples of Distributed Computing, Vancouver, Canada 1987, pp. 178–190

    Article  Google Scholar 

  18. Katz S, Peled D: Defining conditional independence using collapses, to appear in Theor. Comput. Sci. Preliminary version in Workshop on Semantics for Concurrency Leicester England 1990

  19. Katz S, Peled D: An efficient verification method for parallel and distributed programs. Proceedings of Workshop on Linear Time, Branching Time and Partial Orders, in Logics and Models for Concurrency. Lect. Notes Comput. Sci. vol. 354. Springer, Berlin Heidelberg New York 1988, 489–507

    Google Scholar 

  20. Kwiatkowska MZ: Fairness for Non-Interleaving Concurrency. Phd Thesis, Department of Computing Studies Leicester 1989

  21. Lamport L: Paradigms for distributed programs: computing global states. In: Paul M, Siegart H (eds) Distributed systems — Methods and tools for specification. An advanced course. Munich. Lect Notes Comput Sci vol. 190. Springer, Berlin Heidelberg New York 1985, pp 454–468

    Google Scholar 

  22. Lehman D, Pnueli A, Stavi J: Impartiality, justice and fairness: the ethics of concurrent termination. Proc. of 8th International colloquium on Automata, Languages and Programming. Lect Notes Comput Sci 115:264–277 (1981)

    Google Scholar 

  23. Manna Z, Pnueli A: Verification of concurrent programs: the temporal framework. In: Boyer RS, Moore JS (eds) The correctness problem in computer science. Academic Press 1981, pp 215–273

  24. Manna Z, Pnueli A: How to cook a temporal proof system for your pet language. 10th Symposium on Principles of Programming Languages. Austin Texas 1983, pp 141–154

  25. Manna Z, Pnueli A: Completing the temporal picture. Proceedings 16th International Colloqium on Automata, Languages and Programming. Lect Notes Comput Sci 372:534–558 (1989)

    Google Scholar 

  26. Mazurkiewicz A: Trace semantics, Proceedings of advances in Petri nets 1986. Bad Honnel. Lect Notes Comput Sci 255:279–324 (1987)

    Google Scholar 

  27. Owicki S, Lamport L: Proving liveness properties of concurrent programs. ACM Trans Program Lang Syst 4:455–495

  28. Peled D, Katz S, Pnueli A: Specifying and Proving Serializability in Temporal Logic. Proceedings of 6th annual IEEE symposium on Logic in Computer Science. Amsterdam 1991, pp 232–245

  29. Peled D, Pnueli A: Proving partial order liveness properties. 17th International Colloquium on Automata, Languages and Programming. Warwick University England July 1990. Lect Notes Comput Sci, vol. 443. Springer, Berlin Heidelberg New York 1990, pp 553–571

    Google Scholar 

  30. Penczek W: A temporal logic for event structures, Fundamenta Informaticae, Vol. 11 (3), 297–326 (1988)

    Google Scholar 

  31. Petri CA: Kommunikation mit Automaten. Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2 1962

    Google Scholar 

  32. Pnueli A: Applications of temporal logic to the specification and verification of reactive systems, a survey of current trends, in Current Trends in Concurrency. Lect Notes Comput Sci, vol. 224. Springer, Berlin Heidelberg New York 1986, pp 510–584

    Google Scholar 

  33. Reisig W: Partial order semantics versus interleaving semantics for CSP like languages and its impact on fairness, 11th ICALP, Antwerp Belgium. Lect Notes Comput Sci 172. Springer, Berlin Heidelberg New York 1984, pp 403–413

    Google Scholar 

  34. Reisig W: Temporal logic and causality in concurrent systems. In: Vogt FH (ed) CONCURRENCY 88. Lect Notes Comput Sci, vol 335. Springer, Berlin Heidelberg New York 1988, pp 121–139

    Google Scholar 

  35. Stomp FA, deRoever WP: Designing distributed algorithms by means of formal sequentially phased reasoning, Proceedings of the 3rd International Workshop on Distributed Algorithms. Lect Notes Comput Sci, vol 392. Springer, Berlin Heidelberg New York 1989

    Google Scholar 

  36. Valmari A: Stubborn sets for reduced state space generation, 10th International Conference on Application and Theory of Petri Nets. Bonn 1989 (2), pp 1–22

  37. Valmari A: A stubborn attack on state explosion. In: Clarke E, Kurshan R (eds) Computer-aided Verification '90. Discrete Math, vol. 3. North-Holland, Amsterdam 1990, pp 25–42

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Shmuel Katz received his B.A. in Mathematics and English Literature from U.C.L.A., and his M.Sc. and Ph.D. in Computer Science (1976) from the Weizmann Institute in Rechovot, Israel. From 1976 to 1981 he was at the IBM Israel Scientific Center. Presently, he is on the faculty of the Computer Science Department at the Technion in Haifa, Israel. In 1977–1978 he visited for a year at the University of California, Berkeley, and in 1984–1985 was at the University of Texas at Austin. He has been a consultant and visitor at the MCC Software Technology Program, and in 1988–1989 was a visiting scientist at the I.B.M. Watson Research Center. His research interests include the methodology of programming, specification methods, program verification and semantics, distributed programming, data structures, and programming languages.

Doron Peled was born in 1962 in Haifa. He received his B.Sc. and M.Sc. in Computer Science from the Technion, Israel in 1984 and 1987, respectively. Between 1987 and 1991 he did his military service. He also completed his D.Sc. degree in the Technion during these years. Dr. Peled was with the Computer Science department at Warwick University in 1991–1992. He is currently a member of the technical staff with AT & T Bell Laboratories. His main research interests are specification and verification of programs, especially as related to partial order models, fault-tolerance and real-time. He is also interested in semantics and topology.

This research was carried out while the second author was at the Department of Computer Science, The Technion, Haifa 32000, Israel

Rights and permissions

Reprints and permissions

About this article

Cite this article

Katz, S., Peled, D. Verification of distributed programs using representative interleaving sequences. Distrib Comput 6, 107–120 (1992). https://doi.org/10.1007/BF02252682

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Key words

Navigation