• 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