PhD Student in Programming Language Engineering at TU Delft

by Eelco Visser, Oct. 16, 2019

The TU Delft Department of Software Technology has an open position for a PhD student in the Programming Languages group in the area of Language Engineering.

We are seeking a PhD student to join the Spoofax team to further develop the theory and application of scope graphs. In particular, we are interested in the use of scope graphs to define binding-aware program transformations, and the optimization of definitional interpreters using scope graphs.

The TU Delft Department of Software Technology has an open position for a PhD student in the Programming Languages group in the area of Language Engineering.

Job Description

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 a PhD student to join the Spoofax team to further develop the theory and application of scope graphs. In particular, we are interested in the use of scope graphs to define binding-aware program transformations, and the optimization of definitional interpreters using scope graphs.

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

For more information see the publications on scope graphs (https://researchr.org/bibliography/tud-pl-scope-graphs/publications) and the Spoofax website (http://metaborg.org).

Requirements

We are looking for an excellent candidate with the following qualifications, knowledge, and skills:

- A master's degree (or equivalent) in computer science

- A strong and demonstrable interest in program languages and language engineering, including experience with language engineering topics such as compiler construction, type checking, and definitional interpreters.

- A strong commitment to research: turn insights about programming languages and software development into generalizable and elegant theory and solutions; investigate the state-of-the-art/literature; evaluate ideas and solutions against relevant and motivating examples from software engineering practice.

- A strong commitment to turning theory into software and demonstrable software engineering skills (with object-oriented and functional programming languages) to realize that.

- Independent, self-motivated, reliable, and eager to learn.

- Ability to work in a project team and take leadership and responsibility for different research tasks.

- An excellent command of English and good academic writing and presentation skills.

Details

The starting date for the position could be as soon as December 1, 2019.

For more information see

  http://pl.ewi.tudelft.nl/hiring/2019-phd-student-language-engineering/

and/or contact me directly via [email protected]