I am a former Lecturer (Assistant Professor) in Systems and Hardware Security within the School of Informatics at the University of Edinburgh, and current Visitor. My current responsibilities for the University consist of supervising two PhD students: Haocheng Xiao (with Nigel Topham) and Jackson Woodruff (with Mike O'Boyle).


My research interests currently include architectural and compiler techniques for:

My interests are broadly spread across all of these topics. Recently, I've done a lot of work on temporal safety, both in hardware and software. I've used many-core heterogeneous architectures to achieve high performance and efficiency across all three of prefetching, reliability and security. I'm also interested in microarchitectural side channels: see my recent work on MuonTrap, and the Dijkstra's Pipe EPSRC Project (with Vijay Nagarajan, David Aspinall and Tobias Grosser), which seeks to formalise speculative timing behaviour (exploited by Spectre) so that we can get the same rigid guarantees currently only given for functional correctness.



Fault Tolerance

Prefetching and Big Data

Other Architecture/Compilers


I created the course Security Engineering for UG4/UG5/MSc students, with Ross Anderson, with videos of the lectures available free to all. This gives students the opportunity to understand the ways real systems are attacked and defended, with a broad-church perspective from psychology and economics all the way down to computer architecture and transistors. Like, share and subscribe below:

I've also been a lecturer for Parallel Architectures and Introduction to Computer Systems.