A Heuristic for Deriving Loop Functions
- 1 May 1984
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-10 (3) , 275-285
- https://doi.org/10.1109/tse.1984.5010236
Abstract
The problem of analyzing an initialized loop and verifying that the program computes some particular function of its inputs is addressed. A heuristic technique for solving these problems is proposed that appears to work well in many commonly occurring cases. The use of the technique is illustrated with a number of applications. An attribute of initialized loops is identified that corresponds to the ``effort'' required to apply this method in a deterministic (i.e., guaranteed to succeed) manner. It is explained that in any case, the success of the proposed heuristic relies on the loop exhibiting a ``reasonable'' form of behavior.Keywords
This publication has 12 references indexed in Scilit:
- The Determination of Loop Invariants for Programs with ArraysIEEE Transactions on Software Engineering, 1981
- The Science of ProgrammingPublished by Springer Nature ,1981
- Is Sometimes Ever Better Than Always?ACM Transactions on Programming Languages and Systems, 1979
- Some Aspects of the Verification of Loop ComputationsIEEE Transactions on Software Engineering, 1978
- Complexity of Synthesizing Inductive AssertionsJournal of the ACM, 1977
- Subgoal inductionCommunications of the ACM, 1977
- Logical analysis of programsCommunications of the ACM, 1976
- Proving loop programsIEEE Transactions on Software Engineering, 1975
- The new math of computer programmingCommunications of the ACM, 1975
- The synthesis of loop predicatesCommunications of the ACM, 1974