Report Number: CS-TR-73-341
Institution: Stanford University, Department of Computer Science
Title: A heuristic approach to program verification.
Author: Katz, Shmuel M.
Author: Manna, Z ohar
Date: March 1973
Abstract: We present various heuristic techniques for use in proving
the correctness of computer programs. The techniques are
designed to obtain automatically the "inductive assertions"
attached to the loops of the program which previously
required human "understanding" of the program's performance.
We distinguish between two general approaches: one in which
we obtain the inductive assertion by analyzing predicates
which are known to be true at the entrances and exits of the
loop ($underline{top-down}$ approach), and another in which
we generate the inductive assertion directly from the
statements of the loop ($underline{bottom-up}$ approach).
http://i.stanford.edu/pub/cstr/reports/cs/tr/73/341/CS-TR-73-341.pdf