Alastair Donaldson

Low Fat Recipes for Reliable Programming Languages

Programming language implementations are the foundation on which modern software rests, and they need to be reliable. In an ideal world, one would build formally verified implementations of programming languages, based on precise semantics for both source and target languages. In practice, this goal is very hard to achieve: formally verified implementations require a monumental effort, and it is common for the semantics of a programming language to be in a state of flux during the early life of the language, or to be difficult to make fully formal.

In this talk I will reflect on my experiences using randomized testing and lightweight formal methods in a pragmatic manner to improve the reliability of programming language implementations, and also to fix defects and ambiguities in programming language specifications, conformance test suites and supporting tooling. These “low fat recipes” for improved programming language reliability are easy to adopt and can be fruitfully applied both to brand new and established programming languages.

I will conclude with an overview of current work and future directions for the Programming Languages community that will make it even easier to obtain highly reliable programming language implementations out-of-the-box.

back to overview

Watch Recording


Alastair Donaldson is a Professor in the Department of Computing at Imperial College London and a Visiting Researcher at Google. At Imperial he leads the Multicore Programming Group, investigating novel techniques and tool support for programming, testing and reasoning about highly parallel systems and their programming languages. He was Founder and Director of GraphicsFuzz Ltd., a start-up company specialising in metamorphic testing of graphics drivers, which was acquired by Google in 2018. He was the recipient of the 2017 BCS Roger Needham Award and has published 90+ articles on programming languages, formal verification, software testing and parallel programming. Alastair was previously a Visiting Researcher at Microsoft Research Redmond, an EPSRC Postdoctoral Research Fellow at the University of Oxford and a Research Engineer at Codeplay Software Ltd. He holds a PhD from the University of Glasgow, and is a Fellow of the British Computer Society.