Skip to main content

Program Proving: Exit and Return Jumps in Structured Programs

  • Conference paper
  • 35 Accesses

Part of the book series: Informatik — Fachberichte ((INFORMATIK,volume 5))

Abstract

The inadequacy of goto-free programming languages to express algorithms has clearly been shown in the literature. On the other hand, the axiomatic definition of jumps is rather complex, and there aren’t complete or efficient proposals for it.

On the basis of Clint and Hoare’s semantical analysis of jump occurrences in structured programs, which leads to the distinction between return and exit jumps, a twofold solution to the above problem is presented in the present paper.

On the one hand, to express return jumps (considered as belonging to the normal computation flow of the algotithm), iterative one-level exit constructs wider than the simple iteration (do-while like) statement are considered, and the related correctness rules are given. On the other hand, a limited form of goto statement is introduced, with which an explicit definition of the jump condition is associated, restricted to deal with the case of exit jump only (considered as expressing exceptions in the program)

The jump condition is then used to prove the ‘almost everywhere correctness’ of the normal computation flow of the program, ignoring the exit jumps, whose correctness can be dealt with separately.

Examples of the above constructs and correctness rules and of an ‘almost everywhere correctness’ proof, are given.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Böhm C., Jacopini G.: “Flow diagrams, Turing machines and languages with only two formation rules” CACM 9,5 1966

    Google Scholar 

  2. Clint M., Hoare C.A.R.: “Program proving: jumps and functions” Acta Informatica 1 1972

    Google Scholar 

  3. De Michelis G., Simone C.: “Well formed programs optimal with respect to structural complexity” Proc. GI-75 Conf. Springer Lecture Notes in Computer Science

    Google Scholar 

  4. Dijkstra E.W.: “Goto statement considered harmful” CACM 11,3 1968

    Google Scholar 

  5. Hoare C.A.R.: “An axiomatic basis for computer programming” CACM 12,10 1969

    Google Scholar 

  6. Hopkins M.: “A case for the goto” SIGPLAN Not. 7,11 1972

    Article  Google Scholar 

  7. Knuth D.E., Floyd R. V.: “Notes on avoiding goto statements” IPL 1,1 1971

    Article  Google Scholar 

  8. Knuth D.E.: “Structured programming with goto statements” Comp. Surveys 6,4 1974

    Article  Google Scholar 

  9. Leavenworth B.M.: “Programming with(out) the goto” SIGPLAN Not. 7,11 1972

    Article  Google Scholar 

  10. Wirth N.: “The programming language Pascal” Acta Informatica 1 1971 [11] Wirth N.: “0n the composition of well structured programs” Comp. Surveys 6,4 1974

    Article  Google Scholar 

  11. Wulf W.A.: “Programming without the goto” in Information Processing 71, North Holland, Amsterdam, 1972

    Google Scholar 

  12. Wulf W.A.: “A case against the goto” SIGPLAN Not. 7,11 1972

    Article  Google Scholar 

  13. Zahn C.T.: “A control statement for natural top-down structured programming” Symp. Progr. Languages, Springer Lecture Notes in Computer Science 1974

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1976 Springer-Verlag Berlin · Heidelberg

About this paper

Cite this paper

De Michelis, G., Lanzarone, G.A., Simone, C. (1976). Program Proving: Exit and Return Jumps in Structured Programs. In: Neuhold, E.J. (eds) GI — 6. Jahrestagung. Informatik — Fachberichte, vol 5. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-95289-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-95289-0_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-07912-5

  • Online ISBN: 978-3-642-95289-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics