Fixed-term: The funds for this post are available for 2 years.
Programming is an important skill in the modern scientist's toolkit, with computational modelling key to progress in many scientific fields. The rise of generative AI via Large Language Models presents opportunities for increasing productivity in research software engineering and scientific computing. However, LLMs may generate incorrect code, undermining the overall scientific endeavour. Validation and verification are therefore important to guard against error. Furthermore, there is a need to separate corporate interest from meaningful data on the effective use of these tools, and to consider their environmental and human impact.
The goal of this position is to explore how to better leverage generative-AI for trustworthy software engineering within science, without eroding science or understanding, and including a critical view of negative externalities. The scientific context will primarily be climate and earth sciences.
Potential projects include (but are not limited to):
developing and evaluating frameworks that incorporate analytical tools (e.g., testing, static analysis, type systems, climate ensemble validators) in feedback loops with LLMs;
leveraging LLMs to generate code alongside proofs (e.g., in Lean, Rocq, Agda) for improving verification of computational models and supporting trust in generated code;
AI-enabled language translation frameworks, e.g., from Fortran (popular in climate science) to modern languages, e.g., Python/JAX.
This post is based in the Department of Computer Science and Technology, University of Cambridge and is part of the Institute of Computing for Climate Science (ICCS), a multi-disciplinary cross-department initiative supporting climate modelling through the latest in computer science, mathematics, and software engineering. ICCS receives funding from a variety of sources including Schmidt Sciences.
The candidate will join a group applying programming language-oriented and software engineering research to support scientific work. There may be an option to work with Research Software Engineers to support the implementation of engineering artefacts developed in this project.
Role requirements:
Degree-level education, with a PhD (or nearing completion of) in Computer Science, Engineering, Mathematics, Physical/Natural Sciences, or similar;
Research experience in either computational modelling, programming languages, verification, or generative AI;
Track record of publications and research experience.
Desirable characteristics:
Experience working with domain scientists;
Experience developing practical tools;
Familiarity with generative AI workflows and tools. This is a fixed term appointment and funds for the post are initially available for 2 years.
If you have any questions regarding the role or the application process, please contact Dominic Orchard ([email protected]).
Click the 'Apply' button below to register an account with our recruitment system (if you have not already) and apply online.
Please indicate the contact details of two academic referees on the online application form and upload a full curriculum vitae, publications list, and a description of your recent research, current research and future research interests within this role (not to exceed two pages).
Please quote reference NR50505 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.