Crowfoot: a verifier for higher-order store programs

  • Authors:
  • Nathaniel Charlton;Ben Horsfall;Bernhard Reus

  • Affiliations:
  • Department of Informatics, University of Sussex, UK;Department of Informatics, University of Sussex, UK;Department of Informatics, University of Sussex, UK

  • Venue:
  • VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present Crowfoot, an automatic verification tool for imperative programs that manipulate procedures dynamically at runtime; these programs use a heap that can store not only data but also code (commands or procedures). Such heaps are often called higher-order store , and allow for instance the creation of new recursions on the fly. One can use higher-order store to model phenomena such as runtime loading and unloading of code, runtime update of code and runtime code generation. Crowfoot's assertion language, based on separation logic, features nested Hoare triples which describe the behaviour of procedures stored on the heap. The tool addresses complex issues like deep frame rules and recursion through the store, and is the first verification tool based on recent developments in the mathematical foundations of Hoare logics with nested triples.