Skip to main content
Log in

A closer look at termination

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Several methods for proving that computer programs terminate are presented and illustrated. The methods considered involve (a) using the “no-infinitely-descending-chain” property of well-founded sets (Floyd's approach), (b) bounding a counter associated with each loop (loop approach), (c) showing that some exit of each loop must be taken (exit approach), or (d) inducting on the structure of the data domain (Burstall's approach). We indicate the relative merit of each method for proving termination or non-termination as an integral part of an automatic verification system.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Aho, A.V., Ullman, J.D.: The theory of parsing, translation, and compiling Vol. 2. Englewood Cliffs (N.J.): Prentice Hall 1973

    Google Scholar 

  2. Allen, F.E.: A basis for program optimization. Proc. IFIP, Congress 71, Ljubljana, Yugoslavia. Amsterdam: North-Holland 1971, pp. 380–390

    Google Scholar 

  3. Burstall, R. M.: Program proving as hand simulation with a little induction. Proc. IFIP Congress 74, Stockholm, Sweden. Amsterdam: North-Holland 1974, pp. 308–312

    Google Scholar 

  4. Caplain, M.: Finding invariant assertions for proving programs. Proceedings of International Conference on Reliable Software. Los Angeles (Calif.) April 1975, pp. 165–171

  5. Clint, M.: Program proving: coroutines. Acta Informatica 2, 50–63 (1973)

    CAS  PubMed  Google Scholar 

  6. Cooper, D.C.: Programs for mechanical program verification. Machine Intelligence 6. New York: American Elsevier 1971, pp. 43–59

    Google Scholar 

  7. Deutsch, L.P.: An interactive program verifier. Dept. of Comp. Sci., U. of Calif., Berkeley (Calif.) Ph.D. Thesis, June 1973

    Google Scholar 

  8. Elspas, B., Levitt, K.N., Waldinger, R. J.: An interactive system for the verification of computer programs. SRI, Menlo Park (Calif.), Sept. 1973

    Google Scholar 

  9. Elspas, B.: The semiautomatic generation of inductive assertions for proving program corretness. SRI, Menlo Park (Calif.), July 1974

    Google Scholar 

  10. Floyd, R. W.: Assigning meaning to programs. In: J.T. Schwartz (ed.): Proc. of a Symposium in Applied Mathematics, 19. Providence (R.I.): Amer. Math. Soc. 1967, pp. 19–32

  11. German, S.M., Wegbreit, B.: A synthesizer of inductive assertions. IEEE Trans. on Software Engineering, SE-1, 68–75 (1975)

    Google Scholar 

  12. Igarashi, S., London, R.L., Luckham, D.C.: Automatic program verification I: A logical basis and its implementation. Acta Informatica 4, 145–182 (1975)

    Google Scholar 

  13. Katz, S.M., Manna, Z.: Towards automatic debugging of programs. Proceedings of International Conference on Reliable Software. Los Angeles (Calif.), April 1975

  14. Katz, S.M., Manna, Z.: Logical analysis of programs. Comm. ACM, to appear (1976)

  15. King, J.: A program verifier. Dept. of Comp. Sci., Carnegie-Mellon U., Pittsburgh (Pa.) Ph.D. Thesis, 1969

    Google Scholar 

  16. Knuth, D.E.: The Art of Computer Programing, Vol. I. Reading (Mass.): Addison-Wesley, 1968

    Google Scholar 

  17. Moriconi, M. S.: Towards the interactive synthesis of assertions. The University of Texas at Austin Research Report, October 1974

  18. Sites, R.L.: Proving that computer programs terminate cleanly. Dept. of Computer Science, Stanford University, STAN-CS-74-418 Ph.D. Thesis, May 1974

  19. Waldinger, R., Levitt, K.N.: Reasoning about programs. Artificial Intelligence 5, 235–316 (1974)

    MATH  Google Scholar 

  20. Wegbreit, B.: The synthesis of loop predicates. Comm. ACM 17, 102–112 (1974)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Katz, S., Manna, Z. A closer look at termination. Acta Informatica 5, 333–352 (1975). https://doi.org/10.1007/BF00264565

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation