TY - JOUR
T1 - SeL4
T2 - Formal verification of an operating-system kernel
AU - Klein, Gerwin
AU - Andronick, June
AU - Elphinstone, Kevin
AU - Heiser, Gernot
AU - Cock, David
AU - Derrin, Philip
AU - Elkaduwe, Dhammika
AU - Engelhardt, Kai
AU - Kolanski, Rafal
AU - Norrish, Michael
AU - Sewell, Thomas
AU - Tuch, Harvey
AU - Winwood, Simon
PY - 2010/6/1
Y1 - 2010/6/1
N2 - We report on the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness of compiler, assembly code, hardware, and boot code. seL4 is a third-generation microkernel of L4 provenance, comprising 8700 lines of C and 600 lines of assembler. Its performance is comparable to other high-performance L4 kernels. We prove that the implementation always strictly follows our high-level abstract specification of kernel behavior. This encompasses traditional design and implementation safety properties such as that the kernel will never crash, and it will never perform an unsafe operation. It also implies much more: we can predict precisely how the kernel will behave in every possible situation.
AB - We report on the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness of compiler, assembly code, hardware, and boot code. seL4 is a third-generation microkernel of L4 provenance, comprising 8700 lines of C and 600 lines of assembler. Its performance is comparable to other high-performance L4 kernels. We prove that the implementation always strictly follows our high-level abstract specification of kernel behavior. This encompasses traditional design and implementation safety properties such as that the kernel will never crash, and it will never perform an unsafe operation. It also implies much more: we can predict precisely how the kernel will behave in every possible situation.
UR - http://www.scopus.com/inward/record.url?scp=77953210383&partnerID=8YFLogxK
U2 - 10.1145/1743546.1743574
DO - 10.1145/1743546.1743574
M3 - Article
SN - 0001-0782
VL - 53
SP - 107
EP - 115
JO - Communications of the ACM
JF - Communications of the ACM
IS - 6
ER -