Proceedings of the 26th Symposium on Operating Systems Principles 2017
DOI: 10.1145/3132747.3132748
|View full text |Cite
|
Sign up to set email alerts
|

Hyperkernel

Abstract: This paper describes an approach to designing, implementing, and formally verifying the functional correctness of an OS kernel, named Hyperkernel, with a high degree of proof automation and low proof burden. We base the design of Hyperkernel's interface on xv6, a Unix-like teaching operating system. Hyperkernel introduces three key ideas to achieve proof automation: it finitizes the kernel interface to avoid unbounded loops or recursion; it separates kernel and user address spaces to simplify reasoning about v… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
5
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 61 publications
(5 citation statements)
references
References 55 publications
0
5
0
Order By: Relevance
“…The real-time and OS communities have seen recent effort towards formal proofs, through several techniques such as model checking [16,22] and interactive theorem provers [7,14,17]. This trend is motivated by the high stakes of critical systems and the combinatorial complexity of considering all possible interleavings of states of a system, which makes pen-and-paper reasoning too error-prone.…”
Section: Introductionmentioning
confidence: 99%
“…The real-time and OS communities have seen recent effort towards formal proofs, through several techniques such as model checking [16,22] and interactive theorem provers [7,14,17]. This trend is motivated by the high stakes of critical systems and the combinatorial complexity of considering all possible interleavings of states of a system, which makes pen-and-paper reasoning too error-prone.…”
Section: Introductionmentioning
confidence: 99%
“…Unlike us, however, there is no verified implementation, as the proofs are only done at the specification level. Nelson et al [2017] report the push-button verification of a kernel using the z3 SMT solver. To achieve that though, they must make compromises on the interfaces to make them amenable to automated verification by removing all quantifiers.…”
Section: Related Workmentioning
confidence: 99%
“…High-level type-safe programming languages have the potential to eliminate many classes of programming bugs that could be exploited [3,30]. Similarly, formal verification of OS kernels provides a fundamentally safe trusted computing base (TCB) [27,39]. Although this approach can reduce bugs in the implementation of OS abstractions, they do not address the root of the problem: a large TCB.…”
Section: Motivation: Many Os Abstractions Are Problematicmentioning
confidence: 99%