EDBT 2026 Demo / reviewers in the wild / expert
Brianna Marshall
dblp:412/7566
· DBLP profile ↗
2ranked-venue papers
0as first author
2since 2021 · last 2025
0000-0002-7744-4932ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 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 |
Programming languages and type systems · 91% Program synthesis and code generation · 4% Program verification · 4% |
Topics — the 8 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type systems › ownership types
borrowing |
0.9 | 1 | 2025 | From Linearity to Borrowing · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems › probabilistic programming
exact inference |
0.9 | 1 | 2025 | Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic Programming · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems
language design |
0.9 | 1 | 2025 | Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic Programming · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems › type systems › substructural type systems
linear types |
0.9 | 1 | 2025 | From Linearity to Borrowing · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems
probabilistic programming |
0.9 | 1 | 2025 | Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic Programming · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems › type systems
type soundness |
0.9 | 1 | 2025 | From Linearity to Borrowing · Proc. ACM Program. Lang. 2025 |
Program verification › program logic
separation logic |
0.3 | 1 | 2025 | From Linearity to Borrowing · Proc. ACM Program. Lang. 2025 |
Program synthesis and code generation
solver-aided programming |
0.3 | 1 | 2025 | Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic Programming · Proc. ACM Program. Lang. 2025 |
Methods — techniques the papers use, named apart from their topics
symbolic evaluation · 0.9solver-aided programming · 0.9separation logic · 0.9semantic model · 0.9
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic ProgrammingabstractExact probabilistic inference is a requirement for many applications of probabilistic programming languages (PPLs) such as in high-consequence settings or verification. However, designing and implementing a PPL with scalable high-performance exact inference is difficult: exact inference engines, much like SAT solvers, are intricate low-level programs that are hard to implement. Due to this implementation challenge, PPLs that support scalable exact inference are restrictive and lack many features of general-purpose languages. This paper presents Roulette, the first discrete probabilistic programming language that combines high-performance exact inference with general-purpose language features. Roulette supports a significant subset of Racket, including data structures, first-class functions, surely-terminating recursion, mutable state, modules, and macros, along with probabilistic features such as finitely supported discrete random variables, conditioning, and top-level inference. The key insight is that there is a close connection between exact probabilistic inference and the symbolic evaluation strategy of Rosette. Building on this connection, Roulette generalizes and extends the Rosette solver-aided programming system to reason about probabilistic rather than symbolic quantities. We prove Roulette sound by generalizing a proof of correctness for Rosette to handle probabilities, and demonstrate its scalability and expressivity on a number of examples. Cameron Moy, Jack Czenszak, John M. Li, Brianna Marshall, Steven Holtzen |
Proc. ACM Program. Lang. | 4 |
| 2025 | From Linearity to BorrowingabstractLinear type systems are powerful because they can statically ensure the correct management of resources like memory, but they can also be cumbersome to work with, since even benign uses of a resource require that it be explicitly threaded through during computation. Borrowing , as popularized by Rust, reduces this burden by allowing one to temporarily disable certain resource permissions (e.g., deallocation or mutation) in exchange for enabling certain structural permissions (e.g., weakening or contraction). In particular, this mechanism spares the borrower of a resource from having to explicitly return it to the lender but nevertheless ensures that the lender eventually reclaims ownership of the resource. In this paper, we elucidate the semantics of borrowing by starting with a standard linear type system for ensuring safe manual memory management in an untyped lambda calculus and gradually augmenting it with immutable borrows, lexical lifetimes, reborrowing, and finally mutable borrows. We prove semantic type soundness for our Borrow Calculus ( BoCa ) using Borrow Logic ( BoLo ), a novel domain-specific separation logic for borrowing. We establish the soundness of this logic using a semantic model that additionally guarantees that our calculus is terminating and free of memory leaks. We also show that our Borrow Logic is robust enough to establish the semantic safety of some syntactically ill-typed programs that temporarily break but reestablish invariants. Andrew Wagner, Olek Gierczak, Brianna Marshall, John M. Li, Amal Ahmed 0001 |
Proc. ACM Program. Lang. | 3 |