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

Santiago Cuéllar

dblp:337/2524 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
2since 2021 · last 2025
—ORCID · none

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

Software engineering, systems software and programming languages · 3Security and privacy · 2 · 2 first-author · 2 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
2 papers
Compilers and program optimization · 54% Programming languages and type systems · 23% Program verification · 11%
Network and information security
1 paper
Cryptographic protocols and secure computation · 77% Systems and software security · 23%

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

TopicWeightPapersLastEvidence papers
Cryptographic protocols and secure computation › proof systems
zero-knowledge proofs
0.712023
Cheesecloth: Zero-Knowledge Proofs of Real World Vulnerabilities · USENIX Security Symposium 2023
Compilers and program optimization
verified compilation
0.422015
Compositional CompCert · POPL 2015
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014
Compilers and program optimization › compiler correctness
compositional compiler correctness
0.212015
Compositional CompCert · POPL 2015
Compilers and program optimization › compiler toolchain
separate compilation
0.212015
Compositional CompCert · POPL 2015
Systems and software security
vulnerability discovery
0.212023
Cheesecloth: Zero-Knowledge Proofs of Real World Vulnerabilities · USENIX Security Symposium 2023
Programming languages and type systems
abstract data types
0.212014
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014
Programming languages and type systems › language semantics
formal semantics
0.212014
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014
Program verification › program logic
hoare logic
0.212014
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014
Concurrent programming › concurrency semantics
operational and axiomatic semantics
0.212014
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014
Compilers and program optimization
compiler correctness
0.112014
Compiler verification meets cross-language linking via data abstraction · OOPSLA 2014

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

coq · 0.4proof assistant · 0.2featherweight java · 0.2
YearPublicationVenuePosition
2025 Cheesecloth: Zero-Knowledge Proofs of Real-World Vulnerabilities
abstract
Currently, when a security analyst discovers a vulnerability in critical software system, they must navigate a fraught dilemma: immediately disclosing the vulnerability to the public could harm the system’s users; whereas disclosing the vulnerability only to the software’s vendor lets the vendor disregard or deprioritize the security risk, to the detriment of unwittingly-affected users. A compelling recent line of work aims to resolve this by using Zero Knowledge (ZK) protocols that let analysts prove that they know a vulnerability in a program, without revealing the details of the vulnerability or the inputs that exploit it. In principle, this could be achieved by generic ZK techniques. In practice, ZK vulnerability proofs to date have been restricted in scope and expressibility, due to challenges related to generating proof statements that model real-world software at scale and to directly formulating violated properties. This article presents Cheesecloth , a novel proof-statement compiler, which proves practical vulnerabilities in ZK by soundly-but-aggressively preprocessing programs on public inputs, selectively revealing information about executed control segments, and formalizing information leakage using a novel storage-labeling scheme. Cheesecloth ’s practicality is demonstrated by generating ZK proofs of well-known vulnerabilities in (previous versions of) critical software, including the Heartbleed information leakage in OpenSSL, a memory vulnerability in the FFmpeg multimedia encoding framework, a cryptographic implementation bug in the Secure Scuttlebutt decentralised social network, and a denial of service vulnerability in OpenSSL.
Santiago Cuéllar, Bill Harris, James Parker, Stuart Pernsteiner, Ian Sweet, Eran Tromer
ACM Trans. Priv. Secur.1
2023 Cheesecloth: Zero-Knowledge Proofs of Real World Vulnerabilities
Santiago Cuéllar, Bill Harris, James Parker, Stuart Pernsteiner, Eran Tromer
USENIX Security Symposium1
2017 Bringing Order to the Separation Logic Jungle
Qinxiang Cao, Santiago Cuéllar, Andrew W. Appel
APLAS2
2015 Compositional CompCert
abstract
This paper reports on the development of Compositional CompCert, the first verified separate compiler for C.
Gordon Stewart 0001, Lennart Beringer, Santiago Cuéllar, Andrew W. Appel
POPL3
2014 Compiler verification meets cross-language linking via data abstraction
abstract
Many real programs are written in multiple different programming languages, and supporting this pattern creates challenges for formal compiler verification. We describe our Coq verification of a compiler for a high-level language, such that the compiler correctness theorem allows us to derive partial-correctness Hoare-logic theorems for programs built by linking the assembly code output by our compiler and assembly code produced by other means. Our compiler supports such tricky features as storable cross-language function pointers, without giving up the usual benefits of being able to verify different compiler phases (including, in our case, two classic optimizations) independently. The key technical innovation is a mixed operational and axiomatic semantics for the source language, with a built-in notion of abstract data types, such that compiled code interfaces with other languages only through axiomatically specified methods that mutate encapsulated private data, represented in whatever formats are most natural for those languages.
Peng Wang 0048, Santiago Cuéllar, Adam Chlipala
OOPSLA2