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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Böhm C., Jacopini G.: “Flow diagrams, Turing machines and languages with only two formation rules” CACM 9,5 1966
Clint M., Hoare C.A.R.: “Program proving: jumps and functions” Acta Informatica 1 1972
De Michelis G., Simone C.: “Well formed programs optimal with respect to structural complexity” Proc. GI-75 Conf. Springer Lecture Notes in Computer Science
Dijkstra E.W.: “Goto statement considered harmful” CACM 11,3 1968
Hoare C.A.R.: “An axiomatic basis for computer programming” CACM 12,10 1969
Hopkins M.: “A case for the goto” SIGPLAN Not. 7,11 1972
Knuth D.E., Floyd R. V.: “Notes on avoiding goto statements” IPL 1,1 1971
Knuth D.E.: “Structured programming with goto statements” Comp. Surveys 6,4 1974
Leavenworth B.M.: “Programming with(out) the goto” SIGPLAN Not. 7,11 1972
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
Wulf W.A.: “Programming without the goto” in Information Processing 71, North Holland, Amsterdam, 1972
Wulf W.A.: “A case against the goto” SIGPLAN Not. 7,11 1972
Zahn C.T.: “A control statement for natural top-down structured programming” Symp. Progr. Languages, Springer Lecture Notes in Computer Science 1974
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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