• DocumentCode
    685507
  • Title

    Facilitating Verification in Program Loops by Identification of Static Iteration Patterns

  • Author

    Desai, Amish ; Jain, Eeti ; Roy, Sandip

  • Author_Institution
    Dept. of Comput. Sc. & Eng., IIT Kanpur, Kanpur, India
  • Volume
    1
  • fYear
    2013
  • fDate
    2-5 Dec. 2013
  • Firstpage
    83
  • Lastpage
    90
  • Abstract
    Generating invariants for loops is often a grueling obstacle in formal program verification. Researchers have employed methods from formal techniques based on abstract interpretation to test-driven dynamic analysis to tackle this problem. Even though powerful techniques for generating conjunctive invariants (invariants that employ only conjunction of terms) have been developed, disjunctive invariants have remained a sore thumb for formal techniques. In this paper, we propose a technique to transform certain category of loops, those that have a static iteration pattern, into loops that can be handled by conjunctive invariant generators. The key idea is to identify a static iteration pattern that distributes the disjunction in an invariant in a manner that can be captured by only conjunctive invariants. To broaden the scope of our algorithm, we also propose the idea of parametric verification, while attempting to verify specialized versions of the program where a subset of the input variables is instantiated with certain test-inputs. Note that parametric verification distinguishes it from program testing as testing requires all of its variables to be instantiated with test-inputs. We discuss our ideas on loops drawn from real programs to establish real-world applicability of our algorithms.
  • Keywords
    formal verification; iterative methods; program control structures; program diagnostics; abstract interpretation; conjunctive invariant generator; conjunctive invariants; disjunctive invariants; dynamic analysis; facilitating verification; formal program verification; formal techniques; parametric verification; program loops; real-world applicability; static iteration patterns; Abstracts; Arrays; Computers; Electronic mail; Generators; Testing; Transforms; Control-flow Refinement; Formal Verification; Invariant Generation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference (APSEC), 2013 20th Asia-Pacific
  • Conference_Location
    Bangkok
  • ISSN
    1530-1362
  • Print_ISBN
    978-1-4799-2143-0
  • Type

    conf

  • DOI
    10.1109/APSEC.2013.22
  • Filename
    6805393