Verified Software Toolchain: (Invited Talk)

AW Appel - European Symposium on Programming, 2011 - Springer
The software toolchain includes static analyzers to check assertions about programs;
optimizing compilers to translate programs to machine language; operating systems and …

Compositional shape analysis by means of bi-abduction

C Calcagno, D Distefano, P O'Hearn… - Proceedings of the 36th …, 2009 - dl.acm.org
This paper describes a compositional shape analysis, where each procedure is analyzed
independently of its callers. The analysis uses an abstract domain based on a restricted …

A type and effect system for deterministic parallel Java

RL Bocchino Jr, VS Adve, D Dig, SV Adve… - Proceedings of the 24th …, 2009 - dl.acm.org
Today's shared-memory parallel programming models are complex and error-prone. While
many parallel programs are intended to be deterministic, unanticipated thread interleavings …

Scalable shape analysis for systems code

H Yang, O Lee, J Berdine, C Calcagno, B Cook… - … on Computer Aided …, 2008 - Springer
Pointer safety faults in device drivers are one of the leading causes of crashes in operating
systems code. In principle, shape analysis tools can be used to prove the absence of this …

Shape analysis for composite data structures

J Berdine, C Calcagno, B Cook, D Distefano… - … on Computer Aided …, 2007 - Springer
We propose a shape analysis that adapts to some of the complex composite data structures
found in industrial systems-level programs. Examples of such data structures include “cyclic …

Oracle semantics for concurrent separation logic

A Hobor, AW Appel, FZ Nardelli - European Symposium on Programming, 2008 - Springer
We define (with machine-checked proofs in Coq) a modular operational semantics for
Concurrent C minor—a language with shared memory, spawnable threads, and first-class …

Local reasoning for storable locks and threads

A Gotsman, J Berdine, B Cook, N Rinetzky… - … Languages and Systems …, 2007 - Springer
We present a resource oriented program logic that is able to reason about concurrent heap-
manipulating programs with unbounded numbers of dynamically-allocated locks and …

Static race detection for device drivers: the Goblint approach

V Vojdani, K Apinis, V Rõtov, H Seidl, V Vene… - Proceedings of the 31st …, 2016 - dl.acm.org
Device drivers rely on fine-grained locking to ensure safe access to shared data structures.
For human testers, concurrency makes such code notoriously hard to debug; for automated …

Concurrent separation logic

S Brookes, PW O'Hearn - ACM SIGLOG News, 2016 - dl.acm.org
Concurrent Separation Logic (CSL) was originally advanced in papers of the authors
published in Theoretical Computer Science for John Reynolds's 70th Birthday Festschrift …

Concurrent incorrectness separation logic

A Raad, J Berdine, D Dreyer, PW O'Hearn - Proceedings of the ACM on …, 2022 - dl.acm.org
Incorrectness separation logic (ISL) was recently introduced as a theory of under-
approximate reasoning, with the goal of proving that compositional bug catchers find actual …