Monday 29 Feb 2016: Optimizing Existing Software With Genetic Programming
Bill Langdon - UCL
Genetic Improvement (GI) uses modern search based software engineering
(SBSE) techniques such as Genetic Programming (GP), to optimise
existing programs. I plan to start with an introduction to genetic
programming. Then give very brief descriptions of early GP work on
evolving software from scratch and recent work on automatic bug fixing.
Part of the motivation for GI is that customising software for
different users, different hardware, different trade-offs between
resources consumption (eg memory, speed, battery life) and quality,
is at least as difficult and labour intensive as many other programming
tasks and yet (we shall see) is at least partly automatable.
Mostly I will concentrate on examples, such as given by the paper
doi:10.1109/TEVC.2013.2281544 of the same name as the talk. Here GI
automatically customised existing programs to give considerable speed
ups with little lost in accuracy by evolving a new version of the
program tailored to special cases.