Title
Translation validation for a verified OS kernel
Abstract
We extend the existing formal verification of the seL4 operating system microkernel from 9500 lines of C source code to the binary level. We handle all functions that were part of the previous verification. Like the original verification, we currently omit the assembly routines and volatile accesses used to control system hardware. More generally, we present an approach for proving refinement between the formal semantics of a program on the C source level and its formal semantics on the binary level, thus checking the validity of compilation, including some optimisations, and linking, and extending static properties proved of the source code to the executable. We make use of recent improvements in SMT solvers to almost fully automate this process. We handle binaries generated by unmodified gcc 4.5.1 at optimisation level 1, and can handle most of seL4 even at optimisation level 2.
Year
DOI
Venue
2013
10.1145/2491956.2462183
PLDI
Keywords
Field
DocType
previous verification,optimisation level,os kernel,translation validation,c source level,original verification,source code,sel4 operating system microkernel,binary level,existing formal verification,c source code,formal semantics,verification
Programming language,Source code,Computer science,Parallel computing,Microkernel,Real-time computing,Os kernel,Control system,High-level verification,Binary number,Executable,Formal verification
Conference
Volume
Issue
ISSN
48
6
0362-1340
Citations 
PageRank 
References 
41
1.26
28
Authors
3
Name
Order
Citations
PageRank
Thomas Sewell191437.60
Magnus O. Myreen262135.67
Gerwin Klein3145087.47