collaborators
Showing cs.PLShow all

5 papers · 1 filter

cs.PL2025

Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees

Zachary Grannan, Aurea Bílá, Jonáš Fiala +4

Rust's novel type system has proved an attractive target for verification and program analysis tools, due to the rich guarantees it provides for controlling aliasing and mutability…

cs.PL2024

Formal Foundations for Translational Separation Logic Verifiers (extended version)

Thibault Dardinier, Michael Sammler, Gaurav Parthasarathy +2

Program verification tools are often implemented as front-end translations of an input program into an intermediate verification language (IVL) such as Boogie, GIL, Viper, or Why3.…

cs.PL2024

Reasoning about Interior Mutability in Rust using Library-Defined Capabilities

Federico Poli, Xavier Denis, Peter Müller +1

Existing automated verification techniques for safe Rust code rely on the strong type-system properties to reason about programs, especially to deduce which memory locations do not…

cs.PL2024

Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language (extended version)

Gaurav Parthasarathy, Thibault Dardinier, Benjamin Bonneau +2

Automated program verifiers are typically implemented using an intermediate verification language (IVL), such as Boogie or Why3. A verifier front-end translates the input program a…

cs.PL2024

Resource Specifications for Resource-Manipulating Programs

Zachary Grannan, Alexander J. Summers

Specifications for modular program verifiers are expressed as constraints on program states (e.g. preconditions) and relations on program states (e.g. postconditions). For programs…