Finding loop invariants for programs over arrays using a theorem prover

Laura Kovács, Andrei Voronkov

    Research output: Chapter in Book/Conference proceedingConference contribution

    Abstract

    We present a new method for automatic generation of loop invariants for programs containing arrays. Unlike all previously known methods, our method allows one to generate first-order invariants containing alternations of quantifiers. The method is based on the automatic analysis of the so-called update predicates of loops. An update predicate for an array A expresses updates made to A. We observe that many properties of update predicates can be extracted automatically from the loop description and loop properties obtained by other methods such as a simple analysis of counters occurring in the loop, recurrence solving and quantifier elimination over loop variables. We run the theorem prover Vampire on some examples and show that non-trivial loop invariants can be generated.
    Original languageEnglish
    Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|Lect. Notes Comput. Sci.
    PublisherSpringer Nature
    Pages470-485
    Number of pages15
    Volume5503
    ISBN (Print)9783642005923
    DOIs
    Publication statusPublished - 2009
    Event12th International Conference on Fundamental Approaches to Software Engineering, FASE 2009 -
    Duration: 1 Jul 2009 → …
    http://dblp.uni-trier.de/db/conf/fase/fase2009.html#KovacsV09http://dblp.uni-trier.de/rec/bibtex/conf/fase/KovacsV09.xmlhttp://dblp.uni-trier.de/rec/bibtex/conf/fase/KovacsV09

    Conference

    Conference12th International Conference on Fundamental Approaches to Software Engineering, FASE 2009
    Period1/07/09 → …
    Internet address

    Fingerprint

    Dive into the research topics of 'Finding loop invariants for programs over arrays using a theorem prover'. Together they form a unique fingerprint.

    Cite this