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.
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