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 language | English |
---|---|
Title of host publication | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|Lect. Notes Comput. Sci. |
Publisher | Springer Nature |
Pages | 470-485 |
Number of pages | 15 |
Volume | 5503 |
ISBN (Print) | 9783642005923 |
DOIs | |
Publication status | Published - 2009 |
Event | 12th 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
Conference | 12th International Conference on Fundamental Approaches to Software Engineering, FASE 2009 |
---|---|
Period | 1/07/09 → … |
Internet address |