DocumentCode
747767
Title
Induction as the Basis for Program Verification
Author
Reynolds, Charles ; Yeh, Raymond T.
Author_Institution
Department of Computer Sciences, University of Texas Austin
Issue
4
fYear
1976
Firstpage
244
Lastpage
252
Abstract
We will consider the inductive mechanisms in five techniques for verifying iterative/recursive program structures: inductive assertion, predicate transformers, subgoal induction, computation induction, and structural induction. We will discover that all five techniques can be justified by a single theorem about inductive proof techniques. We will also show that all five techniques face the problem of finding properties that will carry an induction. Such properties are called inductive sets. We will see that the inductive sets of the five techniques are easily related to one another and that a program proof by any of the techniques can be easily converted to a proof by any of the other techniques. Our conclusion is that computer programs simply are inductive definitions of the functions they compute. Induction is the only method by which they can be proved. The problems of induction are therefore unavoidable.
Keywords
Computation induction; induction; inductive assertion; inductive sets; predicate transformers; program correctness; structural induction; subgoal induction; verification techniques; Computer languages; Contracts; Military computing; Transformers; Computation induction; induction; inductive assertion; inductive sets; predicate transformers; program correctness; structural induction; subgoal induction; verification techniques;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1976.233829
Filename
1702380
Link To Document