Flux: Liquid types for rust

N Lehmann, AT Geller, N Vazou, R Jhala - Proceedings of the ACM on …, 2023 - dl.acm.org
We introduce Flux, which shows how logical refinements can work hand in glove with Rust's
ownership mechanisms to yield ergonomic type-based verification of low-level pointer …

Graph IRs for impure higher-order languages: Making aggressive optimizations affordable with precise effect dependencies

O Bračevac, G Wei, S Jia, S Abeysinghe… - Proceedings of the …, 2023 - dl.acm.org
Graph-based intermediate representations (IRs) are widely used for powerful compiler
optimizations, either interprocedurally in pure functional languages, or intraprocedurally in …

Ownership guided C to Rust translation

H Zhang, C David, Y Yu, M Wang - International Conference on Computer …, 2023 - Springer
Dubbed a safer C, Rust is a modern programming language that combines memory safety
and low-level control. This interesting combination has made Rust very popular among …

Polymorphic reachability types: Tracking freshness, aliasing, and separation in higher-order generic programs

G Wei, O Bračevac, S Jia, Y Bao, T Rompf - Proceedings of the ACM on …, 2024 - dl.acm.org
Fueled by the success of Rust, many programming languages are adding substructural
features to their type systems. The promise of tracking properties such as lifetimes and …

A grounded conceptual model for ownership types in rust

W Crichton, G Gray, S Krishnamurthi - Proceedings of the ACM on …, 2023 - dl.acm.org
Programmers learning Rust struggle to understand ownership types, Rust's core mechanism
for ensuring memory safety without garbage collection. This paper describes our attempt to …

Reachability types: tracking aliasing and separation in higher-order functional programs

Y Bao, G Wei, O Bračevac, Y Jiang, Q He… - Proceedings of the ACM …, 2021 - dl.acm.org
Ownership type systems, based on the idea of enforcing unique access paths, have been
primarily focused on objects and top-level classes. However, existing models do not as …

Robust and compositional verification of object capability patterns

D Swasey, D Garg, D Dreyer - Proceedings of the ACM on Programming …, 2017 - dl.acm.org
In scenarios such as web programming, where code is linked together from multiple
sources, object capability patterns (OCPs) provide an essential safeguard, enabling …

A high-level separation logic for heap space under garbage collection

A Moine, A Charguéraud, F Pottier - Proceedings of the ACM on …, 2023 - dl.acm.org
We present a Separation Logic with space credits for reasoning about heap space in a
sequential call-by-value lambda-calculus equipped with garbage collection and mutable …

Fast and reliable formal verification of smart contracts with the move prover

D Dill, W Grieskamp, J Park, S Qadeer, M Xu… - … Conference on Tools …, 2022 - Springer
Abstract The Move Prover (MVP) is a formal verifier for smart contracts written in the Move
programming language. MVP has an expressive specification language, and is fast and …

A Dependent Nominal Physical Type System for Static Analysis of Memory in Low Level Code

J Simonnet, M Lemerre, M Sighireanu - Proceedings of the ACM on …, 2024 - dl.acm.org
We tackle the problem of checking non-proof-carrying code, ie automatically proving type-
safety (implying in our type system spatial memory safety) of low-level C code or of machine …