2014
DOI: 10.1145/2560537
|View full text |Cite
|
Sign up to set email alerts
|

Comprehensive formal verification of an OS microkernel

Abstract: We present an in-depth coverage of the comprehensive machine-checked formal verification of seL4, a general-purpose operating system microkernel. We discuss the kernel design we used to make its verification tractable. We then describe the functional correctness proof of the kernel's C implementation and we cover further steps that transform this result into a comprehensive formal verification of the kernel: a formally verified IPC fastpath, a proof that the binary code of the kernel correctly implem… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

3
259
0
1

Year Published

2015
2015
2024
2024

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 289 publications
(263 citation statements)
references
References 78 publications
3
259
0
1
Order By: Relevance
“…A comprehensive verification of the seL4 microkernel is reported in [19]. This includes verification of the scheduler and other areas of the kernel, and a proof that the binary code of the kernel correctly implements the C source code.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…A comprehensive verification of the seL4 microkernel is reported in [19]. This includes verification of the scheduler and other areas of the kernel, and a proof that the binary code of the kernel correctly implements the C source code.…”
Section: Related Workmentioning
confidence: 99%
“…It is also relevant to embedded systems where size and speed constraints necessitate tight coupling between operating system components. Indeed, Klein et al [19] note that the call graph of seL4 shows high levels of interdependency between components. Gotsman and Yang demonstrate their approach by verifying a scheduler based on the Linux 2.6.11 scheduler.…”
Section: Related Workmentioning
confidence: 99%
“…They are used to guarantee the correctness of compilers [1], operating systems [2], hardware [3], as well as to certify mathematical results that involve computation [4]. The Mizar system [5] is one of the oldest computer systems used to certify proofs.…”
Section: Introductionmentioning
confidence: 99%
“…Thus, to verify that P [C] satisfies a certain property, it may be sufficient to check that P [A] satisfies the property. The latter check involves reasoning about a simpler component (namely A) and can reduce the work of a prover by an order of magnitude [22]. Finally, a refinement-based proof is more modular and transparent, since it breaks down the task of reasoning about a complex implementation into smaller tasks, each of which is more manageable for both a human and a prover.…”
Section: Introductionmentioning
confidence: 99%