Deductive software verification-the key book
• There are IDEs for KeY, including an Eclipse extension, that make it easy to keep track of
proof obligations in larger projects [Hentschel et al., 2014c].• A stripped down version of …
proof obligations in larger projects [Hentschel et al., 2014c].• A stripped down version of …
Iris: Monoids and invariants as an orthogonal basis for concurrent reasoning
We present Iris, a concurrent separation logic with a simple premise: monoids and invariants
are all you need. Partial commutative monoids enable us to express---and invariants enable …
are all you need. Partial commutative monoids enable us to express---and invariants enable …
VeriFast: A powerful, sound, predictable, fast verifier for C and Java
B Jacobs, J Smans, P Philippaerts, F Vogels… - NASA formal methods …, 2011 - Springer
VeriFast is a prototype verification tool for single-threaded and multithreaded C and Java
programs. In this paper, we first describe the basic symbolic execution approach in some …
programs. In this paper, we first describe the basic symbolic execution approach in some …
Deductive software verification: from pen-and-paper proofs to industrial tools
Deductive software verification aims at formally verifying that all possible behaviors of a
given program satisfy formally defined, possibly complex properties, where the verification …
given program satisfy formally defined, possibly complex properties, where the verification …
The essence of higher-order concurrent separation logic
Concurrent separation logics (CSLs) have come of age, and with age they have
accumulated a great deal of complexity. Previous work on the Iris logic attempted to reduce …
accumulated a great deal of complexity. Previous work on the Iris logic attempted to reduce …
Impredicative concurrent abstract predicates
K Svendsen, L Birkedal - … and Systems: 23rd European Symposium on …, 2014 - Springer
We present impredicative concurrent abstract predicates–iCAP–a program logic for modular
reasoning about concurrent, higher-order, reentrant, imperative code. Building on earlier …
reasoning about concurrent, higher-order, reentrant, imperative code. Building on earlier …
TaDA: A logic for time and data abstraction
P da Rocha Pinto, T Dinsdale-Young… - ECOOP 2014–Object …, 2014 - Springer
To avoid data races, concurrent operations should either be at distinct times or on distinct
data. Atomicity is the abstraction that an operation takes effect at a single, discrete instant in …
data. Atomicity is the abstraction that an operation takes effect at a single, discrete instant in …
Grove: a separation-logic library for verifying distributed systems
Grove is a concurrent separation logic library for verifying distributed systems. Grove is the
first to handle time-based leases, including their interaction with reconfiguration, crash …
first to handle time-based leases, including their interaction with reconfiguration, crash …
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 …
The future is ours: prophecy variables in separation logic
Early in the development of Hoare logic, Owicki and Gries introduced auxiliary variables as
a way of encoding information about the history of a program's execution that is useful for …
a way of encoding information about the history of a program's execution that is useful for …