Scientific Papers

Towards ‘Metaheuristics in the Large’

We should raise the abstraction level of metaheuristics research to support rigorous and general scientific enquiry.

Jerry Swan, Steven Adraensen, Alexander EI Brownlee, Colin G Johnson, Ahmed Kheiri, Faustyna Krawiec, JJ Merelo, Leandro L Minku, Ender Özcan, Gisele L Pappa, Pablo García-Sánchez, Kenneth Sörensen, Stefan Voß, Markus Wagner, David R White.

Under Review.

[PDF] from

Decoding Across the Quantum LDPC Code Landscape

A Belief Propagation OSD decoding algorithm (first described by Panteleev and Kalachev) can be applied to a wide spectrum of quantum error correction codes, including a new code developed by my co-authors.

J Roffe, DR White, S Burton, ET Campbell

Physical Review Research. To Appear.

[PDF] from

Compilation by stochastic Hamiltonian sparsification

Stochastic sparsification of Hamiltonians can be used to trade-off between qDRIFT stochastic compilation (devised by ET Campbell, my co-author) and traditional Trotterisation when simulating physical systems on a suitable quantum computer. 

Y Ouyang, DR White, ET Campbell

Quantum, 4, 235, 2020.


Modelling Genetic Programming as a Simple Sampling Algorithm

Genetic Programming works by sampling the program search space and incrementally fixing nodes, starting with the root and descending the AST. This is driven by the covariance between membership of simple point schema and ranked fitness within the population. 

DR White, B Fowler, W Banzhaf, ET Barr

Genetic Programming Theory and Practice XVII, 367-381, 2020.

via Springer

Optimising trotter-suzuki decompositions for quantum simulation using evolutionary strategies

Metaheuristics can be used to reduced the computational requirements for simulation of physics systems on quantum computers.

BDM Jones, DR White, GO O’Brien, JA Clark, ET Campbell

GECCO 2019.

[PDF] from

A survey of genetic improvement search spaces

J Petke, B Alexander, ET Barr, AEI Brownlee, M Wagner, DR White

GECCO 2019.

[PDF] from

Extending the “Open-Closed Principle” to Automated Algorithm Configuration

Metaheuristic optimisation libraries are not elegantly open to modification as per the traditional OCP of object orientation: adding new features often requires modifying existing code. We show how to develop metaheuristic implementations that obey the OCP and are also amenable to automated assembly. [spoiler: use functional programming].

J Swan, S Adriænsen, AD Barwell, K Hammond, DR White

Evolutionary computation 27 (1), 173-193. 2019.

[HTML] from

Gin: Genetic Improvement Research Made Easy

Gin is a framework for research into the optimisation of software by metaheuristic search.

AEI Brownlee, J Petke, B Alexander, ET Barr, M Wagner, DR White

GECCO 2019.

[PDF] from

Solving the Task Variant Allocation Problem in Distributed Robotics

Use constraint solving to allocate tasks to distributed robotics. We also introduce the concept of “Task Variants” to trade off quality with available compute resources.

José Cano, David R. White, Alejandro Bordallo, Ciaran McCreesh, Anna Lito Michala, Jeremy Singer, and Vijay Nagarajan.

Autonomous Robots, 2018.

System Framework for Autonomous Data Processing Onboard Next Generation of Nanosatellite

Paper related to industrial collaboration on increased autonomy of nanosatellites, partly through the deployment of AI.

Steve Greenland, Peter Mendham, David R. White, Mark Post, Bill Crowther.

Reinventing Space, 2017.

GI in No Time

I just wanted a canoe, but I got a battleship: the importance of simplicity in research tooling, particularly in metaheuristic program optimisation.

David R. White.

GI 2017.

Github Repo

Genetic Improvement of Software: a Comprehensive Survey

Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White and John R. Woodward

IEEE Transactions on Evolutionary Computation, 2017.

Deep Parameter Tuning of Concurrent Divide and Conquer Algorithms in Akka

David R. White, Leonid Joffe, Edward Bowles, and Jerry Swan.

EvoApps 2017.


API-Constrained Genetic Improvement

William Langdon, David R. White, Mark Harman, Yue Jia and Justyna Petke

SSBSE 2016.


Multi-objective Regression Test Suite Minimisation for Mockito

Andrew Turner, David R. White and John Drake

SSBSE 2016.

via Springer

Guiding Unconstrained Genetic Improvement

David R. White

GI 2016.


Task Variant Allocation in Distributed Robotics

Jose Cano, David R. White, Alejandro Bordallo, Ciaran McCreesh, Patrick Prosser, Jeremy Singer, and Vijay Nagarajan.

RSS 2016.


Search-based Refactoring: Metrics are Not Enough

Formulating refactoring as a simple metric optimisation problem is a mistake.

Chris Simons, David R. White, and Jeremy Singer.

SSBSE 2015.


Rethinking Genetic Improvement

David R. White and Jeremy Singer.

Genetic Improvement 2015.


The Programming Game: Evaluating MCTS as an Alternative to GP for Symbolic Regression

Programming is a single-player game and we should use the tools from MCTS and related research to solve it. With acknowledgements to Juan Tapiador for insightful discussions.

David R. White, Shin Yoo, and Jeremy Singer.

GECCO 2015.


If you’re looking for resources for this paper, please get in touch! We unfortunately lost some of the RNG  seeds for part of our experimentation, but repeating the experimentation gives consistent results. Drop me an email and I will explain!

Evaluating Lossy Collections for Java Applications

Relax the assumption that only unreferenced data can be garbage collected. This idea can be used to run software on platforms with insufficient memory via repeated execution.

Jeremy Singer and David R. White.

Workshop on Approximate Computing Across the System Stack (WACAS 2015).


JVM-hosted Languages: They Talk the Talk, but do They Walk the Walk?

Wing Hang Li, David R. White, Jeremy Singer

PPPJ 2013.


The Glasgow Raspberry Pi Cloud: A Scale Model for Cloud Computing Infrastructures

Use Raspberry Pi’s to teach about cloud computing and simulate cloud platforms.

Fung Po Tso, David R. White, Simon Jouet, Jeremy Singer, Dimitrios Pezaros

International Workshop on Resource Management of Cloud Computing 2013.


Cloud Computing and SBSE

David R. White

SSBSE 2013. Invited Tutorial Paper.


Control Theory for Principled Heap Sizing

Use simple control theory to dynamically set heap size.

David R. White, Jeremy Singer, Jonathan M. Aitken, Richard E. Jones

ISMM 2013.

Resources for recreating our work


Cloud Engineering is Search Based Software Engineering Too

Mark Harman, Kiran Lakhotia, Jeremy Singer, David R. White, Shin Yoo.

Journal of Systems and Software 2013.


Better GP Benchmarks: Community Survey Results and Proposals

David R. White, James McDermott, Mauro Castelli, Luca Manzoni, Brian W. Goldman, Gabriel Kronberger, Wojciech Jaskowksi, Una-May O’Reilly, Sean Luke.

Genetic Programming and Evolvable Machines.


Searching for Pareto-optimal Randomised Algorithms

Alan G. Millard, David R. White and John A. Clark

SSBSE 2012.

Won best paper prize.


The GISMOE challenge: Constructing the Pareto Program Surface Using Genetic Programming to Find Better Programs

Mark Harman, William B. Langdon, Yue Jia, David R. White, Andrea Arcuri and John A. Clark

ASE 2012. Keynote paper.


Automated Heap Sizing in the Poly/ML Runtime

David R. White, Jeremy Singer, Jonathan M. Aitken, and David Matthews.

Trends in Functional Programming 2012.


Genetic Programming Needs Better Benchmarks

Toy problems are a problem in GP research.

James McDermott, David R. White, Sean Luke, Luca Manzoni, Mauro Castelli, Leonardo Vanneschi, Wojciech Jaśkowski, Krzysztof Krawiec, Robin Harper, Kenneth De Jong, Una-May O’Reilly.

GECCO 2012.


Note that this paper is subject to ongoing edits and the definitive version is available via the website.

Website and resources for this paper.

Software review: the ECJ toolkit.

David R. White

Genetic Programming and Evolvable Machines. Online first, 2011.


Searching for Invariants using Genetic Programming and Mutation Testing.

The most important invariants are the most specific that capture the general behaviour of a given program. With insight comes fragility.

Sam Ratcliff, David R. White and John A. Clark.

GECCO 2011.

Won best paper prize in the SBSE track.


Resources for recreating our work.

Evolutionary Improvement of Programs.

Use GP to optimise software rather than create it from scratch.

David R. White, Andrea Arcuri and John A. Clark.

IEEE Transactions on Evolutionary Computation, 2011.


Genetic Programming for Low-Resource Systems.

Use GP to optimise software rather than create it from scratch.

David R. White.

PhD Thesis. University of York, 2010.

Nominated for a BCS distinguished thesis award.


Fine-Grained Timing using Genetic Programming.

Program synthesis via search can be used to compute with time as an output.

David R. White, Juan M. E. Tapiador, Julio Cesar Hernandez-Castro and John A. Clark

EuroGP 2010.


A Rigorous Evaluation of Crossover and Mutation in Genetic Programming

For some popular benchmarks in Genetic Programming, crossover (a central component of the GP algorithm) is of no benefit.

This paper demonstrates how to do rigorous empirical work when parameter tuning (credit: the late Simon Poulding).

David R. White and Simon Poulding.

EuroGP 2009


Resources for recreating our work

Multi-Objective Improvement of Software using Co-evolution and Smart Seeding.

Andrea Arcuri, David R. White, John Clark, Xin Yao.

SEAL 2008


Searching for Resource-Efficient Programs: Low-Power Pseudorandom Number Generators.

David R. White, John Clark, Jeremy Jacob, Simon Poulding.

GECCO 2008.