Christoph Matheja

- matheja@cs.rwth-aachen.de
- Address
- Room 4206
Ahornstraße 55
D-52074 Aachen - Phone
- +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 cmath.eu.
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.
Thesis
My PhD thesis titled “Automated Reasoning and Randomization in Separation Logic” features
- a thorough introduction to weakest precondition reasoning about recursive and heap manipulating programs with separation logic,
- a novel quantitative separation logic for reasoning about expected values of probabilistic pointer programs, and
- automated reasoning with separation logic about temporal properties of pointer programs as well as decision procedures for reasoning about separation logic itself.
Research
My research interests include
- formal verification of heap-manipulating and probabilistic programs,
- graph grammars and graph transformations, and
- static program analysis.
Tools
- 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
Supervision
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).
Awards
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.
Teaching
I’m currently involved in the following teaching activities:
Past teaching activities:
- Static Methods for Quantitative Program Analysis (Seminar) (WS 18/19)
- Static Program Analysis (SS 18)
- Formal Verification Meets Machine Learning (Seminar) (SS 18)
- Semantics and Verification of Software (WS 17/18)
- Foundations of Probabilistic Programming (Seminar) (WS 17/18)
- Compiler Construction (SS 17)
- Probabilistic Programming (WS 16/17)
- Static Program Analysis (WS 16/17)
- Analysis and Verification of Pointer Programs (Seminar) (WS 16/17)
- Compiler Construction (SS 16)
- Probabilistic Programming (Seminar) (SS 16)
- Theoretical Foundations of Programming Languages (Seminar) (SS 16)
- Concurrency Theory (WS 15/16)
- Algorithms and Data Structures (Proseminar) (WS 15/16)
- Semantics and Verification of Software (SS15)
- Principles of Programming Languages (Seminar) (SS15)
- Turing Award Topics (Proseminar) (WS 14/15)
Publications
Own publications
2020
- Conference paper
Verifying Probabilistic Programs
Quantitative Evaluation of Systems
- PhD thesis
Automated reasoning and randomization in separation logic
RWTH Aachen University
Advisers: Joost-Pieter Katoen, Radu Iosif
2019
- Journal article
Quantitative separation logic: a logic for reasoning about probabilistic pointer programs
Proceedings of the ACM on programming languages
PDF of Quantitative separation logic: a logic for reasoning about probabilistic pointer programsRWTH record for Quantitative separation logic: a logic for reasoning about probabilistic pointer programsBibTeX for Quantitative separation logic: a logic for reasoning about probabilistic pointer programs
2018
- Conference paper
Let this Graph Be Your Witness! : An Attestor for Verifying Java Pointer Programs
Computer Aided Verification
- Conference paper
Programming Languages and Systems
PDF of How long, O Bayesian network, will I sample thee? : A program analysis perspective on expected sampling timesRWTH record for How long, O Bayesian network, will I sample thee? : A program analysis perspective on expected sampling timesBibTeX for How long, O Bayesian network, will I sample thee? : A program analysis perspective on expected sampling times - Conference paper
Graph-Based Shape Analysis Beyond Context-Freeness
Software engineering and formal methods
2017
- Conference paper
Unified Reasoning about Robustness Properties of Symbolic-Heap Separation Logic
Programming languages and systems
2016
- Conference paper
Weakest Precondition Reasoning for Expected Run-Times of Probabilistic Programs
Programming languages and systems
- Conference paper
Reasoning about Recursive Probabilistic Programs
Proceedings of the 31st Annual ACM-IEEE Symposium on Logic in Computer Science (LICS 2016)
2015
- Conference paper
Probabilistic Programs - A Natural Model for Approximate Computations
[Workshop on Approximate Computing, AC15, 2015-10-15 - 2015-10-16, Paderborn, Germany]
Supervised theses
2024
- Master’s thesis
A deductive verifier for probabilistic programs
RWTH Aachen University
Advisers: Joost-Pieter Katoen, Peter Müller
Consultants: Kevin Batz, Benjamin Kaminski, Christoph Matheja
2021
- Master’s thesis
Decidability and complexity of entailment checking in quantitative separation logic
RWTH Aachen University
Advisers: Kevin Batz, Ira Justus Fesefeldt, Christoph Matheja, Joost-Pieter Katoen, Thomas Noll
2019
- Master’s thesis
Proving termination of pointer programs on top of symbolic execution
RWTH Aachen University
Advisers: Christoph Matheja, Thomas Noll, Joost-Pieter Katoen
