I am principally interested in solving Software Engineering problems with AI methods such as metaheuristics and machine learning. I currently spend much of my time working on the optimisation of mobile and low-power platforms. For example, I am working with commercial companies such as Craft Prospect in developing software for nanosatellite systems.
I am particularly interested in program synthesis, and am working on Genetic Programming (GP) and its application to existing software, referred to as “Genetic Improvement”. I wrote some of the original papers in this area, and I am also one of the founders and chairs of Genetic Improvement, a workshop now in its fourth year. I recently co-authored a survey on GI, and am also leading a project to build a GI tool, known as Gin.
I was one of the founders of gpbenchmarks.org, an attempt to progress research into GP by improving the standard of benchmarking in the field. I continue to research in Genetic Programming and am working on fundamental research questions in this area.
At UCL, I am part of the DAASE project, which aims to automate software engineering through the use of dynamic and adaptive computational search. DAASE is a large project involving UCL, the University of Sheffield, the University of Stirling, University of Birmingham, and Queen Mary University London.
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 was previously at the University of Glasgow, where I was one of the founders and PI of the Glasgow Raspberry Pi Cloud project, a scale model of a cloud datacentre from Raspberry Pi’s and Lego, which was primarily used for teaching. The project was kindly supported by the Chancellor’s Fund at Glasgow. This project led to the successful award of EPSRC funding for a larger project, Fruit: The Federated Raspberry Pi Micro-infrastructure Testbed.
In the last few years I have also worked in a range of other areas include task allocation in robotics, JVM Memory Management, Monte Carlo Tree Search, and cloud deployment of metaheuristics.
I have served a member of the SSBSE Steering Committee, and a member of the PLDI 2015 artefact evaluation committee. I review for more journals and conferences that I can remember, but the list includes: GECCO, EuroGP, EvoSET, SBST, CIMSBSE, TSE, IEEE CIM, WCCI, GPEM, DTIS, SSBSE, TEC, Natural Computing.