The objective of this project is to turn interactive theorem provers into highly trustworthy programming environments. Most software is littered with flaws. Certain software is not allowed to contain flaws, e.g. the software in your (self-driving) car. This type of software is called high-assurance software and is traditionally prohibitively expensive to develop to the necessary levels of quality. Results The proposed project will make significant contributions to the development of high-assurance software. The proposed work will make it easier to write software in proof assistants and to prove that the software respects a precise specification. This project will take Sweden to the cutting edge of high-assurance software development. Plan The work will build on my extensive experience in interactive theorem proving and particularly my experience in proof methods for connecting machine code with functional programming. The project will be pursued in three parts that run in parallel. My group will:
- explore how logic and proof automation can be used for programming in a combination of different programming styles: functional, imperative, assembler;
- develop new proof methods with logical foundations that are well beyond the current state of the art;
- construct a theory for proved-correct just-in-time compilation within proof assistants.
Docent vid Chalmers, Computer Science and Engineering (Chalmers), Formal methods
Funding Chalmers participation during 2017–2021 with 12,000,000.00 SEK