This paper presents a separation-logic framework for reasoning about
low-level C code in the presence of virtual memory. We describe our
abstract, generic Isabelle/HOL framework for reasoning about virtual
memory in separation logic, and we instantiate this framework to a
precise, formal model of ARMv6 page tables. The logic supports the
usual separation logic rules, including the frame rule, and extends
separation logic with additional basic predicates for mapping virtual
to physical addresses. We build on earlier work to parse potentially
type-unsafe, system-level C code directly into Isabelle/HOL and
further instantiate the separation logic framework to C.
@InProceedings{Kolanski_Klein_09,
author = {Rafal Kolanski and Gerwin Klein},
title = {Types, Maps and Separation Logic},
booktitle = {Proc.\ 22nd TPHOLs},
editor = {Stefan Berghofer and Tobias Nipkow and Christian Urban and Makarius Wenzel},
year = {2009},
address = {Munich, Germany},
pages = {276--292},
month = Aug,
series = {Lecture Notes in Computer Science},
volume = {5674},
publisher = {Springer},
}