Fuel: A Compiler Framework for Safe Memory Management

06/23/2021
by   Dimitri Racordon, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/29/2018

Josephine: Using JavaScript to safely manage the lifetimes of Rust data

This paper is about the interface between languages which use a garbage ...
research
09/03/2019

Towards Gradual Checking of Reference Capabilities

Concurrent and parallel programming is difficult due to the presence of ...
research
06/07/2018

Rust Distilled: An Expressive Tower of Languages

Rust represents a major advancement in production programming languages ...
research
09/11/2019

Floorplan: Spatial Layout in Memory Management Systems

In modern runtime systems, memory layout calculations are hand-coded in ...
research
05/12/2020

CapablePtrs: Securely Compiling Partial Programs using the Pointers-as-Capabilities Principle

Capability machines such as CHERI provide memory capabilities that can b...
research
08/09/2023

rCanary: Detecting Memory Leaks Across Semi-automated Memory Management Boundary in Rust

Rust is an effective system programming language that guarantees memory ...
research
08/14/2023

Degrees of Separation: A Flexible Type System for Data Race Prevention

Data races are a notorious problem in parallel programming. There has be...

Please sign up or login with your details

Forgot password? Click here to reset