Skip to main content

Proving termination of communicating programs

  • Selected Presentations
  • Conference paper
  • First Online:
Book cover CONCUR '90 Theories of Concurrency: Unification and Extension (CONCUR 1990)

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

Included in the following conference series:

  • 149 Accesses

Abstract

We demonstrate an assertional proof technique for showing termination of CSP-like programs. We introduce the notion of annotation which generalizes the idea of annotated program or proof outline. Our annotation is defined as a branching structure of predicates of the assertion language. The framework of annotations allows us to adopt the method of well founded counters. The resulting methodology for doing termination proofs is sound and complete for arithmetical interpretations. Moreover, we do not need to introduce auxiliary variables into the verified programs. Instead of using auxiliary variables to encode references to control flow, what is normally done, we factor out the reasoning on the flow of control from the assertional correctness proof. The separated reasoning on the flow of control can be easily mechanized. An example is worked out in which termination of a program for set partitioning is proved. The presented approach is, in fact, only a part of a more comprehensive methodology which is developed in the full version of this paper.

on leave from Institute of Mathematics, University of Gdańsk, 80-952 Gdańsk, Poland.

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.R. Apt, Formal justification of a proof system for communicating sequential processes, Journal of the ACM 30(1), pp. 197–216 (1983).

    Google Scholar 

  2. K.R. Apt, Ten years of Hoare's Logic: a survey — Part II: nondeterminism, Theoretical Computer Science 28, pp. 83–109 (1984).

    Google Scholar 

  3. K.R. Apt, N. Francez, W.P. de Roever, A proof system for communicating sequential processes, TOPLAS 2(3), pp. 359–384 (1980).

    Google Scholar 

  4. H. Barringer, A Survey of Verification Techniques for Parallel Programs, LNCS 191, Springer-Verlag, 1985.

    Google Scholar 

  5. S.D. Brookes, A semantically based proof system for partial correctness and deadlock in CSP, in: Proceedings 1986 LICS, pp. 58–65.

    Google Scholar 

  6. E.W. Dijkstra, A correctness proof for communicating processes — A small exercise, in: Selected writings on Computing: A Personal Perspective. Springer-Verlag, 1982.

    Google Scholar 

  7. D. Harel, First-Order Dynamic Logic, LNCS 68, Springer-Verlag, 1979.

    Google Scholar 

  8. G.M. Levin, D. Gries, A proof technique for communicating sequential processes, Acta Informatica 15, pp. 159–172 (1981).

    Google Scholar 

  9. J. Misra, K.M. Chandy, Proofs of Networks of Processes, IEEE Transactions on Software Engineering, vol. SE-7 (4), pp. 417–426, 1981.

    Google Scholar 

  10. P. Pączkowski, Proving correctness of concurrent programs without using auxiliary variables, ECS-LFCS-89-100, University of Edinburgh, 1989.

    Google Scholar 

  11. G.D. Plotkin, A Structural Approach to Operational Semantics, DAIMI Report FN-19, Aarhus University, 1981.

    Google Scholar 

  12. W.P. de Roever, The quest for compositionality: a survey of assertion based proof systems for concurrent programs. Part 1, Technical Report RUU-CS-85-2, University of Utrecht, 1985.

    Google Scholar 

  13. F.B. Schneider, G.R. Andrews, Concepts for concurrent programming, in: Current Trends in Concurrency. Overviews and Tutorials. (J.W. de Bakker, W.P. de Roever, G. Rozenberg, Eds.), LNCS 224, Springer-Verlag, 1986.

    Google Scholar 

  14. N. Soundararajan, Correctness proofs of CSP programs, Theoretical Computer Science 24(2), pp. 131–141 (1983).

    Google Scholar 

  15. J. Zwiers, W.P. de Roever, P. van Emde Boas, Compositionality and concurrent networks: soundness and completeness of a proof system, in: Proc. of ICALP 85, pp. 509–519, LNCS 194, Springer-Verlag 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. C. M. Baeten J. W. Klop

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Paczkowski, P. (1990). Proving termination of communicating programs. In: Baeten, J.C.M., Klop, J.W. (eds) CONCUR '90 Theories of Concurrency: Unification and Extension. CONCUR 1990. Lecture Notes in Computer Science, vol 458. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039074

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53048-0

  • Online ISBN: 978-3-540-46395-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics