Abstract
“Computer science” (informatics) is really program science since a computer, by itself too general a machine to be of practical interest, yields useful machines through programs that people write for it.
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 subscriptionsReferences
Back, refinement papers
Michael Butler: Personal communication
Dijkstra: A Discipline of Programming
Euler: Lettres à une Princesse d’Allemagne sur divers Sujets de Physique et de Philosophie, pp. 1760–1762
Furia, Meyer, Velder: Computing Surveys invariant article
Hehner: Predicative Programming
Hoare: Original paper on Laws of Programming
Hoare, van Staden: Newer article
Hoare, van Staden: Slides accompanying [8]
Kahn: Natural Semantics
Meyer: IFIP 1980 paper
Meyer: ETL
Meyer: OOSC
Meyer: Multirequirements
Morgan: Programming from Specifications
Shaoying Liu: paper and slides from the 2014 Futatsugi Festschrift
Wirth: Stepwise refinement
Acknowledgments
The authors invoked explicitly or not in Sect. 6 (Hoare and coauthors, Kahn, Dijkstra, Scott/Strachey/Plotkin and other pioneers of denotational semantics), complemented by Abrial for his work on Z and B and by Mills and Gries, deserve deep acknowledgments for pioneering the formal approach to programs and programming. Back’s and Morgan’s seminal work on refinement (following Wirth’s) is another fundamental inspiration. Hehner’s work on Predicative Programming is a comprehensive theory of programming based on binary relations, corresponding to the postconditions of the present work. (I am also indebted to him for a particularly careful reading of the first draft.) Also influential have been informal comments by David Parnas on the merits of different assertion styles. A note by Shaoying Liu [16], criticizing a purported deficiency in classical refinement approaches (the risk of refining into an unfeasible program), suggested the need for a proper notion of feasibility.
I am grateful to Daniel de Carvalho and Colin Adams for corrections on the first draft.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Meyer, B. (2015). Theory of Programs. In: Meyer, B., Nordio, M. (eds) Software Engineering. LASER LASER 2013 2014. Lecture Notes in Computer Science(), vol 8987. Springer, Cham. https://doi.org/10.1007/978-3-319-28406-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-28406-4_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-28405-7
Online ISBN: 978-3-319-28406-4
eBook Packages: Computer ScienceComputer Science (R0)