I am a Research Associate in Computer Science at the University of York.
I am working in the field of Search Based Software Engineering as part of the SEBASE project. My current areas of interest are in Anytime Algorithm construction and sort optimisation using heuristic search. I am also considering novel representations within the context of these problems.
In December 2009 I submitted my PhD thesis, which explored how to apply search-based programming for low-resource embedded systems. These systems typically have stringent non-functional requirements, as exemplified by the current focus on low-power designs. I applied Genetic Programming to solve problems that have non-functional requirements in order to find solutions that optimise properties in a manner unachievable by conventional methods.
I have previously investigated issues surrounding the application of Genetic Programming such as the use of crossover versus mutation.
I am also interested in heuristic search in general, and am working on some problems outside of Genetic Programming in the fields of algorithm design and cryptography.
Somewhere along the line I seem to have been dragged into the murky and confusing world of empirical method, and I am interested in how we apply rigorous statistical analysis to support hypotheses surrounding heuristic search algorithms.
My supervisor is Professor John Clark and my PhD co-supervisor is Jeremy Jacob.
My research is funded by the EPSRC, as part of the SEBASE project.
I am a member of the Non-Standard Computation Group and the York Centre for Complex Systems Analysis.
You can contact me using the department's email form.
This list is old (created 08/06/2007) and does include not all my reading, but is in a more useful format than the page below for general browsing.
Reading list of research papers and books.
This is a complete list taken from my Bibtex manager.
Genetic Programming Reading List - key texts for anyone interested in learning about GP
David R. White, Juan M. E. Tapiador, Julio Cesar Hernandez-Castro and John A. Clark. Fine-Grained Timing using Genetic Programming. EuroGP 2010. To appear.
David R White and Simon Poulding. A Rigorous Evaluation of Crossover and Mutation in Genetic Programming. EuroGP 2009. Online resources for this paper can be found here.
Andrea Arcuri, David R White, John Clark, Xin Yao. Multi-Objective Improvement of Software using Co-evolution and Smart Seeding. SEAL 2008.
David R White, John Clark, Jeremy Jacob, Simon Poulding. Searching for Resource-Efficient Programs: Low-Power Pseudorandom Number Generators. GECCO '08: Proceedings, 2008.
Thesis Seminar given in July 2009.
Thesis Outline submitted internally in June 2008.
Progress Report submitted in February 2008.
Qualifying Dissertation including a literature review.
Genetic Programming Literature Review presentation, given within the department in December 2006
A project presentation giving an overview of some topics of interest to my PhD. This was prepared as part of a SEBASE meeting in March 2007.
A further SEBASE presentation given at a steering committee meeting in May 2007.
SEBASE presentation given at a steering committee meeting in September 2008.
SEAL Presentation given at the conference in December 2008.
2009 Lecture Slides on Heuristic Search as part of the TAD course.
2008 Lecture slides on Grammatical Evolution, given as part of the EVO course.
Lecture slides on Heuristic Search, given as part of the ADS course.
Principles of Programming (POP) FAQ / notes.
Real-Time Systems (RTS) FAQ / notes.
Compiling SimpleScalar - some helpful links if you're attempting to compile this very useful simulator.
M5 Simulator - notes that may be of use to anyone using the simulator.
Conferences
Evolutionary Programming Links
ECJ Links
ECJ is a very general and powerful evolutionary computation system written in Java.
Empirical Method
General Links
In 2008 I completed the University's Preparing Future Academics course.
I lecture on Grammatical Evolution as part of the Evolutionary Algorithms (EVO) course.
In Spring term 2009 I gave a lecture on Heuristic Search as part of the Theory of Algorithms and Data Structures (TAD) course.
During the Spring and Summer terms 2009 I was a demonstrator on the Real-Time Systems (RTS) course.
During the Autumn term 2008 I was a demonstrator on the Introduction to Computer Mathematics (ICM) course.
In Spring term 2008 and 2007 I gave a lecture on Heuristic Search as part of the Algorithms and Data Structures (ADS) Course. I also prepared a few slides on example applications here at York.
During Autumn 2007 I was a Researcher in Residence at Huntington School in York.
During the Autumn term 2007 I was a demonstrator (and occasional lecturer) on the Principles of Programming (POP) course.
During Autumn Term 2006, I was a demonstrator on the Modelling and System Design (MSD) course.
Recently I was a member of the organising committee of SSBSE 2009.
I previously held the position of Industrial Relations Coordinator on the committee of the University of York IEEE Student Branch.
I was an organiser of the IEEE UKRI Student Congress 2007, which was held in June 2007 here at York. I was also part of the advisory committee for the IEEE Region 8 Student Branch Congress 2008, a gathering of IEEE Student Branches from across Europe, the Middle East and Africa.