VLDB 2026 Research / reviewers in the wild / expert
Josh Berdine
dblp:61/1623
· DBLP profile ↗
27ranked-venue papers
11as first author
3since 2021 · last 2023
0000-0002-9691-1348ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 22 · 8 first-author · 2 since 2021Theory of computation · 11 · 8 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | A General Approach to Under-Approximate Reasoning About Concurrent Programs
Azalea Raad, Julien Vanegue, Josh Berdine, Peter W. O'Hearn |
CONCUR | 3 |
| 2022 | Finding real bugs in big programs with incorrectness logicabstractIncorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving the presence of bugs—dual to Hoare Logic, which is used to compositionally prove their absence. Though IL was motivated in large part by the aim of providing a logical foundation for bug-catching program analyses, it has remained an open question: is IL useful only retrospectively (to explain existing analyses), or can it actually be useful in developing new analyses which can catch real bugs in big programs? In this work, we develop Pulse-X, a new, automatic program analysis for catching memory errors, based on ISL, a recent synthesis of IL and separation logic. Using Pulse-X, we have found 15 new real bugs in OpenSSL, which we have reported to OpenSSL maintainers and have since been fixed. In order not to be overwhelmed with potential but false error reports, we develop a compositional bug-reporting criterion based on a distinction between latent and manifest errors, which references the under-approximate ISL abstractions computed by Pulse-X, and we investigate the fix rate resulting from application of this criterion. Finally, to probe the potential practicality of our bug-finding method, we conduct a comparison to Infer, a widely used analyzer which has proven useful in industrial engineering practice. Quang Loc Le, Azalea Raad, Jules Villard, Josh Berdine, Derek Dreyer, Peter W. O'Hearn |
Proc. ACM Program. Lang. | 4 |
| 2022 | Concurrent incorrectness separation logicabstractIncorrectness separation logic (ISL) was recently introduced as a theory of under-approximate reasoning, with the goal of proving that compositional bug catchers find actual bugs. However, ISL only considers sequential programs. Here, we develop concurrent incorrectness separation logic (CISL), which extends ISL to account for bug catching in concurrent programs. Inspired by the work on Views, we design CISL as a parametric framework, which can be instantiated for a number of bug catching scenarios, including race detection, deadlock detection, and memory safety error detection. For each instance, the CISL meta-theory ensures the soundness of incorrectness reasoning for free, thereby guaranteeing that the bugs detected are true positives. Azalea Raad, Josh Berdine, Derek Dreyer, Peter W. O'Hearn |
Proc. ACM Program. Lang. | 2 |
| 2020 | Local Reasoning About the Presence of Bugs: Incorrectness Separation LogicabstractThere has been a large body of work on local reasoning for proving the absence of bugs, but none for proving their presence . We present a new formal framework for local reasoning about the presence of bugs, building on two complementary foundations: 1) separation logic and 2) incorrectness logic. We explore the theory of this new incorrectness separation logic (ISL), and use it to derive a begin-anywhere, intra-procedural symbolic execution analysis that has no false positives by construction . In so doing, we take a step towards transferring modular, scalable techniques from the world of program verification to bug catching. Azalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer, Peter W. O'Hearn, Jules Villard |
CAV (2) | 2 |
| 2015 | Spatial Interpolants
Aws Albarghouthi, Josh Berdine, Byron Cook, Zachary Kincaid |
ESOP | 2 |
| 2015 | A Forward Analysis for Recurrent Sets
Alexey Bakhirkin, Josh Berdine, Nir Piterman |
SAS | 2 |
| 2014 | Backward Analysis via over-Approximate Abstraction and under-Approximate Subtraction
Alexey Bakhirkin, Josh Berdine, Nir Piterman |
SAS | 2 |
| 2013 | Resourceful Reachability as HORN-LA
Josh Berdine, Nikolaj S. Bjørner, Samin Ishtiaq, Jael E. Kriener, Christoph M. Wintersteiger |
LPAR | 1 |
| 2012 | Diagnosing Abstraction Failure for Separation Logic-Based Analyses
Josh Berdine, Arlen Cox, Samin Ishtiaq, Christoph M. Wintersteiger |
CAV | 1 |
| 2011 | SLAyer: Memory Safety for Systems-Level Code
Josh Berdine, Byron Cook, Samin Ishtiaq |
CAV | 1 |
| 2010 | Structuring the verification of heap-manipulating programsabstractMost systems based on separation logic consider only restricted forms of implication or non-separating conjunction, as full support for these connectives requires a non-trivial notion of variable context, inherited from the logic of bunched implications (BI). We show that in an expressive type theory such as Coq, one can avoid the intricacies of BI, and support full separation logic very efficiently, using the native structuring primitives of the type theory. Aleksandar Nanevski, Viktor Vafeiadis, Josh Berdine |
POPL | 3 |
| 2009 | Automatic Verification of Heap Manipulation Using Separation Logic
Josh Berdine |
SOFSEM | 1 |
| 2008 | Thread Quantification for Concurrent Shape Analysis
Josh Berdine, Tal Lev-Ami, Roman Manevich, G. Ramalingam, Shmuel Sagiv |
CAV | 1 |
| 2008 | Scalable Shape Analysis for Systems Code
Hongseok Yang, Oukseh Lee, Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, Peter W. O'Hearn |
CAV | 3 |
| 2008 | Diagrammatic Reasoning in Separation Logic
M. Ridsdale, Mateja Jamnik, Nick Benton, Josh Berdine |
Diagrams | 4 |
| 2008 | Heap Decomposition for Concurrent Shape Analysis
Roman Manevich, Tal Lev-Ami, Shmuel Sagiv, G. Ramalingam, Josh Berdine |
SAS | 5 |
| 2007 | Local Reasoning for Storable Locks and Threads
Alexey Gotsman, Josh Berdine, Byron Cook, Noam Rinetzky, Shmuel Sagiv |
APLAS | 2 |
| 2007 | Shape Analysis for Composite Data Structures
Josh Berdine, Cristiano Calcagno, Byron Cook, Dino Distefano, Peter W. O'Hearn, Thomas Wies, Hongseok Yang |
CAV | 1 |
| 2007 | Thread-modular shape analysisabstractWe present the first shape analysis for multithreaded programs that avoids the explicit enumeration of execution-interleavings. Our approach is to automatically infer a resource invariant associated with each lock that describes the part of the heap protected by the lock. This allows us to use a sequential shape analysis on each thread. We show that resource invariants of a certain class can be characterized as least fixed points and computed via repeated applications of shape analysis only on each individual thread. Based on this approach, we have implemented a thread-modular shape analysis tool and applied it to concurrent heap-manipulating code from Windows device drivers. Alexey Gotsman, Josh Berdine, Byron Cook, Shmuel Sagiv |
PLDI | 2 |
| 2007 | Variance analyses from invariance analyses
Josh Berdine, Aziem Chawdhary, Byron Cook, Dino Distefano, Peter W. O'Hearn |
POPL | 1 |
| 2007 | Local reasoning about storable locksabstractThis talk will present a resource-oriented program logic that is able to reason about concurrent heap-manipulating programs with unbounded numbers of dynamically-allocated locks, and note an extension to storable threads. The logic is inspired by concurrent separation logic, but handles these more realistic concurrency primitives. We demonstrate that the proposed logic allows for local reasoning about programs that exhibit a high degree of information hiding in their locking mechanisms. Soundness is proved using a novel thread-local fixed-point semantics. Josh Berdine |
PPDP | 1 |
| 2007 | Arithmetic Strengthening for Shape Analysis
Stephen Magill, Josh Berdine, Edmund M. Clarke, Byron Cook |
SAS | 2 |
| 2007 | Shape Analysis by Graph Decomposition
Roman Manevich, Josh Berdine, Byron Cook, G. Ramalingam, Shmuel Sagiv |
TACAS | 2 |
| 2006 | Automatic Termination Proofs for Programs with Shape-Shifting Heaps
Josh Berdine, Byron Cook, Dino Distefano, Peter W. O'Hearn |
CAV | 1 |
| 2006 | Interprocedural Shape Analysis with Separated Heap Abstractions
Alexey Gotsman, Josh Berdine, Byron Cook |
SAS | 2 |
| 2005 | Symbolic Execution with Separation Logic
Josh Berdine, Cristiano Calcagno, Peter W. O'Hearn |
APLAS | 1 |
| 2004 | A Decidable Fragment of Separation Logic
Josh Berdine, Cristiano Calcagno, Peter W. O'Hearn |
FSTTCS | 1 |