Skip to content

I am a postdoctoral researcher in the Programming Language Foundations Lab at ETH Zürich, led by Ralf Jung. Previously, I was a research scientist in the Probabilistic Computing Project at MIT until August 2026. Prior to that, I completed my PhD in Computer Science at the University of Oxford in December 2024, supervised by Luke Ong and Andrzej Murawski.

My research interests are in Programming Language Theory and Formal Verification, with a focus on two areas:

  • Probabilistic Programming: I study how to express statistical models as programs, analyze their properties, and automate Bayesian inference efficiently. In particular, my PhD research developed techniques to analyze and verify properties of such probabilistic programs.
  • Safe Systems Programming: I recently started working on understanding and verifying the formal foundations of the Rust programming language.

Besides my research, I have done a lot of teaching, part of it as a Stipendiary Lecturer. Furthermore, I'm interested in formal proof assistants (especially Lean). In the fall of 2023, I interned in the Dafny team at AWS to formally prove the correctness of probabilistic samplers for differential privacy. I am also a big fan of the Rust programming language and have contributed a few features to its compiler. In my free time, I like playing the board game Go (a.k.a. Weiqi or Baduk).

Last updated:

Interests

  • Programming Language Theory
  • Probabilistic Programming
  • Rust programming language
  • Formal Methods
  • Interactive Theorem Proving

Education

  • PhD in Computer Science, 2019–2024
    University of Oxford
  • MSc in Computer Science, 2018–2019
    University of Oxford
  • MSc in Mathematics, 2015–2018
    University of Bonn
  • BSc in Mathematics, 2012–2015
    University of Bonn
  • BSc in Computer Science, 2012–2015
    University of Bonn

News

Publications

2026

2025

2024

2023

2022

2021

2020

Talks

2026

How to Verify Probabilistic Inference — and What That Even Means

VeriProP workshop at FLoC 2026 • • Invited talk

Incremental Computation for Efficient Programmable Inference in Probabilistic Programs

PLDI 2026 •

Incremental Density Computation for Efficient Programmable Inference

LAFI workshop at POPL 2026 •

2025

Improving autoformalization via cycle consistency and incremental type-checking using language-model probabilistic programs

MATH-AI workshop at NeurIPS 2025 •

Automatic (In)formalization of Mathematics via Language-Model Probabilistic Programming and Cycle Consistency

International Conference on Mathematical and Computational Linguistics for Proofs (MCLP 2025) •

Guaranteed Bounds on Posterior Distributions of Discrete Probabilistic Programs with Loops

POPL 2025 •

2024

Generating Functions for Bayesian Inference on Probabilistic Programs

PROBPROG seminar series •

Formal Verification of Bayesian Inference in Probabilistic Programming

Guest talk, RWTH Aachen •

Guaranteed Bounds for Discrete Probabilistic Programs with Loops via Generating Functions

LAFI workshop at POPL 2024 •

VMC: a Dafny Library for Verified Monte Carlo Algorithms

Dafny workshop at POPL 2024 •

2023

Exact Bayesian Inference on Discrete Models via Probability Generating Functions: A Probabilistic Programming Approach

NeurIPS 2023 •

Exact Inference for Discrete Probabilistic Programs via Generating Functions

LAFI workshop at POPL 2023 •

Exact Inference for Discrete Probabilistic Programs via Generating Functions

ANR PPS meeting 2023 •

2022

Guaranteed Bounds for Posterior Inference in Universal Probabilistic Programming

PLDI 2022 •

Rigorous Bounds for Posterior Inference in Universal Probabilistic Programming

Logic of Probabilistic Programming at CIRM 2022 •

Rigorous Approximation of Posterior Inference for Probabilistic Programs

LAFI workshop at POPL 2022 •

2021

The Extended Theory of Trees and Algebraic (Co)datatypes

SMT workshop at CAV 2021 •

The Extended Theory of Trees and Algebraic (Co)datatypes

HCVS workshop at ETAPS 2021 •

Teaching

Teaching Assistant

Professional Masters Programme in Software Engineering, Oxford

  • Algorithmics (spring 2021, summer 2021, spring 2022 & fall 2022): week-long course

Stipendiary Lecturer

Merton College, Oxford

  • Models of Computation (fall 2021)
  • Discrete Mathematics (fall 2021)
  • Functional Programming (fall 2021)
  • Design and Analysis of Algorithms (spring 2022)
  • Algorithms and Data Structures (spring 2022)
  • Continuous Mathematics (spring 2022)

Class teaching and marking

Department of Computer Science, Oxford

  • Lambda Calculus and Types (spring 2021)
  • Bayesian Statistical Probabilistic Programming (fall 2020)
  • Imperative Programming III practicals (programming classes, summer 2020)
  • Imperative Programming I & II practicals (programming classes, spring 2020)
  • Principles of Programming Languages practicals (programming classes, fall 2019)

University of Toronto

  • Calculus 1 (winter 2015/2016 and spring 2016)

University of Bonn

  • Algorithms & Computational Complexity (winter 2016/2017)
  • Analysis (summer 2015)
  • Algorithmic Mathematics programming classes (winter 2014/15)
  • Analysis II (summer 2014)

Contact