Profile image

Fabian Zaiser

PhD student in Computer Science

University of Oxford

I am a final-year PhD Student in Computer Science at the University of Oxford, supervised by Luke Ong and Andrzej Murawski.

My research interests are in Programming Language Theory and Formal Verification. More specifically, my PhD research is about Probabilistic Programming: expressing statistical models as programs and automating Bayesian inference on them. I want to advance the techniques to analyze and verify the properties of probabilistic programs.

Besides my research, I have done a lot of teaching in the past few years, 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.

Interests

  • Programming Language Theory
  • Probablilistic Programming
  • Formal Methods
  • The Rust programming language

Education

  • PhD in Computer Science, since 2019
    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

  • December 2023: Our paper on guaranteed bounds on posteriors via generating functions was accepted for a talk at the LAFI workshop at POPL 2024.
  • November 2023: Our paper on Dafny-VMC, a project to formalize probabilistic samplers, was accepted for a talk at the Dafny workshop at POPL 2024.
  • October 2023: Our paper on exact inference via generating functions was accepted for an oral presentation at NeurIPS!
  • September 2023: I'll be interning at Amazon in Boston for three months to work on the verification of probabilistic samplers for differential privacy.
  • August 2023: I'm attending the Marktoberdorf Summer School.

Publications

Nonparametric Hamiltonian Monte Carlo

Carol Mak, Fabian Zaiser, Luke Ong
ICML • 2021

The approximation ratio of the 2-Opt Heuristic for the metric Traveling Salesman Problem

Stefan Hougardy, Fabian Zaiser, Xianghui Zhong
Operations Research Letters • 2020

The Extended Theory of Trees and Algebraic (Co)datatypes

Stefan Hougardy, Fabian Zaiser, Xianghui Zhong
VPT/HCVS at ETAPS • 2020

Talks

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

NeurIPS 2023 • 12 Dec 2023

Exact Inference for Discrete Probabilistic Programs via Generating Functions

LAFI workshop at POPL 2023 • 15 Jan 2023

Exact Inference for Discrete Probabilistic Programs via Generating Functions

ANR PPS meeting 2023 • 5 Jan 2023

Guaranteed Bounds for Posterior Inference in Universal Probabilistic Programming

PLDI 2022 • 16 Jun 2022

Rigorous Bounds for Posterior Inference in Universal Probabilistic Programming

Logic of Probabilistic Programming at CIRM 2022 • 31 Jan 2022

Rigorous Approximation of Posterior Inference for Probabilistic Programs

LAFI workshop at POPL 2022 • 16 Jan 2022

The Extended Theory of Trees and Algebraic (Co)datatypes

SMT workshop at CAV 2021 • 18 Jul 2021

The Extended Theory of Trees and Algebraic (Co)datatypes

HCVS workshop at ETAPS 2021 • 28 Mar 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