Abstract
Over the years, researchers have tried to gain insight into the haphazard art of programming. This has led to the development of “structured programming,” which has been defined as “the task of organizing one’s thought in a way that leads, in a reasonable time, to an understandable expression of a computing task.”p1 One of the guidelines of structured programming is that “one should try to develop a program and its proof of correctness hand-in-hand.”p2 Much has been written on the subject, including [Dijkstra68], [Wirth71], pahlDijkstraHoare72], [Wirth73], [Wirth74], [ConwayGries75], [Dijkstra76], [Gries81], and others.
While the design of an alternative construct now seems to be a reasonably straightforward activity, that of a repetitive construct requires what I regard as “the invention” of an invariant relation and a variant function. —Edsger Wybe Dijkstra (Guarded commands, nondeterminancy and formal derivation of programs)
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1983 Birkhäuser Boston, Inc.
About this chapter
Cite this chapter
Dershowitz, N. (1983). Program Synthesis and Extension. In: The Evolution of Programs. Progress in Computer Science No.5, vol 5. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4612-5621-2_5
Download citation
DOI: https://doi.org/10.1007/978-1-4612-5621-2_5
Publisher Name: Birkhäuser, Boston, MA
Print ISBN: 978-0-8176-3171-0
Online ISBN: 978-1-4612-5621-2
eBook Packages: Springer Book Archive