I am a Senior Research Engineer at Kry10 interested in how we can utilise formal methods and mobilise research to build highly robust computer systems.
Formally, I was a Lecturer in the School of Computing Science at the University of Glasgow.
I am interested in finding out how we can use (formal) computational modelling to better understand and reason about complex systems: from chemical processes to large scale digital twins of cyber-physical systems. I'm particularly interested in the modelling side: how can we build expressive languages and tools that let non-formal methods experts access the wealth of strong reasoning techniques we have available, e.g. probabilistic model checking. Benefiting from formal methods should not require a Ph.D.
For my Ph.D, I developed re-usable high-level parallel abstractions (algorithmic skeletons) for combinatorial search problems. For example, finding cliques within graphs, or the shortest path between cities (delivery scheduling). While modern solvers are extremely efficient, there are always some problems out of reach of current technologies. Parallelism lets us increase the number of problems we can solve exactly (without heuristic search). I am the lead developer of YewPar, a C++ framework for parallel search, which currently supports more than 10 different search applications. Research software plays an essential role in innovation and I am a Fellow for the Institute for Research Software.
The following is an overview of my current research and main interests. Please visit Publications for a full list.