BeePL: Correct-by-compilation kernel extensions
Swarn Priya, Fr\'ed\'eric Besson, Connor Sughrue, Tim Steenvoorden, Jamie Fulford, Freek Verbeek, Binoy Ravindran

TL;DR
BeePL is a formally verified domain-specific language for eBPF that enforces safety properties through a type system and verified compilation, enabling safe and correct kernel extensions.
Contribution
Introduces BeePL, a new language with a verified type system and compilation process, ensuring safety and correctness for eBPF kernel extensions.
Findings
BeePL enforces key safety properties via a formal type system.
The verified compilation extends CompCert for BPF bytecode.
BeePL guarantees memory safety, termination, and control flow correctness.
Abstract
eBPF is a technology that allows developers to safely extend kernel functionality without modifying kernel source code or developing loadable kernel modules. Since the kernel governs critical system operations and enforces isolation boundaries between user space and privileged data, any mechanism that modifies its behavior must meet the highest standards of safety and correctness. To this end, the eBPF toolchain includes a verifier, which statically checks safety properties such as memory access validity, bounded loops, and type correctness before loading the program into the kernel. However, the existing verifier is both overly conservative in some cases-rejecting valid programs-and unsound in others, permitting unsafe behavior that violates the intended semantics of the kernel interface. To address these challenges, we introduce BeePL, a domain-specific language for eBPF with a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Distributed and Parallel Computing Systems
