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 :
بازگشت