Finding Loop Invariants for Programs over Arrays Using a Theorem Prover (2009)
| Venue: | In Proc. of FASE |
| Citations: | 11 - 2 self |
BibTeX
@INPROCEEDINGS{Kovács09findingloop,
author = {Laura Kovács and Andrei Voronkov},
title = {Finding Loop Invariants for Programs over Arrays Using a Theorem Prover},
booktitle = {In Proc. of FASE},
year = {2009}
}
OpenURL
Abstract
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. 1







