teaching
classes
exercise instructor (Übungsleiter)
-
IN0003 Functional Programming and Verification (Winter ‘21/’22, Summer ‘22, Summer ‘23, Summer ‘24)
- Course with ~1000 students; Managing ~20 undergrad TAs and ~4 head TAs, - Designing homework and exam
- Organizing extra activities
- Our head TAs presented part of the course framework at the OCaml Workshop@ICFP: link
-
IN2227 Compiler Construction (Summer ‘20, Summer ‘21)
instructor
- Practical Course: Static Analysis - Automated Bug Hunting and Beyond (Summer ‘21, Summer ‘22, Winter ‘22/’23, Summer ‘23, Winter ‘23/’24)
- Practical Course: Program Optimization with LLVM (Winter ‘19/’20, Summer ‘20)
- Practical Course: Profiling & Tuning Large Functional Programs (Winter ‘22/’23)
- Bachelor-Seminar: Static Analysis - Tools and Techniques (Winter ‘23/’24)
- Master-Seminar: Static Analysis - Mastering Concurrency (Winter ‘23/’24)
Before starting as a PhD student, I worked part-time as an undergrad TA, winning awards for best student TA (Preis für die beste Lehre der Fakultät für Informatik) in 2015, 2016, and 2017.
advised theses
Over the years, I have had the joy of advising many students doing their Bachelor’s or Master’s thesis. This list contains only theses where I also was the formal advisor. I have informally co-advised Rebecca Ghidini and Johanna Franziska Schinabeck, resulting in publications at SOAP and NSAD, respectively. The formal advisor for Rebecca and Johanna was Julian Erhard.
I am currently informally co-advising the M.Sc. thesis of Fabian Stemmler (with Julian Erhard and Sarah Tilscher), and the Guided Research of Felix Krayer (with Ali Koçal, Julian Erhard, and Sarah Tilscher).
I currently do not have the capacity to supervise any additional students. If you are interested in doing a student thesis related to static analysis and Goblint, feel free to reach out to my colleagues Sarah Tilscher and Julian Erhard. For more information on possible student topics see here.
advised bachelor’s theses
- B.Sc.Witnessing Violations of Safety Properties for Concurrent ProgramsOct 2023
- B.Sc.String Abstract Domains for the Static Analyzer GoblintAug 2023
- B.Sc.Combatting the Precision Loss of Partial Contexts in Abstract InterpretationFeb 2023
- B.Sc.Automatic Configuration of Goblint - Tuning for Efficient, Yet Precise Enough Analyses of ProgramsSep 2022Resulting in joint publication at SVCOMP ’23
- B.Sc.Increasing the Precision of the Static Analyzer Goblint by Loop UnrollingFeb 2022
- B.Sc.Towards an Integration of Sarif into GoblintOct 2021
- B.Sc.A Continuous Integration and Testing Platform for the Static Analyzer GoblintApr 2021
- B.Sc.Webtool to Create and Check Canonical LR AutomataFeb 2021Co-supervised with Dr. Michael Petter
- B.Sc.Extending a Syntactic Search in C Source Code with Analysis Results from the Static Analyzer GoblintSep 2020
- B.Sc.Extending a VS-Code Plugin for a LLVM-based Program Analyzer with a Mapping back to High Level CodeSep 2020
- B.Sc.Comparison of Analyses in CIL and GoblintSep 2020
- B.Sc.Syntactical Search in C Source CodeJul 2020
- B.Sc.User Interface for Program Analyzer Goblint using an OCaml-JavaScript TranspilerMay 2020
advised master’s theses & guided research
- M.Sc.Certifying Memory Safety of Concurrent Programs by Abstract InterpretationOct 2023Resulting in two joint publications at SVCOMP’24
- M.Sc.Local Traces: Partial Order Reduction for FreeMay 2023
- Guided ResearchInteractive Abstract InterpretationMay 2022
- M.Sc.Implementing and Comparing Linear Relational Domains in the Static Analyzer GoblintMay 2022
- M.Sc.Improved Abstract Domains for Structs in the Static Analyzer GoblintOct 2021
- M.Sc.Liveness Analysis of Multi-Threaded C with Posix ThreadsMay 2021
- M.Sc.Implementation and Comparison of Precision of Various Abstract Domains in the Program Analyzer GoblintNov 2020