Behavioral interface specification languages

J Hatcliff, GT Leavens, KRM Leino, P Müller… - ACM Computing …, 2012 - dl.acm.org
Behavioral interface specification languages provide formal code-level annotations, such as
preconditions, postconditions, invariants, and assertions that allow programmers to express …

Viper: A verification infrastructure for permission-based reasoning

P Müller, M Schwerhoff, AJ Summers - … St. Petersburg, FL, USA, January 17 …, 2016 - Springer
The automation of verification techniques based on first-order logic specifications has
benefitted greatly from verification infrastructures such as Boogie and Why. These offer an …

Leveraging Rust types for modular specification and verification

V Astrauskas, P Müller, F Poli… - Proceedings of the ACM on …, 2019 - dl.acm.org
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 …

Dafny: An automatic program verifier for functional correctness

KRM Leino - International conference on logic for programming …, 2010 - Springer
Traditionally, the full verification of a program's functional correctness has been obtained
with pen and paper or with interactive proof assistants, whereas only reduced verification …

Creusot: A Foundry for the Deductive Verification of Rust Programs

X Denis, JH Jourdan, C Marché - International Conference on Formal …, 2022 - Springer
Rust is a fairly recent programming language for system programming, bringing static
guarantees of memory safety through a strict ownership policy. The strong guarantees …

Views: compositional reasoning for concurrent programs

T Dinsdale-Young, L Birkedal, P Gardner… - Proceedings of the 40th …, 2013 - dl.acm.org
Compositional abstractions underly many reasoning principles for concurrent programs: the
concurrent environment is abstracted in order to reason about a thread in isolation; and …

Mechanized verification of fine-grained concurrent programs

I Sergey, A Nanevski, A Banerjee - Proceedings of the 36th ACM …, 2015 - dl.acm.org
Efficient concurrent programs and data structures rarely employ coarse-grained
synchronization mechanisms (ie, locks); instead, they implement custom synchronization …

[PDF][PDF] Z310: Applications, enablers, challenges and directions

N Bjørner, L De Moura - … workshop on constraints in formal verification, 2009 - microsoft.com
Modern program analysis and model-based tools are increasingly complex and multi-
faceted software systems. However, at their core is invariably a component using a logic for …

Verification of concurrent programs with Chalice

KRM Leino, P Müller, J Smans - … on Foundations of Security Analysis and …, 2007 - Springer
A program verifier is a tool that allows developers to prove that their code satisfies its
specification for every possible input and every thread schedule. These lecture notes …

Manifest sharing with session types

S Balzer, F Pfenning - Proceedings of the ACM on Programming …, 2017 - dl.acm.org
Session-typed languages building on the Curry-Howard isomorphism between linear logic
and session-typed communication guarantee session fidelity and deadlock freedom …