scispace - formally typeset
Journal ArticleDOI

An axiomatic basis for computer programming

C. A. R. Hoare
- 01 Oct 1969 - 
- Vol. 12, Iss: 10, pp 576-580
TLDR
An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics.
Abstract
In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the elucidation of sets of axioms and rules of inference which can be used in proofs of the properties of computer programs. Examples are given of such axioms and rules, and a formal proof of a simple theorem is displayed. Finally, it is argued that important advantages, both theoretical and practical, may follow from a pursuance of these topics.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book ChapterDOI

A Temporal Logic of Nested Calls and Returns

TL;DR: This work introduces a temporal logic of calls and returns (CaRet) for specification and algorithmic verification of correctness requirements of structured programs and presents a tableau construction that reduces the model checking problem to the emptiness problem for a Buchi pushdown system.
Journal ArticleDOI

A logic of authentication

TL;DR: This paper describes the beliefs of trustworthy parties involved in authentication protocols and the evolution of these beliefs as a consequence of communication, and gives the results of the analysis of four published protocols.
Journal ArticleDOI

Applying 'design by contract'

Bertrand Meyer
- 01 Oct 1992 - 
TL;DR: Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented and the theory of contract design and the role of assertions in that theory are discussed.
Book

Dynamic Logic

TL;DR: This book provides the first comprehensive introduction to Dynamic Logic, a system of remarkable unity that is theoretically rich as well as of practical value.
References
More filters
Journal ArticleDOI

Proving Properties of Programs by Structural Induction

TL;DR: Some syntactic extensions to Landin's functional programming language ISWIM are suggested which make it easier to program the manipulation of data structures and to develop proofs about such programs.
Book ChapterDOI

Proof of Algorithms by General Snapshots

TL;DR: It is shown by an elementary example how this possibility may be used to prove the correctness of an algorithm written in ALGOL 60, i.e. expressions of static conditions existing whenever the execution of the algorithm reaches particular points.
Journal ArticleDOI

Numerical analysis as an independent science

TL;DR: The paper describes how a number of well-known mathematical concepts ought to be modified in order to make sense within the scope of numerical analysis.
Proceedings Article

Programming Languages and their Processing.

K. Samelson