I am a Research Associate on the EPSRC AnyScale Project, under the supervision of Jeremy Singer in the School of Computing Science at the University of Glasgow. I am a member of the ENDS research group.

I am currently working in two key areas of research: Approximate Memory Management as a form of Approximate Computing, and Memoisation for computational offloading and acceleration. Most my research employs Java and in particular HotSpot as a testbed.

Related to this work is an interest in Cloud Computing, and at Glasgow I am responsible for a project constructing and developing the Glasgow Raspberry Pi Cloud. We have constructed a scale model of a cloud datacentre from Raspberry Pi's and Lego, which we are now using for teaching and research. The project is kindly supported by the Chancellor's Fund here at Glasgow.

I am also interested in automated programming, and am working on Genetic Programming and Monte Carlo Tree Search. I am one of the founders of gpbenchmarks.org, an attempt to progress research into Genetic Programming by improving the standard of benchmarking in the field.

I am a collaborator on the DAASE project, which aims to automate software engineering through the use of dynamic and adaptive computational search. The project involves UCL, the University of York, the University of Stirling and the University of Birmingham.

DAASE is the successor to the SEBASE project, which I worked on at the University of York. SEBASE was a project at the heart of the search-based software engineering community, a group of academic and industrial researchers concerned with applying heuristic search to software engineering problems. SEBASE was recently nominated for "Research Project of the Year" in the Times Higher Education Awards.

I am a member of the SSBSE Steering Committee.