PhD fellowships in ”Parallel functional programming” and "Systems-level language-based security"

Copenhagen University
February 18, 2024
Offerd Salary:Negotiation
Working address:N/A
Contract Type:Other
Working Time:Full time
Working type:N/A
Ref info:N/A

PhD fellowships in "Parallel functional programming” and"Systems- level language-based security" Department of Computer Science, Faculty of SCIENCE, University of Copenhagen

The section for Programming Languages and the Theory of Computation (PLTC) at the Department of Computer Science invites applicants for PhD fellowships in two areas: data parallel programming languages broadly construed (including design, implementation, theoretical aspects, and parallel algorithms), and the intersection of systems-level security and formal aspects of computer science (e.g., verification, type systems, programming languages, language-based security, formal methods, logic and so on). When applying, please indicate which areas are of interest to you (which can be both).

Start date is (expected to be) 1 June 2024 or as soon as possible thereafter.

The projects

Project A: Parallel programming on modern massively parallel processors such as GPUs is notoriously difficult and awkward for humans, particularly for irregular problems or those with nested structure. At DIKU, we are a small team that researches programming and compilation techniques for making high-performance parallel programming more accessible to non-specialist programmers. We conduct applied research with a focus on actual real-world performance on mainstream hardware, and we use the functional array language Futhark (https: // and its implementation as our main experimental vessel. The precise research problems to be investigated by the PhD candidate depends on the interests of the candidate, but we are particularly interested in problems such as:

  • How to efficiently map fully or partially irregular nested parallelism to hardware, while still taking advantage of locality.
  • The construction of profiling tools that can precisely measure the performance of heavily compiler-transformed code and connect it to the original program, allowing the programmer to understand the high-level performance of their program.
  • Optimising data layout based on how it is accessed by the program; possibly also taking distributed execution or NUMA behaviour into account.
  • Data parallel formulations of algorithms that are historically difficult to express; e.g. syntax analysis, constraint propagation, and similar recursive and irregular problems.
  • At a basic level, our research consists of developing a strong idea, and then demonstrating the applicability of the idea by implementing it in a practically usable compiler or tool. For more information, feel free to contact Troels Henriksen ([email protected]).

    Project B: Systems-level security is a challenging field, particularly because it is often difficult to fully ensure the absence of errors. For example, modern operating systems use kernel extensions provided by users to add functionalities like network filters and performance tracking. These extensions, while useful, can pose significant security risks as they run with high privileges, potentially affecting the entire system or can access sensitive information. At DIKU, we are a small group that researches programming-language techniques and formal methods for improving systems-level security. We conduct both applied research and theoretical work, with Open Source software such as the Linux kernel as one of our main interests.

    The specific research areas for the PhD candidate will align with their interests. However, we're particularly keen on exploring topics such as:

  • Providing strong, formally verified security guarantees for the eBPF subsystem in the Linux kernel.
  • Using user-provided code, like WebAssembly or eBPF, for computational storage, ensuring these have strong security guarantees.
  • Using the programming language Rust for improving systems-level Open Source project, for instance the Linux kernel. Hereunder, exploring automated verification of Rust code correctness, including the development of, or contribution to existing tools for reasoning about Rust code.
  • Our research typically involves developing a solid idea and demonstrating its practical application, either through a usable tool or a proof-of-concept. For more information, feel free to contact Ken Friis Larsen ([email protected]).

    Who are we looking for?

    We are looking for candidates within the field(s) of computer science and software engineering. Applicants can have a background from programming language design and implementation, systems-level software, or computer security. Knowledge of programming language theory (e.g. type systems) or formal methods (e.g. theorem prover mechanization or model checking) is also welcome.

    Our group and research- and what do we offer?

    The FUTHARK group and the systems-level security research group are part of the PLTC section at the Department of Computer Science (DIKU), Faculty of SCIENCE, University of Copenhagen

    The PLTC section more generally conducts research in programming language technology and in the theory of computation. Much of our work involves topics in the intersection of programming language theory (e.g., algorithmic aspects of programming and formal verification), and applications (e.g., computer security and privacy, systems, compiler technology, high-performance computing, distributed ledger technology, and fintech).

    The group is a part of Department of Computer Science (DIKU), Faculty of SCIENCE, University of Copenhagen. We are located in Copenhagen.

    We offer creative and stimulating working conditions in dynamic and international research environment. Our research facilities include modern laboratories and computer infrastructure.

    Principal supervisor is Associate Professor Ken Friis Larsen ([email protected]).

    The PhD programme

    Depending on your level of education, you can undertake the PhD programme as either:

    Option A: A three year full-time study within the framework of the regular PhD programme (5+3 scheme), if you already have an education equivalent to a relevant Danish master's degree.

    Option B: An up to five year full-time study programme within the framework of the integrated MSc and PhD programme (the 3+5 scheme), if you do not have an education equivalent to a relevant Danish master´s degree – but you have an education equivalent to a Danish bachelors´s degree.

    Option A: Getting into a position on the regular PhD programme

    Qualifications needed for the regular programme To be eligible for the regular PhD programme, you must have completed a degree programme, equivalent to a Danish master's degree (180 ECTS/3 FTE BSc + 120 ECTS/2 FTE MSc) related to the subject area of the project, e.g. Computer Science or Software Engineering. For information of eligibility of completed programmes, see General assessments for specific countries and Assessment database.

    Terms of employment in the regular programme Employment as PhD fellow is full time and for maximum 3 years.

    Employment is conditional upon your successful enrolment as a PhD student at the PhD School at the Faculty of SCIENCE, University of Copenhagen. This requires submission and acceptance of an application for the specific project formulated by the applicant.

    The terms of employment and salary are in accordance to the agreement between the Ministry of Finance and The Danish Confederation of Professional Associations on Academics in the State (AC). The position is covered by the Protocol on Job Structure.

    Option B: Getting into a position on the integrated MSc and PhD programme

    Qualifications needed for the integrated MSc and PhD programme

    If you do not have an education equivalent to a relevant Danish master´s degree , you might be qualified for the integrated MSc and PhD programme, if you have an education equivalent to a relevant Danish bachelor´s degree. Here you can find out, if that is relevant for you: General assessments for specific countries and Assessment database.

    Terms of the integrated programme To be eligible for the integrated scholarship, you are (or are eligible to be) enrolled at one of the faculty's master programmes in Computer Science.

    Students on the integrated programme will enroll as PhD students simultaneously with completing their enrollment in this MSc degree programme.

    The duration of the integrated programme is up to five years, and depends on the amount of credits that you have passed on your MSc programme. For further information about the study programme, please see: www., “Study Structures”.

    Until the MSc degree is obtained, (when exactly two years of the full 3+5 programme remains), the grant will be paid partly in the form of 48 state education grant portions (in Danish: “SU-klip”) plus salary for work (teaching, supervision etc.) totalling a workload of at least 150 working hours per year. A PhD grant portion is DKK 6,243.

    When you have obtained the MSc degree, you will transfer to the salary-earning part of the scholarship for a period of two years. At that point, the terms of employment and payment will be according to the agreement between the Ministry of Finance and The Danish Confederation of Professional Associations on Academics in the State (AC). The position is covered by the Protocol on Job Structure.

    Responsibilities and tasks in both PhD programmes

  • Complete and pass the MSc education in accordance with the curriculum of the MSc programme (ONLY when you are attending the integrated MSc and PhD programme)
  • Carry through an independent research project under supervision
  • Complete PhD courses corresponding to approx. 30 ECTS / ½ FTE
  • Participate in active research environments, including a stay at another research institution, preferably abroad
  • Teaching and knowledge dissemination activities
  • Write scientific papers aimed at high-impact journals
  • Write and defend a PhD thesis on the basis of your project
  • We are looking for the following qualifications:

  • Professional qualifications relevant to the PhD project
  • Relevant publications
  • Relevant work experience
  • Other relevant professional activities
  • Curious mind-set with a strong interest in programming language design and implementation, type theory, formal methods, systems-level programming and security, software security, or functional programming
  • Good language skills
  • Application and Assessment Procedure

    Your application including all attachments must be in English and submitted electronically by clicking APPLY NOW below.

    Please include :

  • Motivated letter of application (max. one page)
  • Your motivation for applying for the specific PhD project/State which PhD project you are applying for
  • Curriculum vitae including information about your education, experience, language skills and other skills relevant for the position
  • Original diplomas for Bachelor of Science or Master of Science and transcript of records in the original language, including an authorized English translation if issued in another language than English or Danish. If not completed, a certified/signed copy of a recent transcript of records or a written statement from the institution or supervisor is accepted.
  • Publication list (if possible)
  • Reference letters (if available)
  • Application deadline:

    The deadline for applications is 18 February 2024 , 23:59 GMT +1 .

    We reserve the right not to consider material received after the deadline, and not to consider applications that do not live up to the abovementioned requirements.

    The further process After deadline, a number of applicants will be selected for academic assessment by an unbiased expert assessor. You are notified, whether you will be passed for assessment.

    The assessor will assess the qualifications and experience of the shortlisted applicants with respect to the above mentioned research area, techniques, skills and other requirements. The assessor will conclude whether each applicant is qualified and, if so, for which of the two models. The assessed applicants will have the opportunity to comment on their assessment. You can read about the recruitment process at https: //

    Interviews with selected candidates are expected to be held during week 13 and 14.

    Questions For specific information about the PhD fellowship, please contact the principal supervisor.

    General information about PhD study at the Faculty of SCIENCE is available at the PhD School's website: https: // www.

    The University of Copenhagen wishes to reflect the surrounding community and invites all regardless of personal background to apply for the position.

    From this employer

    Recent blogs

    Recent news