I am a SICSA Research Fellow in Complex Systems, 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 several areas of research: I am investigating Monte Carlo Tree Search and Genetic Programming; I am collaborating with Dr Jeremy Singer on radical new memory management schemes; I am working on the use of Genetic Programming to optimise programs.

I recently completed work with Jeremy Singer on the adaptive configuration of heap management in the Jikes (Java) Research Virtual Machine.

As part of my work on cloud computing, I am running 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 currently organising gpbenchmarks.org, an attempt to progress research into Genetic Programming by improving the standard of benchmarking in the field.

I am interested in evolutionary computation and heuristic search. I also have more than a passing interest in developing a rigorous experimental method for empirical algorithm comparisons.

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 nominated for "Research Project of the Year" in the Times Higher Education Awards.

I am a member of the SSBSE Steering Committee.