University of Cambridge

Job Opportunities

Jobs

Research Assistants/Associates in Compilers or Operating Systems for CHERI and the Arm Morello Board (Fixed Term)


Fixed-term: The funds for this post are available for up to 2 years, with the possibility of extension as grant funds permit.

Research Assistant: £26,715 - £30,942 or Research Associate: £32,816 - £40,322

We are seeking one or more Research Assistants (without PhD) or Research Associates (holding or shortly to obtain a PhD) with a strong background in compilers and/or operating systems to contribute to the CHERI Project and our joint work with Arm on their prototype Morello board, which incorporates CHERI into a high-end superscalar ARMv8-A processor. CHERI is a highly successful collaboration between the University of Cambridge, SRI International, and ARM Research to develop new architectural security primitives. The CHERI protection model extends off-the-shelf processor Instruction-Set Architectures (ISAs) and processors with new capability-based security primitives supporting fine-grained C/C++-language memory protection and scalable software compartmentalization.

CHERI has been developed over the past ten years as part of multiple DARPA-supported research projects, and is the subject of long-term transition efforts to the ARMv8-A and RISC-V architectures. As part of UKRI's ISCF Digital Security by Design Challenge, Arm is designing and building an experimental CHERI-extended CPU, System-on-Chip, and development board, Morello, which will be available to academia and industry from late 2021. Simultaneously, the CHERI Project is developing a series of FPGA-based CHERI-RISC-V prototype processors.

These research positions will (a) contribute to the advancement of compilers and operating-system software for larger-scale use of Morello and CHERI-RISC-V across the research community; and (b) contribute, both before and after Morello ships, to research activities that explore, prototype, and evaluate software approaches to using the new architecture. These activities will also feed back into future ISA and microarchitectural design, as well as real-world software stacks being used in academic and industrial research and development. More information on CHERI can be found at:
https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/

These positions will be an integral part of an international team of researchers spanning multiple institutions in academia and industry. The posts will explore how CHERI interacts with programming languages, compilers, language runtimes, operating systems, and application software. Successful candidates will have significant research or engineering expertise in compilers and/or operating systems, and will collaborate with academic and industrial partners over the multi-year project:

Research Associate candidates will hold, or shortly complete, a PhD in Computer Science (or similar) in one or both of these areas. Research Assistant candidates will have past academic or industrial development experience in one or both of these areas. More experienced developers may also be appointable as Research Associates.

The position will benefit from strong existing experience with some (but likely not all) of the following: the C/C++ programming languages; MIPS, RISC-V, or ARMv8-A assembly; kernel development; revision control; low-level exploit techniques; release engineering; continuous integration; and participation in large (and ideally distributed) industrial, research, or open-source collaborative development projects. Past experience with the FreeBSD operating system or Clang/LLVM compiler suite will be particularly helpful. Strong interpersonal and organisational skills, and the ability to work in an international team at multiple sites, are essential.

This post will require active engagement with downstream industrial and open-source user communities, as well as research collaborators and sponsors. Initially this will be online, but it is expected that, as the COVID-19 crisis abates, this will also involve domestic and international travel.

Click the 'Apply' button below to register an account with our recruitment system (if you have not already) and apply online.

This post is intended to start on 1 December 2020, but there is flexibility with respect to earlier or later start dates. Our team is highly distributed, with multiple remote members. International applicants may be able to begin work remotely, due to COVID-19, but should contact the department to confirm potential applicability and anticipated arrangements. It is expected that successful candidates will work on-site in Cambridge in due course.

For additional background regarding the CHERI technology being developed by the team and its collaborators, please see our Technical Report UCAM-CL-TR-941, An Introduction to CHERI.

Questions about the post may be addressed to Dr Robert N. M. Watson robert.watson@cl.cam.ac.uk.

Please provide a Curriculum Vitae (including publication list and details of at least two references). A brief statement of the contribution you would make to the project, drawing attention to relevant experience with operating-system and/or compiler internals attached as a single combined PDF. If you upload any additional documents which haven't been requested, we will not be able to consider these as part of your application.

Please quote reference NR23971 on your application and in any correspondence about this vacancy.

The University actively supports equality, diversity and inclusion and encourages applications from all sections of society.

The University has a responsibility to ensure that all employees are eligible to live and work in the UK.

Apply online