Verus: Verifying rust programs using linear ghost types

A Lattuada, T Hance, C Cho, M Brun… - Proceedings of the …, 2023 - dl.acm.org
The Rust programming language provides a powerful type system that checks linearity and
borrowing, allowing code to safely manipulate memory without garbage collection and …

Symbolic execution with separation logic

J Berdine, C Calcagno, PW O'hearn - … November 2-5, 2005. Proceedings 3, 2005 - Springer
We describe a sound method for automatically proving Hoare triples for loop-free code in
Separation Logic, for certain preconditions and postconditions (symbolic heaps). The …

Hoare type theory, polymorphism and separation1

A Nanevski, G Morrisett, L Birkedal - Journal of Functional …, 2008 - cambridge.org
We consider the problem of reconciling a dependently typed functional language with
imperative features such as mutable higher-order state, pointer aliasing, and …

Parameterised notions of computation

R Atkey - Journal of functional programming, 2009 - cambridge.org
Moggi's Computational Monads and Power et al.'s equivalent notion of Freyd category have
captured a large range of computational effects present in programming languages …

Oxide: The essence of rust

A Weiss, O Gierczak, D Patterson, A Ahmed - arXiv preprint arXiv …, 2019 - arxiv.org
Rust claims to advance industrial programming by bridging the gap between low-level
systems programming and high-level application programming. At the heart of the argument …

[PDF][PDF] Linearity and uniqueness: An entente cordiale

D Marshall, M Vollmer, D Orchard - European Symposium on …, 2022 - library.oapen.org
Substructural type systems are growing in popularity because they allow for a resourceful
interpretation of data which can be used to rule out various software bugs. Indeed …

Register allocation via coloring of chordal graphs

FMQ Pereira, J Palsberg - Asian Symposium on Programming Languages …, 2005 - Springer
We present a simple algorithm for register allocation which is competitive with the iterated
register coalescing algorithm of George and Appel. We base our algorithm on the …

POPLMark reloaded: Mechanizing proofs by logical relations

A Abel, G Allais, A Hameer, B Pientka… - Journal of Functional …, 2019 - cambridge.org
We propose a new collection of benchmark problems in mechanizing the metatheory of
programming languages, in order to compare and push the state of the art of proof …

Linear regions are all you need

M Fluet, G Morrisett, A Ahmed - … on Programming, ESOP 2006, Held as …, 2006 - Springer
The type-and-effects system of the Tofte-Talpin region calculus makes it possible to safely
reclaim objects without a garbage collector. However, it requires that regions have last-in …

A relational model of types-and-effects in higher-order concurrent separation logic

M Krogh-Jespersen, K Svendsen… - Proceedings of the 44th …, 2017 - dl.acm.org
Recently we have seen a renewed interest in programming languages that tame the
complexity of state and concurrency through refined type systems with more fine-grained …