VLDB 2026 Research / reviewers in the wild / expert
Benjamin Sherman
dblp:205/7232
· DBLP profile ↗
7ranked-venue papers
3as first author
2since 2021 · last 2023
0009-0008-8673-0624ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 2 first-author · 1 since 2021Security and privacy · 1 · 1 since 2021Theory of computation · 1 · 1 first-author
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
5 papers |
Programming languages and type systems · 95% Compilers and program optimization · 5% | |
| Network and information security
1 paper |
Cryptographic protocols and secure computation · 100% | |
| Artificial intelligence
2 papers |
Probabilistic and Bayesian machine learning · 74% Deep learning architectures and training · 26% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
language semantics |
0.8 | 2 | 2021 | 𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypes · Proc. ACM Program. Lang. 2021 Computable decision making on the reals and other spaces: via partiality and nondeterminism · LICS 2018 |
Cryptographic protocols and secure computation › secure multiparty computation
MPC compiler |
0.7 | 1 | 2023 | COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party Computation · CCS 2023 |
Cryptographic protocols and secure computation
secure multiparty computation |
0.7 | 1 | 2023 | COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party Computation · CCS 2023 |
Machine learning › Probabilistic and Bayesian machine learning
probabilistic programming |
0.4 | 1 | 2020 | Reactive probabilistic programming · PLDI 2020 |
Programming languages and type systems › language semantics › formal semantics
denotational semantics |
0.4 | 1 | 2020 | Trace types and denotational semantics for sound programmable inference in probabilistic languages · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems
probabilistic programming |
0.4 | 1 | 2020 | Trace types and denotational semantics for sound programmable inference in probabilistic languages · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems › domain-specific languages
synchronous languages |
0.4 | 1 | 2020 | Reactive probabilistic programming · PLDI 2020 |
Programming languages and type systems
type systems |
0.4 | 1 | 2020 | Trace types and denotational semantics for sound programmable inference in probabilistic languages · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems
exact real arithmetic |
0.3 | 1 | 2018 | Computable decision making on the reals and other spaces: via partiality and nondeterminism · LICS 2018 |
Programming languages and type systems › control structures
pattern matching |
0.3 | 1 | 2018 | Computable decision making on the reals and other spaces: via partiality and nondeterminism · LICS 2018 |
Compilers and program optimization
vectorization |
0.2 | 1 | 2023 | COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party Computation · CCS 2023 |
Machine learning › Deep learning architectures and training
differentiable programming |
0.1 | 1 | 2021 | 𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypes · Proc. ACM Program. Lang. 2021 |
Methods — techniques the papers use, named apart from their topics
backend-independent compilation · 1.3lipschitz analysis · 1.0embedded language · 1.0partiality · 0.3nondeterminism · 0.3computable decision making · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party ComputationabstractRecent years have witnessed significant advances in programming technology for multi-party computation (MPC), bringing MPC closer to practice and wider applicability. Typical MPC programming frameworks focus on either front-end language design (e.g., Wysteria, Viaduct, SPDZ), or back-end protocol design and implementation (e.g., ABY, MOTION, MP-SPDZ). Benjamin Levy, Benjamin Sherman, Lindsey Kennard, Ana L. Milanova, Vassilis Zikas |
CCS | 3 |
| 2021 | 𝜆ₛ: computable semantics for differentiable programming with higher-order functions and datatypesabstractDeep learning is moving towards increasingly sophisticated optimization objectives that employ higher-order functions, such as integration, continuous optimization, and root-finding. Since differentiable programming frameworks such as PyTorch and TensorFlow do not have first-class representations of these functions, developers must reason about the semantics of such objectives and manually translate them to differentiable code. We present a differentiable programming language, λ S , that is the first to deliver a semantics for higher-order functions, higher-order derivatives, and Lipschitz but nondifferentiable functions. Together, these features enableλ S to expose differentiable, higher-order functions for integration, optimization, and root-finding as first-class functions with automatically computed derivatives. λ S ’s semantics is computable, meaning that values can be computed to arbitrary precision, and we implement λ S as an embedded language in Haskell. We use λ S to construct novel differentiable libraries for representing probability distributions, implicit surfaces, and generalized parametric surfaces – all as instances of higher-order datatypes – and present case studies that rely on computing the derivatives of these higher-order functions and datatypes. In addition to modeling existing differentiable algorithms, such as a differentiable ray tracer for implicit surfaces, without requiring any user-level differentiation code, we demonstrate new differentiable algorithms, such as the Hausdorff distance of generalized parametric surfaces. Benjamin Sherman, Jesse Michel, Michael Carbin |
Proc. ACM Program. Lang. | 1 |
| 2020 | Reactive probabilistic programmingabstractSynchronous modeling is at the heart of programming languages like Lustre, Esterel, or Scade used routinely for implementing safety critical control software, e.g., fly-by-wire and engine control in planes. However, to date these languages have had limited modern support for modeling uncertainty --- probabilistic aspects of the software's environment or behavior --- even though modeling uncertainty is a primary activity when designing a control system. Guillaume Baudart, Louis Mandel, Eric Atkinson, Benjamin Sherman, Marc Pouzet, Michael Carbin |
PLDI | 4 |
| 2020 | Trace types and denotational semantics for sound programmable inference in probabilistic languagesabstractModern probabilistic programming languages aim to formalize and automate key aspects of probabilistic modeling and inference. Many languages provide constructs for programmable inference that enable developers to improve inference speed and accuracy by tailoring an algorithm for use with a particular model or dataset. Unfortunately, it is easy to use these constructs to write unsound programs that appear to run correctly but produce incorrect results. To address this problem, we present a denotational semantics for programmable inference in higher-order probabilistic programming languages, along with a type system that ensures that well-typed inference programs are sound by construction. A central insight is that the type of a probabilistic expression can track the space of its possible execution traces, not just the type of value that it returns, as these traces are often the objects that inference algorithms manipulate. We use our semantics and type system to establish soundness properties of custom inference programs that use constructs for variational, sequential Monte Carlo, importance sampling, and Markov chain Monte Carlo inference. Alexander K. Lew, Marco F. Cusumano-Towner, Benjamin Sherman, Michael Carbin, Vikash Mansinghka 0001 |
Proc. ACM Program. Lang. | 3 |
| 2019 | Sound and robust solid modeling via exact real arithmetic and continuityabstractAlgorithms for solid modeling, i.e., Computer-Aided Design (CAD) and computer graphics, are often specified on real numbers and then implemented with finite-precision arithmetic, such as floating-point. The result is that these implementations do not soundly compute the results that are expected from their specifications. We present a new library, StoneWorks, that provides sound and robust solid modeling primitives. We implement StoneWorks in MarshallB, a pure functional programming language for exact real arithmetic in which types denote topological spaces and functions denote continuous maps, ensuring that all programs are sound and robust. We developed MarshallB as an extension of the Marshall language. We also define a new shape representation, compact representation ( K-rep ), that enables constructions such as Minkowski sum and analyses such as Hausdorff distance that are not possible with traditional representations. K-rep is a nondeterminism monad for describing all the points in a shape. With our library, language, and representation together, we show that short StoneWorks programs can specify and execute sound and robust solid modeling algorithms and tasks. Benjamin Sherman, Jesse Michel, Michael Carbin |
Proc. ACM Program. Lang. | 1 |
| 2018 | Computable decision making on the reals and other spaces: via partiality and nondeterminismabstractThough many safety-critical software systems use floating point to represent real-world input and output, the mathematical specifications of these systems' behaviors use real numbers. Significant deviations from those specifications can cause errors and jeopardize safety. To ensure system safety, some programming systems offer exact real arithmetic, which often enables a program's computation to match its mathematical specification exactly. However, exact real arithmetic complicates decision-making: in these systems, it is impossible to compute (total and deterministic) discrete decisions based on connected spaces such as R. We present programming-language semantics based on constructive topology with variants allowing nondeterminism and/or partiality. Either nondeterminism or partiality suffices to allow computable decision making on connected spaces such as R. We then introduce pattern matching on spaces, a language construct for creating programs on spaces, generalizing pattern matching in functional programming, where patterns need not represent decidable predicates and also may overlap or be inexhaustive, giving rise to nondeterminism or partiality, respectively. Nondeterminism and/or partiality also yield formal logics for constructing approximate decision procedures. We extended the Marshall language for exact real arithmetic with these constructs and implemented some programs with it. Benjamin Sherman, Luke Sciarappa, Adam Chlipala, Michael Carbin |
LICS | 1 |
| 2017 | Kami: a platform for high-level parametric hardware specification and its modular verificationabstractIt has become fairly standard in the programming-languages research world to verify functional programs in proof assistants using induction, algebraic simplification, and rewriting. In this paper, we introduce Kami, a Coq library that enables similar expressive and modular reasoning for hardware designs expressed in the style of the Bluespec language. We can specify, implement, and verify realistic designs entirely within Coq, ending with automatic extraction into a pipeline that bottoms out in FPGAs. Our methodology, using labeled transition systems, has been evaluated in a case study verifying an infinite family of multicore systems, with cache-coherent shared memory and pipelined cores implementing (the base integer subset of) the RISC-V instruction set. Joonwon Choi, Muralidaran Vijayaraghavan, Benjamin Sherman, Adam Chlipala, Arvind 0001 |
Proc. ACM Program. Lang. | 3 |