Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Joey Dodds

dblp:223/5187 · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
3since 2021 · last 2026
0009-0004-1534-6968ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 2 since 2021Theory of computation · 2 · 1 since 2021Security and privacy · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Program verification · 49% Program synthesis and code generation · 33% Program analysis · 19%
Network and information security
3 papers
Cryptographic protocols and secure computation · 38% Cryptographic primitives and cryptanalysis · 32% Systems and software security · 30%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
modular verification
1.012026
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases · SP 2026
Program verification › protocol verification
security protocol verification
1.012026
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases · SP 2026
Program analysis
static analysis
1.012026
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases · SP 2026
Program synthesis and code generation
syntax-guided synthesis
0.912025
Program Synthesis from Partial Traces · Proc. ACM Program. Lang. 2025
Program synthesis and code generation › programming by demonstration
trace-based synthesis
0.912025
Program Synthesis from Partial Traces · Proc. ACM Program. Lang. 2025
Cryptographic primitives and cryptanalysis › cryptographic implementation
cryptographic implementation verification
0.512021
Verified Cryptographic Code for Everybody · CAV (1) 2021
Program verification › security property verification
verified cryptographic implementation
0.512021
Verified Cryptographic Code for Everybody · CAV (1) 2021
Cryptographic protocols and secure computation
key exchange
0.312026
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases · SP 2026
Cryptographic protocols and secure computation › key exchange
signed diffie-hellman
0.312026
The Secrets Must Not Flow: Scaling Security Verification to Large Codebases · SP 2026
Systems and software security
memory safety
0.112021
Verified Cryptographic Code for Everybody · CAV (1) 2021

Methods — techniques the papers use, named apart from their topics

separation logic · 2.0auto-active verification · 2.0machine-assisted proof · 1.0bounded cryptographic verification · 1.0optimizing rewrites · 0.9cost metrics · 0.9
YearPublicationVenuePosition
2026 The Secrets Must Not Flow: Scaling Security Verification to Large Codebases
abstract
Existing program verifiers can prove advanced properties about security protocol implementations, but are difficult to scale to large codebases because of the manual effort required. We develop a novel methodology called *Diodon* that addresses this challenge by splitting the codebase into the protocol implementation (the *Core*) and the remainder (the *Application*). This split allows us to apply powerful semi-automated verification techniques to the security-critical Core, while fully-automatic static analyses scale the verification to the entire codebase by ensuring that the Application cannot invalidate the security properties proved for the Core. The static analyses achieve that by proving *I/O independence*, i.e., that the I/O operations within the Application are independent of the Core's security-relevant data (such as keys), and that the Application meets the Core's requirements. We have proved Diodon sound by first showing that we can safely allow the Application to perform I/O independent of the security protocol, and second that manual verification and static analyses soundly compose. We evaluate Diodon on two case studies: an implementation of the signed Diffie-Hellman key exchange and a large (100k+ LoC) production Go codebase implementing a key exchange protocol for which we obtained secrecy and injective agreement guarantees by verifying a Core of about 1% of the code with the auto-active program verifier Gobra in less than three person months.
Linard Arquint, Samarth Kishor, Jason R. Koenig, Joey Dodds, Daniel Kroening, Peter Müller 0001
SP4
2025 Program Synthesis from Partial Traces
abstract
We present the first technique to synthesize programs that compose side-effecting functions, pure functions, and control flow, from partial traces containing records of only the side-effecting functions. This technique can be applied to synthesize API composing scripts from logs of calls made to those APIs, or a script from traces of system calls made by a workload, for example. All of the provided traces are positive examples, meaning that they describe desired behavior. Our approach does not require negative examples. Instead, it generalizes over the examples and uses cost metrics to prevent over-generalization. Because the problem is too complex for traditional monolithic program synthesis techniques, we propose a new combination of optimizing rewrites and syntax-guided program synthesis. The resulting program is correct by construction, so its output will always be able to reproduce the input traces. We evaluate the quality of the programs synthesized when considering various optimization metrics and the synthesizer’s efficiency on real-world benchmarks. The results show that our approach can generate useful real-world programs.
Margarida Ferreira, Victor Nicolet, Joey Dodds, Daniel Kroening
Proc. ACM Program. Lang.3
2021 Verified Cryptographic Code for Everybody
abstract
Abstract We have completed machine-assisted proofs of two highly-optimized cryptographic primitives, AES-256-GCM and SHA-384. We have verified that the implementations of these primitives, written in a mix of C and x86 assembly, are memory safe and functionally correct, by which we mean input-output equivalent to their algorithmic specifications. Our proofs were completed using SAW, a bounded cryptographic verification tool which we have extended to handle embedded x86. The code we have verified comes from AWS LibCrypto. This code is identical to BoringSSL and very similar to OpenSSL, from which it ultimately derives. We believe we are the first to formally verify these implementations, which protect the security of nearly everybody on the internet.
Brett Boston, Samuel Breese, Joey Dodds, Mike Dodds, Brian Huffman, Adam Petcher, Andrei Stefanescu
CAV (1)3
2018 Continuous Formal Verification of Amazon s2n
Andrey Chudnov, Nathan Collins, Byron Cook, Joey Dodds, Brian Huffman, Colm MacCárthaigh, Stephen Magill, Eric Mertens, Eric Mullen, Serdar Tasiran, Aaron Tomb, Eddy Westbrook
CAV (2)4