Separation logic

P O'Hearn - Communications of the ACM, 2019 - dl.acm.org
Separation logic Page 1 86 COMMUNICATIONS OF THE ACM | FEBRUARY 2019 | VOL. 62 |
NO. 2 review articles A FUNDAMENTAL TECHNIQUE in reasoning about programs is the use …

Iris from the ground up: A modular foundation for higher-order concurrent separation logic

R Jung, R Krebbers, JH Jourdan, A Bizjak… - Journal of Functional …, 2018 - cambridge.org
Iris is a framework for higher-order concurrent separation logic, which has been
implemented in the Coq proof assistant and deployed very effectively in a wide variety of …

Refinement types: A tutorial

R Jhala, N Vazou - Foundations and Trends® in …, 2021 - nowpublishers.com
Refinement types enrich a language's type system with logical predicates that circumscribe
the set of values described by the type. These refinement predicates provide software …

[LIBRO][B] Types and programming languages

BC Pierce - 2002 - books.google.com
A comprehensive introduction to type systems and programming languages. A type system
is a syntactic method for automatically checking the absence of certain erroneous behaviors …

Separation logic: A logic for shared mutable data structures

JC Reynolds - Proceedings 17th annual IEEE symposium on …, 2002 - ieeexplore.ieee.org
In joint work with Peter O'Hearn and others, based on early ideas of Burstall, we have
developed an extension of Hoare logic that permits reasoning about low-level imperative …

Local reasoning about programs that alter data structures

P O'Hearn, J Reynolds, H Yang - … , CSL 2001 10th Annual Conference of …, 2001 - Springer
We describe an extension of Hoare's logic for reasoning about programs that alter data
structures. We consider a low-level storage model based on a heap with associated lookup …

The prusti project: Formal verification for rust

V Astrauskas, A Bílý, J Fiala, Z Grannan… - NASA Formal Methods …, 2022 - Springer
Rust is a modern systems programming language designed to offer both performance and
static safety. A key distinguishing feature is a strong type system, which enforces by default …

Secure information flow by self-composition

G Barthe, PR D'argenio, T Rezk - Mathematical Structures in …, 2011 - cambridge.org
Information flow policies are confidentiality policies that control information leakage through
program execution. A common way to enforce secure information flow is through information …

Checking interference with fractional permissions

J Boyland - International Static Analysis Symposium, 2003 - Springer
We describe a type system for checking interference using the concept of linear capabilities
(which we call “permissions”). Our innovations include the concept of “fractional” …

Automatic predicate abstraction of C programs

T Ball, R Majumdar, T Millstein… - Proceedings of the ACM …, 2001 - dl.acm.org
Model checking has been widely successful in validating and debugging designs in the
hardware and protocol domains. However, state-space explosion limits the applicability of …