Abstract
Methods are presented whereby an Algol-like program given together with its specifications can be documented automatically. The program is incrementally 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. The annotation techniques are formulated as Hoare-like inference rules that derive invariants from the assignment statements, from the control structure of the program, or, heuristically, from suggested invariants. The application of these rules is demonstrated by examples that have run on an experimental implementation.
Original language | English |
---|---|
Pages (from-to) | 207-222 |
Number of pages | 16 |
Journal | IEEE Transactions on Software Engineering |
Volume | SE-7 |
Issue number | 2 |
DOIs | |
State | Published - Mar 1981 |
Externally published | Yes |
Keywords
- Inference rules
- invariant assertions
- program annotation
- program correctness
- verification