Deductive software verification-the key book

W Ahrendt, B Beckert, R Bubel, R Hähnle… - Lecture notes in …, 2016 - Springer
• 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 …

Iris: Monoids and invariants as an orthogonal basis for concurrent reasoning

R Jung, D Swasey, F Sieczkowski, K Svendsen… - ACM SIGPLAN …, 2015 - dl.acm.org
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 …

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 …

Deductive software verification: from pen-and-paper proofs to industrial tools

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 …

The essence of higher-order concurrent separation logic

R Krebbers, R Jung, A Bizjak, JH Jourdan… - … 2017, Held as Part of the …, 2017 - Springer
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 …

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 …

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 …

Grove: a separation-logic library for verifying distributed systems

U Sharma, R Jung, J Tassarotti, F Kaashoek… - Proceedings of the 29th …, 2023 - dl.acm.org
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 …

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 …

The future is ours: prophecy variables in separation logic

R Jung, R Lepigre, G Parthasarathy… - Proceedings of the …, 2019 - dl.acm.org
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 …