DocumentCode
1835994
Title
Automated Discovery of Loop Invariants for High-Assurance Programs Synthesized Using AI Planning Techniques
Author
Fu, Jicheng ; Bastani, Farokh B. ; Yen, I-Ling
Author_Institution
Dept. of Comput. Sci., Univ. of Texas at Dallas, Dallas, TX
fYear
2008
fDate
3-5 Dec. 2008
Firstpage
333
Lastpage
342
Abstract
The discovery of loop invariants is a great challenge for the independent verification of automatically synthesized programs. This verification is needed to achieve high confidence in the correctness of the synthesized code, i.e., assurance that no latent defects in the synthesizer itself could have led to the synthesis of an incorrect program. To address this problem, we present an automated loop invariant discovery approach for programs synthesized using a combination of AI planning and component-based software development techniques. Specifically, a plan (denoting the synthesized code) is generated by an enhanced Graphplan planner first. The loop invariants can be automatically discovered based on the same planning graph used to synthesize the code. The correctness can be independently verified via standard loop invariant proof steps, including initialization, maintenance, and termination. The proposed approach not only has a rigorous theoretical basis, but is also guaranteed to produce accurate invariants by removing spurious invariants that are independent of the concerned loop. In combination with other loop invariant detection techniques, the proposed approach can produce loop invariants for complex programs and, thus, greatly facilitate high-confidence automated verification of synthesized systems.
Keywords
object-oriented programming; planning (artificial intelligence); program verification; software maintenance; AI planning techniques; Graphplan planner; automated loop invariant discovery; automatically synthesized programs; component-based software development techniques; independent verification; Artificial intelligence; Automatic programming; Computer bugs; Computer science; Design methodology; Power generation; Software engineering; Software maintenance; Synthesizers; Systems engineering and theory; AI Planning; Loop Invariant; Program Synthesis;
fLanguage
English
Publisher
ieee
Conference_Titel
High Assurance Systems Engineering Symposium, 2008. HASE 2008. 11th IEEE
Conference_Location
Nanjing
ISSN
1530-2059
Print_ISBN
978-0-7695-3482-4
Type
conf
DOI
10.1109/HASE.2008.36
Filename
4708891
Link To Document