Paul Bittner, PhD
SE+PL research, (functional) programming, domain specific languages, theorem proving, software variability, trading card games
Hello there,
I am a software engineer and researcher fascinated by programming and formal methods. My current position is at Salzgitter Digital Solutions as a software engineer. I got my PhD in 2025 at the University of Ulm. Together with my PhD supervisor Thomas Thüm, I worked as a researcher at the Technical University Braunschweig, the University of Paderborn, and the University of Ulm.
In my work and research, I apply programming language methods to software engineering research problems. I am a strong believer in formal methods, as they are invaluable in understanding and specifying exactly what a research problem is about, opening multiple avenues to study and finally solve it. In my experience, finding the right specification and point of view for a problem solves it almost for free.
My PhD thesis and research focused on languages and models for static software configuration and respective change impact analyses. By static configuration, I mean any way of specifying a set of distinct but related things, such as all C programs induced by a C code base with preprocessor macros (#if), or the set of all sandwiches you can configure at Subway. In our Agda library Vatras, we study and compare formal languages for such variability. Within the research project VariantSync, Alexander Schultheiß and me make software-product-line technology more accessible. Our main project DiffDetective is a Java library for variability-aware differencing.
During my masters, I worked as a student assistant at the computer graphics lab of the TU Braunschweig. I was responsible for maintaining a game engine for a 360° planetarium (called “the dome”) and virtual reality research. Besides, I enjoyed working on my own game engine and other related projects, such as my EDSL for polymorphic entity-component systems back then. As a bachelor’s student, I also worked as a student assistant for the algorithms group at TU Braunschweig, involved in teaching for algorithm engineering and the first semester course on algorithms and data structures.
Selected Publications
- ICSEDecades of GNU Patch and Git Cherry-Pick: Can We Do Better?In Proc. Int’l Conf. on Software Engineering (ICSE), Rio de Janeiro, Brazil, 2026To appear