Uppsala University, Department of Information Technology

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, 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

Description of the subject area
Memory safety has emerged as the primary concern for cybersecurity. Memory safety is a property of programs that do not access nor manipulate memory in unintended ways. For example, memory-safe programs do not suffer unauthorised or invalid pointer access, use-after-free errors, double-free errors, or buffer overflows. Managed languages provide strong memory-safety guarantees through automatic memory management or ”garbage collection.” Concurrency safety refers to the property of a software system or program that ensures correct behaviour when multiple threads or processes execute concurrently. In other words, it ensures that the program behaves as expected even when multiple parts of it are running simultaneously – this involves for example data-race freedom, ensuring atomicity, and correctness under synchronisation. There are several examples of how these two aspects of computation can be tackled together, for example through Rust (completely statically) and Erlang (completely dynamically). In this project, we are looking into how to address both these concerns in imperative managed languages through modifications of the VM. Specifically, we will work with a major programming language vendor to make a mainstream programming languages concurrency safe by construction by adding a notion of ownership to the language runtime. Ownership will be enforced predominantly through run-time checks, for backwards compatibility with existing code. Efficient checking will be possible by piggybacking on existing constructs for concurrent garbage collection and will be co-designed with the concurrency model. At the end of the project, a whole class of concurrency bugs will be impossible in programs executing on-top of this run-time. 

Duties
Research in programming languages with close connection to hardware. Design and implementation of concurrency models in a runtime system written in C++. Supervision of master students in the project and adjacent projects. Physical and digital meetings with engineers and developers of the programming language. 

Requirements
MSc degree in computer science or a foreign degree equivalent to a MSc degree in computer science. The degree must be completed by the time the recruitment decision is taken. Documented experience with behaviour-oriented concurrency.

The candidate must clearly document a high degree of self-motivation in the application. In addition, the applicant must be able to work well in a diverse group, be comfortable giving and receiving constructive criticism, and have strong abilities for critical thinking and structured work. These competencies are as important as the technical qualifications. We will also consider the fit for the project and the surrounding research environment.

Excellent skills in spoken and written English are required. 

Additional qualifications
Candidates should have expertise in programming languages, ideally in concurrency safety. Experience with language design and implementation is a plus, but not a requirement as we have the expertise to teach these as part of the project.  A higher degree such as a PhD, or progress in a PhD programme is a merit.

About the employment
The temporary position, 4 months. Scope of employment 100 %. Starting date as agreed. Placement: Uppsala.

Application
The application must include a statement (at most 2 pages) of the applicant’s motivation for applying for this position, including the candidate’s research interests and how they will support this project, and evidence of self-motivation and constructive teamwork. The application must include a CV, degrees and grades (translated to English or Swedish), a copy of Master or PhD thesis, publications (and specific descriptions of the candidate’s own contributions), other relevant documents, and the earliest possible starting date. At least one letter of recommendation and contact information for references should be provided directly by the references to Prof. Wrigstad.

For further information about the position, please contact: Professor Tobias Wrigstad, +46 18 4711072, tobias.wrigstad@it.uu.se 

Please submit your application by 14 June 2024, UFV-PA 2024/2062.

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 Special fixed-term employment
Contract type Full time
First day of employment enligt överenskommelse
Salary Individual salary
Number of positions 1
Full-time equivalent 100%
City Uppsala
County Uppsala län
Country Sweden
Reference number UFV-PA 2024/2062
Union representative
  • Seko Universitetsklubben, seko@uadm.uu.se
  • ST/TCO, tco@fackorg.uu.se
  • Saco-rådet, saco@uadm.uu.se
Published 03.Jun.2024
Last application date 14.Jun.2024 11:59 PM CEST

Return to job vacancies