Trustworthy Systems

Types, maps and separation logic


Rafal Kolanski and Gerwin Klein




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.

BibTeX Entry

    address          = {Munich, Germany},
    author           = {Kolanski, Rafal and Klein, Gerwin},
    booktitle        = {International Conference on Theorem Proving in Higher Order Logics},
    editor           = {{S. Berghofer, T. Nipkow, C. Urban, M. Wenzel}},
    keywords         = {isabelle/hol, virtual memory, sel4},
    month            = aug,
    pages            = {276--292},
    paperurl         = {},
    publisher        = {Springer},
    title            = {Types, Maps and Separation Logic},
    year             = {2009}