Types, bytes, and separation logic

The work

AuthorsHarvey Tuch; Gerwin Klein; Michael Norrish
Editors
Typeinproceedings
Year2007
Citekeytuch2007types

Where it appeared

Published in34th ACM Symposium on Principles of Programming Languages (POPL)
Volume42
Issue1
Pages97--108

Abstract

We present a formal model of memory that both captures the low-level features of C’s pointers and memory, and that forms the basis for an expressive implementation of separation logic. At the low level, we do not commit common oversimplifications, but correctly deal with C’s model of programming language values and the heap. At the level of separation logic, we are still able to reason abstractly and efficiently. We implement this framework in the theorem prover Isabelle/HOL and demonstrate it on two case studies. We show that the divide between detailed and abstract does not impose undue verification overhead, and that simple programs remain easy to verify. We also show that the framework is applicable to real, security- and safety-critical code by formally verifying the memory allocator of the L4 microkernel.

A copy is held

pdf, 963.6 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-08-05 00:00 UTC
Approved bya person 2026-08-14 11:33 UTC

Cite it as

@inproceedings{tuch2007types,
  title        = {Types, bytes, and separation logic},
  author       = {Harvey Tuch and Gerwin Klein and Michael Norrish},
  year         = {2007},
  booktitle    = {34th ACM Symposium on Principles of Programming Languages (POPL)},
  volume       = {42},
  number       = {1},
  pages        = {97--108},
  doi          = {10.1145/1190215.1190234},
}

This record lives at https://refs.drheap.org/tuch2007types/ and will keep doing so.