• 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