Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

PhD student in programming language tooling

Project description

We offer a PhD position to qualified candidates with an interest for programming languages (both textual and visual), meta programming, and cloud solutions. The position is financed by the Swedish strategic research area ELLIIT ( The work will be done in a cooperation project between research groups at Lund University and Linköping University, and in close contact with industry partners.

Most current tooling for programming languages is platform-dependent, requiring installation of special software. In contrast, by using cloud tooling, editing and development can be done directly in the browser, and high-performance servers can be used for data storage and computation-intensive work. The goal of the project is to develop general methods for constructing cloud tooling for textual and visual languages.

Work duties

The work will be based on reference attribute grammars (RAGs), which is a high-level declarative formalism for specifying languages and generating compilers and other tooling. In particular, we will investigate

  • how to automatically distribute RAG-based tooling into client and server tiers
  • trade-offs between different distribution choices to achieve low latency on the client side as well as overall efficiency
  • how to apply and improve incremental and parallel algorithms for RAG evaluation in this setting
  • different data structures for storing attributes, in order to speed up evaluation
  • how to use and extend language server protocols for different kinds of languages and interactions
  • application of the techniques to object-oriented textual and visual languages, including languages for modeling, simulation, and control

The research is "artifact-oriented": you will implement tools and algorithms and evaluate them on realistic scenarios and benchmarks.

As a PhD student you will be employed at the Department of Computer Science at the Engineering Faculty (LTH) of Lund University. You will be part of the research group Software Development and Environments at the department.

You will work both independently and in collaboration with other researchers and PhD students. You will present your results both at local meetings and at international conferences. As a PhD student you will also take PhD courses, sometimes individually designed, in order to both broaden and deepen your research skills. The position is 5 years, including 20% teaching in the master programs at the department. The current entry salary for PhD students at the Department of Computer Science is 31200 SEK per month.

A suitable background for the position is a Master of Science with a specialization towards computer science or software engineering. You should have strong programming and math skills, and a keen interest in programming languages and their implementation. For more details, see the formal announcement (link below).

Main supervisor: Prof. Görel Hedin (Web, Mail)
Co-supervisor: Dr. Niklas Fors (Web, Mail)

More info

See the formal announcement of the position: Doctoral student in Computer Science with focus on Cloud-Based Language Tooling, including information on how to write your application.

Deadline for application: March 30, 2021

More information about PhD studies and being a PhD student at the Faculty of Engineering at Lund University.

The general syllabus for the subject of Computer Science at Lund University.