Rust's type system ensures memory safety: well-typed Rust programs are guaranteed to not exhibit problems such as dangling pointers, data races, and unexpected side effects through …
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 …
R Hähnle, M Huisman - Computing and Software Science: State of the Art …, 2019 - Springer
Deductive software verification aims at formally verifying that all possible behaviors of a given program satisfy formally defined, possibly complex properties, where the verification …
There has been a large body of work on local reasoning for proving the absence of bugs, but none for proving their presence. We present a new formal framework for local reasoning …
PW O'Hearn - Proceedings of the 33rd annual ACM/IEEE symposium …, 2018 - dl.acm.org
This paper describes work in continuous reasoning, where formal reasoning about a (changing) codebase is done in a fashion which mirrors the iterative, continuous model of …
Separation logic (SL) has gained widespread popularity because of its ability to succinctly express complex invariants of a program's heap configurations. Several specialized provers …
The KeY system offers a platform of software analysis tools for sequential Java. Foremost, this includes full functional verification against contracts written in the Java Modeling …
PW O'Hearn - Software safety and security, 2012 - ebooks.iospress.nl
A Primer on Separation Logic (and Automatic Program Verification and Analysis) Page 1 A Primer on Separation Logic (and Automatic Program Verification and Analysis) Peter W. O’Hearn …
Interoperability between deductive program verification tools is a well-recognized long- standing challenge. In this paper we propose a solution for a well-delineated aspect of this …