Using history invariants to verify observers

  • Authors:
  • K. Rustan M. Leino;Wolfram Schulte

  • Affiliations:
  • Microsoft Research, Redmond, WA;Microsoft Research, Redmond, WA

  • Venue:
  • ESOP'07 Proceedings of the 16th European conference on Programming
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

Abstract

This paper contributes a technique that expands the set of object invariants that one can reason about in modular verification. The technique uses history invariants, two-state invariants that describe the evolution of data values. The technique enables a flexible new way to specify and verify variations of the observer pattern, including iterators. The paper details history invariants and the new kind of object invariants, and proves a soundness theorem.