Smallfoot: modular automatic assertion checking with separation logic

  • Authors:
  • Josh Berdine;Cristiano Calcagno;Peter W. O'Hearn

  • Affiliations:
  • Microsoft Research;Imperial College, London;Queen Mary, University of London

  • Venue:
  • FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Separation logic is a program logic for reasoning about programs that manipulate pointer data structures. We describe Smallfoot, a tool for checking certain lightweight separation logic specifications. The assertions describe the shapes of data structures rather than their detailed contents, and this allows reasoning to be fully automatic. The presentation in the paper is tutorial in style. We illustrate what the tool can do via examples which are oriented toward novel aspects of separation logic, namely: avoidance of frame axioms (which say what a procedure does not change); embracement of “dirty” features such as memory disposal and address arithmetic; information hiding in the presence of pointers; and modular reasoning about concurrent programs.