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.

Tristan Ravitch

dblp:77/7062 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
1since 2021 · last 2025
0009-0005-6967-3945ORCID · corroborated

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

Software engineering, systems software and programming languages · 4 · 2 first-author · 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.

Network and information security
1 paper
Privacy and data protection · 87% Cryptographic primitives and cryptanalysis · 13%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 50% Program analysis · 50%

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

TopicWeightPapersLastEvidence papers
Privacy and data protection › differential privacy › privacy mechanism design
differentially private mechanism
0.912025
Verified Foundations for Differential Privacy · Proc. ACM Program. Lang. 2025
Privacy and data protection
differential privacy
0.912025
Verified Foundations for Differential Privacy · Proc. ACM Program. Lang. 2025
Cryptographic primitives and cryptanalysis
random number generation
0.312025
Verified Foundations for Differential Privacy · Proc. ACM Program. Lang. 2025
Programming languages and type systems › interoperability
language interoperability
0.112009
Automatic generation of library bindings using static analysis · PLDI 2009
Program analysis
static analysis
0.112009
Automatic generation of library bindings using static analysis · PLDI 2009

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

proof assistant (lean) · 0.9probability monad · 0.9measure theory · 0.9fourier analysis · 0.9static analysis · 0.1
YearPublicationVenuePosition
2025 Verified Foundations for Differential Privacy
abstract
Differential privacy (DP) has become the gold standard for privacy-preserving data analysis, but implementing it correctly has proven challenging. Prior work has focused on verifying DP at a high level, assuming either that the foundations are correct or that a perfect source of random noise is available. However, the underlying theory of differential privacy can be very complex and subtle. Flaws in basic mechanisms and random number generation have been a critical source of vulnerabilities in real-world DP systems. In this paper, we present SampCert, the first comprehensive, mechanized foundation for executable implementations of differential privacy. SampCert is written in Lean with over 12,000 lines of proof. It offers a generic and extensible notion of DP, a framework for constructing and composing DP mechanisms, and formally verified implementations of Laplace and Gaussian sampling algorithms. SampCert provides (1) a mechanized foundation for developing the next generation of differentially private algorithms, and (2) mechanically verified primitives that can be deployed in production systems. Indeed, SampCert’s verified algorithms power the DP offerings of Amazon Web Services, demonstrating its real-world impact. SampCert’s key innovations include: (1) A generic DP foundation that can be instantiated for various DP definitions (e.g., pure, concentrated, Rényi DP); (2) formally verified discrete Laplace and Gaussian sampling algorithms that avoid the pitfalls of floating-point implementations; and (3) a simple probability monad and novel proof techniques that streamline the formalization. To enable proving complex correctness properties of DP and random number generation, SampCert makes heavy use of Lean’s extensive Mathlib library, leveraging theorems in Fourier analysis, measure and probability theory, number theory, and topology.
Markus de Medeiros, Tancrède Lepoint, Temesghen Kahsai, Tristan Ravitch, Stefan Zetzsche, Anjali Joshi, Joseph Tassarotti, Aws Albarghouthi, Jean-Baptiste Tristan
Proc. ACM Program. Lang.5
2019 Dependently typed Haskell in industry (experience report)
abstract
Recent versions of the Haskell compiler GHC have a number of advanced features that allow many idioms from dependently typed programming to be encoded. We describe our experiences using this "dependently typed Haskell" to construct a performance-critical library that is a key component in a number of verification tools. We have discovered that it can be done, and it brings significant value, but also at a high cost. In this experience report, we describe the ways in which programming at the edge of what is expressible in Haskell's type system has brought us value, the difficulties that it has imposed, and some of the ways we coped with the difficulties.
David Thrane Christiansen, Iavor S. Diatchki, Robert Dockins, Joe Hendrix, Tristan Ravitch
Proc. ACM Program. Lang.5
2013 Analyzing memory ownership patterns in C libraries
abstract
Programs written in multiple languages are known as polyglot programs. In part due to the proliferation of new and productive high-level programming languages, these programs are becoming more common in environments that must interoperate with existing systems. Polyglot programs must manage resource lifetimes across language boundaries. Resource lifetime management bugs can lead to leaks and crashes, which are more difficult to debug in polyglot programs than monoglot programs.
Tristan Ravitch, Ben Liblit
ISMM1
2009 Automatic generation of library bindings using static analysis
abstract
High-level languages are growing in popularity. However, decades of C software development have produced large libraries of fast, time-tested, meritorious code that are impractical to recreate from scratch. Cross-language bindings can expose low-level C code to high-level languages. Unfortunately, writing bindings by hand is tedious and error-prone, while mainstream binding generators require extensive manual annotation or fail to offer the language features that users of modern languages have come to expect.
Tristan Ravitch, Steve Jackson 0002, Eric Aderhold, Ben Liblit
PLDI1