Loop Invariants on Demand

This paper describes a sound technique that combines the precision of theorem proving with the loop-invariant inference of abstract interpretation. The loop-invariant computations are invoked on demand when the need for a stronger loop invariant arises, which allows a gradual increase in the level of precision used by the abstract interpreter. The technique generates loop invariants that are specific to a subset of a program's executions, achieving a dynamic and automatic form of value-based trace partitioning. Finally, the technique can be incorporated into a lemmas-on-demand theorem prover, where the loop-invariant inference happens after the generation of verification conditions.

aplas05.pdf
PDF file

In  Proceedings of the the 3rd Asian Symposium on Programming Languages and Systems (APLAS'05)

Publisher  Springer Verlag
All copyrights reserved by Springer 2007.

Details

TypeInproceedings
Volume3780
> Publications > Loop Invariants on Demand