Inference Rules for Program Annotation
Nachum Dershowitz, Zohar Manna · IEEE Transactions on Software Engineering · 1981
Methods are presented whereby an Algol-like program given together with its specifications can be documented automatically. The program is incrementaly annotated with invariant relations that hold between program variables at intermediate points in the program text and explain the actual workings of the program regardless of whether it is correct. Thus, this documentation can be used for proving correctness of programs or may serve as an aid in debugging incorrect programs.