Reader / Director of Education
My publications are available from the University of Kent's Academic Repository.
I'm looking for a PhD student to start in September. This is a fully funded position for students from the UK and EU. Interested candidates should contact me by 21 May, 2018. Link to the description
Writing bug-free software is difficult, and we all too often have only a vague idea of why a particular program seems to do what it is supposed to. To address this, there is a long tradition (going back at least to the 1960s) of building rigorous mathematical proofs that safety critical programs really are correct. However, the techniques for creating these proofs have often failed to scale to large programs, or more complex computing systems. Over the past 10 years, this has begun to change.
My research has two strands working together toward building fully verified software systems:
- the CakeML project on supporting verified programs right down to machine code, and
- understanding concurrent programs that must take advantage of modern multi-core processors, which often have fiendishly non-intuitive memory systems.