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).

Publications

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

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.

Monto

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

Teaching activities I was involved in.

Courses and Seminars

Theses

Ongoing Thesiss

Finished Thesiss

Contact

Sven Keidel
Office: HB 8.260
Email: s.keidel@tudelft.nl
Phone: +31 15 27 81935

Address:
Mekelweg 4
2628 CD Delft
The Netherlands