Fuel: A Compiler Framework for Safe Memory Management
Dimitri Racordon, Aur\'elien Coet, Didier Buchs

TL;DR
Fuel is a flexible compiler framework that combines static type capabilities with dynamic checks to enhance memory safety in programming languages, easing integration into existing compiler toolchains.
Contribution
It introduces Fuel, a library that enables safe memory management through capability-based analysis with dynamic recovery, facilitating adoption of flow-sensitive type systems.
Findings
Fuel can be integrated into existing compiler toolchains.
It effectively combines static and dynamic checks for memory safety.
Preliminary results show promising coverage of unsafe memory scenarios.
Abstract
Flow-sensitive type systems offer an elegant way to ensure memory-safety in programming languages. Unfortunately, their adoption in new or existing languages is often hindered by a painful effort to implement or integrate them into compilers. This paper presents early results in our effort to alleviate this task. We introduce Fuel, a type capability-based library that can be plugged onto a compiler toolchain to check for memory-safety properties. Fuel builds upon well-established ideas in the domain of capability-based system, and adds a mechanism leveraging dynamic checks to recover capabilities where static reasoning is either too difficult or impossible. This approach allows the analysis to potentially cover situations where a typical type system might not be expressive enough to statically reason about memory safety.
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
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
