PhD Position Software Restructuring

Updated: almost 2 years ago
Deadline: 30 Oct 2022

The Spoofax team at TU Delft is pursuing a broad research program to develop a language workbench that supports high-level declarative language definition, the generation of programming environments (including editors, parsers, type checkers, and interpreters/compilers) from language definitions, and the (automated) verification of properties of language definitions and their implementations.

One line of research in this program is concerned with the formalization of the name binding rules in programming languages. To that end, the group has developed a theory of name resolution based on scope graphs , and applied it in the design and implementation of a meta-language for static semantics. In dynamic semantics, scope graphs provide a uniform model for memory at runtime and serve as the basis for intrinsically-typed definitional interpreters, enabling the automatic verification of type soundness.

We are seeking two PhD Students to join the Spoofax team to (1) extend the theory and application of scope graphs to the specification of programmable software restructurings, (2) develop analogs to scope graphs for capturing and transforming control flow, (3) develop a software restructuring framework for the C++ programming language based on this framework, and (4) validate the restructuring infrastructure through restructuring production C++ code at Philips Healthcare.

We are looking for versatile candidates who can contribute to the development of theoretical foundations, design of meta-languages, implementation and integration of languages and libraries in the language workbench, and evaluate the new techniques in case studies.

For more information see the publications on scope graphs . For this project see the ESOP’15, OOPSLA’18, OOPSLA’20 papers. Also see the work on Coccinelle on patching C programs based on control-flow graph matching.

The PhD student will be co-supervised by Casper Bach Poulsen . Furthermore the students wil collaborate with the PhD student from TU Eindhoven, with co-applicants Jan Friso Groote and Jeroen Keiren at TU Eindhoven, Arjan Mooij from TNO/ESI.

http://pl.ewi.tudelft.nl/hiring/2021/phd-students-software-restructuring/



Similar Positions