Location: | Cambridge |
---|---|
Salary: | £37,174 to £59,139 per annum |
Hours: | Full Time |
Contract Type: | Fixed-Term/Contract |
Placed On: | 28th April 2025 |
---|---|
Closes: | 25th May 2025 |
Job Ref: | NR45820 |
Programming languages provide an interface for developing increasingly complex models in science. However, as computer models grow more complex, it is increasingly difficult to deliver on core requirements such as verifiability, maintainability, understandability, validity, and portability. Managing software complexity more effectively has been a focus of programming language research for many years, yet we see little adoption of new approaches in the natural sciences.
To address some of these issues, the CamFort suite of tools [1, 2] was developed to provide lightweight verification tools for scientists, targeting Fortran (which is used pervasively in the sciences and in industry). CamFort provides optional advanced type systems (e.g., for units-of-measure typing), novel partial specifications and accompanying verifiers, and deductive verification techniques. CamFort is underpinned by the fortran-src static analysis toolkit for Fortran [3, 4], which provides parsers for various language standards, core static analyses, and various models. The fortran-src toolkit has been developed over the years with collaborators in industry. Both CamFort and fortran-src are open-source, written in Haskell.
This position will support the development of the next phase of work in fortran-src/CamFort and provide an opportunity to do research in static analysis, verification, and/or refactoring. Possible areas of exploration include investigating (1) static analyses to assess cross-platform portability and associated refactoring transformation, e.g., to handle endianness; (2) developing novel analysis to assess properties such as robustness and sensitivity; (3) developing novel specification systems for numerical properties of code. There is an expectation that the post will involve both research and software development. The post will involve collaboration with industry partners actively using and developing fortran-src.
This post is based in the Department of Computer Science and Technology at the University of Cambridge and is also part of the Institute of Computing for Climate Science, a multi-disciplinary initiative supporting climate modelling through the latest in computer science, mathematics, software engineering, and statistics. The institute is a joint venture between the Department of Applied Mathematics and Theoretical Physics (DAMTP), the Department of Computer Science and Technology (CST, also known as the Computer Laboratory), and University Information Services (UIS), and receives funding from a variety of sources. The candidate will join a group applying programming language-oriented research to support scientific work.
Role Requirements
Desirable Characteristics
Candidates wishing to be judged as Senior candidates should also have
[1] https://camfort.github.io/
[2] https://github.com/camfort/camfort
[3] https://github.com/camfort/fortran-src/
[4] https://joss.theoj.org/papers/10.21105/joss.07571
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).
The University actively supports equality, diversity and inclusion and encourages applications from all sections of society. We particularly welcome applications from women and/or candidates from a BME background for this vacancy as they are currently under-represented at this level in our Department.
Type / Role:
Subject Area(s):
Location(s):