Christoph Matheja

matheja at
Room 4206
Ahornstraße 55
D-52074 Aachen
+49 241 80 21210

I am now working as a postdoc in the Programming Methodology Group at ETH Zürich. My new website is found here or, more generally, at

Before moving to Zürich, I finished my PhD at the Software Modeling and Verification Group (MOVES) headed by Professor J.-P. Katoen in January 2020.


My PhD thesis titled “Automated Reasoning and Randomization in Separation Logic” features

  1. a thorough introduction to weakest precondition reasoning about recursive and heap manipulating programs with separation logic,
  2. a novel quantitative separation logic for reasoning about expected values of probabilistic pointer programs, and
  3. automated reasoning with separation logic about temporal properties of pointer programs as well as decision procedures for reasoning about separation logic itself.


My research interests include

  • formal verification of heap-manipulating and probabilistic programs,
  • graph grammars and graph transformations, and
  • static program analysis.


  • Attestor: A tool for model-checking Java pointer programs
  • HARRSH: A robustness checker for symbolic heap separation logic with inductive definitions based on heap automata 


Together with Benjamin Kaminski, I supervised our student research assistant Kevin Batz.  Moreover, together with Christina Jansen, I supervised our student research assistant Hannah Arndt.

I am currently supervising the following thesis projects:

  • Sally Chau, TBA, Master’s thesis.
  • Justus Fesefeldt, TBA, Master’s thesis.
  • Philipp Schroer, Understanding Abstraction of Probabilistic Programs, Bachelor’s thesis.
  • Johannes Schulze, TBA, Master’s thesis.

I have been supervising the following thesis projects and internships:

  • Hannah Arndt, Randomized Meldable Heaps: A more formal proof of a less simple probabilistic data structure, Master’s thesis, 2019.
  • Kevin Batz, TBA, Master’s thesis (together with Benjamin Kaminski and Sebastian Junges), 2019.
  • Fabian Schneider, A Unified Algebraic Domain for Shape Analysis, Master’s thesis, 2018.
  • Felix Bier, From Graph Grammars to Forest Automata and Back, Master’s thesis, 2018.
  • Joshua Peignier (ENS Rennes), Possibility Distribution Semantics for Probabilistic Programs with Nondeterminism, internship, 2017 (together with Benjamin Kaminski).
  • Daniel Cloerkes, A Cyclic Proof System for Graph Grammar Inclusion, Bachelor’s thesis, 2017.
  • Kevin Batz, Proof Rules for Expected Run-Times of Probabilistic Programs, Bachelor’s thesis, 2017 (together with Benjamin Kaminski).
  • Isabelle Tülleners, Graph-based Heap Abstraction for Balanced Data Structures, Bachelor’s thesis 2016.
  • Hanna Franzen, Graph-based Symbolic Execution for Pointer Programs with Data, Bachelor thesis 2016.
  • Hannah Arndt, Heap Abstraction Beyond Context-Freeness, Bachelor thesis, 2016.
  • Victor Lanvin (ENS Cachan), Comparing Automated Tools for Analysing Pointer Programs, internship. 2016 (together with Christina Jansen).


Our paper How long, O Bayesian network, will I sample thee? A program analysis perspective on expected sampling times (joint work with Kevin Batz, Benjamin Kaminski, and Joost-Pieter Katoen) was nominated for the EATCS Best Paper Award at ETAPS 2018.

Our paper Rule-based Conditioning of Probabilistic Data Integration (joint work with Maurice van Keulen, Benjamin Lucien Kaminski, and Joost-Pieter Katoen) won the best paper award at SUM 2018.

Our paper Weakest Precondition Reasoning for Expected Run-Times of Probabilistic Programs (joint work with Benjamin Kaminski, Joost-Pieter Katoen, and Federico Olmedo) won the EATCS Best Paper Award for the best theory paper presented at ETAPS 2016

I was awarded the Springorum Medal in 2015 for receiving a master’s degree with distinction.


I’m currently involved in the following teaching activities:

Past teaching activities: