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.
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
Doing a PhD at TU Delft requires English proficiency at a certain level to ensure that the candidate is able to communicate and interact well, participate in English-taught Doctoral Education courses, and write scientific articles and a final thesis. For more details please check the Graduate Schools Admission RequirementsConditions of employment
Doctoral candidates will be offered a 4-year period of employment in principle, but in the form of 2 employment contracts. An initial 1,5 year contract with an official go/no go progress assessment within 15 months. Followed by an additional contract for the remaining 2,5 years assuming everything goes well and performance requirements are met.
Salary and benefits are in accordance with the Collective Labour Agreement for Dutch Universities, increasing from € 2541 per month in the first year to € 3247 in the fourth year. As a PhD candidate you will be enrolled in the TU Delft Graduate School. The TU Delft Graduate School provides an inspiring research environment with an excellent team of supervisors, academic staff and a mentor. The Doctoral Education Programme is aimed at developing your transferable, discipline-related and research skills.
The TU Delft offers a customisable compensation package, discounts on health insurance and sport memberships, and a monthly work costs contribution. Flexible work schedules can be arranged. For international applicants we offer the Coming to Delft Service and Partner Career Advice to assist you with your relocation.TU Delft (Delft University of Technology)
Delft University of Technology is built on strong foundations. As creators of the world-famous Dutch waterworks and pioneers in biotech, TU Delft is a top international university combining science, engineering and design. It delivers world class results in education, research and innovation to address challenges in the areas of energy, climate, mobility, health and digital society. For generations, our engineers have proven to be entrepreneurial problem-solvers, both in business and in a social context.
At TU Delft we embrace diversity as one of our core values and we actively engage to be a university where you feel at home and can flourish. We value different perspectives and qualities. We believe this makes our work more innovative, the TU Delft community more vibrant and the world more just. Together, we imagine, invent and create solutions using technology to have a positive impact on a global scale. That is why we invite you to apply. Your application will receive fair consideration.
Challenge. Change. Impact!Faculty Electrical Engineering, Mathematics and Computer Science
The Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) brings together three disciplines - electrical engineering, mathematics and computer science. Combined, they reinforce each other and are the driving force behind the technology we use in our daily lives. Technology such as the electricity grid, which our faculty is helping to make future-proof. We are also working on a world in which humans and computers reinforce each other. We are mapping out disease processes using single cell data, and using mathematics to simulate gigantic ash plumes after a volcanic eruption. There is plenty of room here for ground-breaking research. We educate innovative engineers and have excellent labs and facilities that underline our strong international position. In total, more than 1,100 employees and 4,000 students work and study in this innovative environment.
Click here to go to the website of the Faculty of Electrical Engineering, Mathematics and Computer Science.Additional information
For more information about this vacancy you can contact: Casper Bach Poulsen, Assistant Professor.
For information about the selectionprocedure you can contact Roniet Sharabi, Secretary, email: firstname.lastname@example.org.Application procedure
Are you interested in this vacancy? Please apply before June 1, 2023 via the application button and upload your motivation and CV.
- A pre-employment screening can be part of the selection procedure.
- You can apply online. We will not process applications sent by email and/or post.
- Acquisition in response to this vacancy is not appreciated.