DocumentCode
750963
Title
ADI: Automatic Derivation of Invariants
Author
Tamir, Moshe
Author_Institution
Department of Applied Mathematics, Weizmann Institute of Science
Issue
1
fYear
1980
Firstpage
40
Lastpage
48
Abstract
Most current systems for mechanical program verification are not fully automatic, since the user himself must provide the intermediate inductive assertions. This paper describes an interactive computer program, called ADI, which automatically generates the needed inductive assertions. ADI is also able to extend partial loop assertions supplied by the user to form complete assertions. The implementation (written in QLISP and INTERLISP) is based on both the algorithmic and the heuristic approaches introduced by Katz and Manna in "Logical Analysis of Programs" [25]. For the algorithmic subsystem ADI includes: Difference Equations Constructor, Difference Equations Solver, and Invariants from Conditional Statements Generator. The heuristic subsystem includes: Exit Rules Package, Bounding Variables Component, Strengthening Executer, Weakening Executer, and a Heuristic Invariant Matcher-which is the actual implementation of two new heuristics, MATCHPQ and MATCHPT. ADI is a small step toward interactive, practical program verification.
Keywords
Assertions; QLISP; invariants; partial correctness; program verification; synthesis of invariants; Algorithm design and analysis; Counting circuits; Data mining; Difference equations; Flowcharts; Heuristic algorithms; Input variables; Mathematics; Packaging; Testing; Assertions; QLISP; invariants; partial correctness; program verification; synthesis of invariants;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1980.230461
Filename
1702693
Link To Document