Uppsala University, Department of Information Technology

Are you interested in working in programming languages or automated program verification with the support of competent and friendly colleagues in an international environment? Are you looking for an employer that invests in sustainable employeeship and offers safe, favorable working conditions? We welcome you to apply for a postdoctoral position at the Department of Information Technology, Uppsala University.

The Department of Information Technology holds a leading position in both research and education at all levels. We are currently Uppsala University's third largest department, and have around 350 employees, including 120 teachers and 120 PhD students. Approximately 5,000 undergraduate students take one or more courses at the department each year. You can find more information about us on the Department of Information Technology website.

This postdoctoral position is hosted by the Division of Computing Science and specifically within the Programming Languages group that currently consists of 11 senior researchers and 9 PhD students that are working on different aspects of programming language design, program verification and software engineering. Beyond technical collaborations, the group meets regularly and provides an engaging and supportive environment.

Project description
The available postdoctoral positions are within three projects that all aim to make it easier for developers to write safe, correct, and efficient programs. All projects will typically include both a theoretical part, developing new techniques and approaches, as well as implementations that can be practically used.

The first project targets specifically numerical programs that appear widely in e.g. safety-critical (embedded) systems, data analysis, weather forecasting, physics, and engineering. Verifying that such programs are correct is challenging because of rounding errors due to floating-point arithmetic. Possible research directions include developing new automated program verification techniques specifically for such programs, as well as specification inference and fault localisation approaches that would make such verifiers practical usable for real-world code.

The second project is centered around memory safety and techniques for memory-safe programming. Memory bugs are extremely costly in development and create security holes in programs; managed languages avoid most such problems at the cost of additional run-time machinery and checking which can increase the footprint of a program or make it harder to reason about its performance. Languages like Rust offers memory safety without the additional run-time machinery, as long as programs can be expressed in its safe subset. Possible research directions include new type systems or static analyses that extend the range of memory-safe programming and new dynamic techniques for memory safety.

The third project is centered around concurrency safety. Managed languages offer memory safety and null safety, but most do not offer concurrency safety. This means that undefined behaviours are still possible and compilers may optimise programs in ways that surprise programmers and cause programs to go wrong in ways that are hard to debug and fix. This project is looking at ways to change how programming languages approach concurrency, and in particular take responsibility for correct concurrency. Possible research directions include new memory models, new dynamic techniques for detecting and handling concurrency errors, and new implementations of runtimes rethinking how concurrency is handled.

Duties
The position concerns research in the above-mentioned projects. The role also includes research administration, participation in project meetings, and may include up to 20% teaching within the Department’s course offerings (depending on the candidate's interest and course availability). We encourage all interested applicants to apply, even if their experience does not perfectly match the project's subject. We review all applications carefully and seek candidates who can contribute to the project's goals.

Requirements
PhD degree in computer science in a field relevant to the position such programming languages, program verification, or software engineering, or a foreign degree equivalent to a PhD degree in Sweden. The degree needs to be obtained by the time of the decision of employment. Priority will be given to applicants who have completed their degree no more than three years before the application deadline. The three-year period can be extended due to special circumstances such as sick leave, parental leave, duties in labour unions, etc.

Fluency in both written and spoken English, and good programming skills are also a requirement.

Additional qualifications
We are searching for postdoc candidates who are responsible, self-motivated, and have demonstrated independence in research, and at the same time work well in a research group. Emphasis will also be placed on the ability to publish scientific work in high-quality venues and to give presentations at conferences and scientific meetings.

Application procedure
The application must include:

  1. a cover letter that briefly describes your motivation for applying for this position and this project and states the earliest possible date of employment (max 1 page);
  2. a curriculum vitae (CV);
  3. a research statement describing your previous research experience and current research interests (max two pages);
  4. a copy of relevant diplomas and grades (translated into Swedish or English, e.g. as provided by your university);
  5. a list of publications (may be included in CV);
  6. contact information for at least two references (do not include reference letters).

About the employment
The employment is a temporary position of two years according to central collective agreement. Scope of employment 100%. Starting date 1 April 2026 or as agreed. Placement: Uppsala.

For further information about the position, please contact: Associate Professor Eva Darulova, e-mail: eva.darulova@it.uu.se or Professor Tobias Wrigstad, e-mail: tobias.wrigstad@it.uu.se.

Please submit your application by 30 January 2026, UFV-PA 2025/3892.

Are you considering moving to Sweden to work at Uppsala University? Find out more about what it´s like to work and live in Sweden.

Type of employment Temporary position
Contract type Full time
First day of employment 2026-04-01 or as agreed
Salary Individual salary
Number of positions 2
Full-time equivalent 100
City Uppsala
County Uppsala län
Country Sweden
Reference number UFV-PA 2025/3892
Published 12.Dec.2025
Last application date 30.Jan.2026
Login and apply

Share links

Return to job vacancies