Josh Berdine, Cristiano Calcagno, and Peter W. O'Hearn
2005
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.
![]() PDF file |
In: Formal Methods for Components and Objects, 4th International Symposium, FMCO 2005, Amsterdam, The Netherlands, November 1-4, 2005, Revised Lectures
Publisher: Springer
| Type: | Inproceedings |
| Pages: | 115-137 |
| Volume: | 4111 |
| Series: | Lecture Notes in Computer Science |
| ISBN: | 3-540-36749-7 |