Behavioral interface specification languages
Behavioral interface specification languages provide formal code-level annotations, such as
preconditions, postconditions, invariants, and assertions that allow programmers to express …
preconditions, postconditions, invariants, and assertions that allow programmers to express …
Viper: A verification infrastructure for permission-based reasoning
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 …
benefitted greatly from verification infrastructures such as Boogie and Why. These offer an …
Leveraging Rust types for modular specification and verification
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 …
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 …
with pen and paper or with interactive proof assistants, whereas only reduced verification …
Creusot: A Foundry for the Deductive Verification of Rust Programs
Rust is a fairly recent programming language for system programming, bringing static
guarantees of memory safety through a strict ownership policy. The strong guarantees …
guarantees of memory safety through a strict ownership policy. The strong guarantees …
Views: compositional reasoning for concurrent programs
Compositional abstractions underly many reasoning principles for concurrent programs: the
concurrent environment is abstracted in order to reason about a thread in isolation; and …
concurrent environment is abstracted in order to reason about a thread in isolation; and …
Mechanized verification of fine-grained concurrent programs
Efficient concurrent programs and data structures rarely employ coarse-grained
synchronization mechanisms (ie, locks); instead, they implement custom synchronization …
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 …
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 …
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 …
and session-typed communication guarantee session fidelity and deadlock freedom …