Formalized verification of snapshotable trees: separation and sharing

  • Authors:
  • Hannes Mehnert;Filip Sieczkowski;Lars Birkedal;Peter Sestoft

  • Affiliations:
  • IT University of Copenhagen, Denmark;IT University of Copenhagen, Denmark;IT University of Copenhagen, Denmark;IT University of Copenhagen, Denmark

  • Venue:
  • VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We use separation logic to specify and verify a Java program that implements snapshotable search trees, fully formalizing the specification and verification in the Coq proof assistant. We achieve local and modular reasoning about a tree and its snapshots and their iterators, although the implementation involves shared mutable heap data structures with no separation or ownership relation between the various data. The paper also introduces a series of four increasingly sophisticated implementations and verifies the first one. The others are included as future work and as a set of challenge problems for full functional specification and verification, whether by separation logic or by other formalisms.