Mind the gap: A verification framework for low-level C
Authors
NICTA\ UNSW\ Australian National University
Abstract
This paper presents the formal Isabelle/HOL framework we use to prove refinement between an executable, monadic specification and the C implementation of the seL4 microkernel. We describe the refinement framework itself, the automated tactics it supports, and the connection to our previous C verification framework. We also report on our experience in applying the framework to seL4. The characteristics of this microkernel verification are the size of the target (8,700 lines of C code), the treatment of low-level programming constructs, the focus on high performance, and the large subset of the C programming language addressed, which includes pointer arithmetic and type-unsafe code.
BibTeX Entry
@inproceedings{Winwood_KSACN_09,
address = {Munich, Germany},
author = {Winwood, Simon and Klein, Gerwin and Sewell, Thomas and Andronick, June and Cock, David and Norrish,
Michael},
booktitle = {International Conference on Theorem Proving in Higher Order Logics},
doi = {10.1007/978-3-642-03359-9_34},
editor = {{S. Berghofer, T. Nipkow, C. Urban, M. Wenzel}},
keywords = {sel4, isabelle, os verification, c},
month = aug,
pages = {500--515},
paperurl = {https://trustworthy.systems/publications/nicta_full_text/1842.pdf},
publisher = {Springer},
title = {Mind the Gap: A Verification Framework for Low-Level {C}},
year = {2009}
}
Full text
BibTeX