Sven Keidel

About Me

Portrait Hello, my name is Sven Keidel. I work as a PhD student in the Programming Languages Research Group at TU Delft (Netherlands) since 2016, under supervision of Dr. Sebastian Erdweg. I received my Master’s degree in computer science at TU Darmstadt (Germany) in 2015.

In my PhD, I develop new techniques in the area of abstract interpretation, which is an approach to systematically create static analyses. In my recent line of work, I develop new techniques to simplify soundness proofs of abstract interpreters, or in other words, that a static analysis is reliable. My goal is to create a library with reusable components for abstract interpreters that are proven sound once an for all. Towards this goal, Sebastian, I, and other students at TU Delft are working on a Haskell library called Sturdy (for more information see below).


Compositional Soundness Proofs of Abstract Interpreters
Sven Keidel, Casper Bach Poulsen and Sebastian Erdweg.
International Conference on Functional Programming (ICFP). ACM, 2018 [pdf]

Toward Abstract Interpretation of Program Transformations
Sven Keidel and Sebastian Erdweg.
International Workshop on Meta-Programming Techniques and Reflection. ACM, 2017 [pdf]

The IDE Portability Problem and its Solution in Monto
Sven Keidel, Wulf Pfeiffer, and Sebastian Erdweg.
Proceedings of Software Language Engineering (SLE). ACM, 2016 [pdf]

Research Projects


Sturdy is a library to simplify the process of creating abstract interpreters and proving them sound. We used this library to create abstract interpreters for PCF, the WHILE language, Stratego, Java and JavaScript. The abstract interpreters for PCF and Stratego have rigorous soundness proofs. We are actively extending and maintaining the library in our research group in Delft. If you have questions, suggestions or comments about the library, please open an issue at GitHub.


As my master thesis project, I worked on Monto. Modern IDEs support multiple programming languages via plug-ins, but developing a high-quality language plug-in is a huge development effort and individual plug-ins are not reusable in other IDEs. This problem is called the IDE portability problem. Monto provides a solution to the IDE portability problem based on a language-independent and IDE-independent intermediate representation (IR) for editor-services such as syntax highlighting, error messages, and code completion. This IR enables language services that support multiple IDEs with one plug-in.


Teaching activities I was involved in.

Courses and Seminars


Ongoing Thesiss

Finished Thesiss


Sven Keidel
Office: HB 8.260
Phone: +31 15 27 81935

Mekelweg 4
2628 CD Delft
The Netherlands