Loop invariants on demand

  • Authors:
  • K. Rustan M. Leino;Francesco Logozzo

  • Affiliations:
  • Microsoft Research, Redmond, WA;Laboratoire d’Informatique de l’École Normale Supérieure, Paris, France

  • Venue:
  • APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.