Trustworthy Systems

Types, maps and separation logic

Authors

Rafal Kolanski and Gerwin Klein

NICTA

UNSW

Abstract

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

  @inproceedings{Kolanski_Klein_09,
    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         = {https://trustworthy.systems/publications/nicta_full_text/1849.pdf},
    publisher        = {Springer},
    title            = {Types, Maps and Separation Logic},
    year             = {2009}
  }

Download