Genetic improvement uses computational search to improve existing software with respect to a user-defined objective function, while retaining some existing behaviour, usually captured by testing. Work on genetic improvement has already resulted in several awards. GI has been used, for instance, to automate the process of program repair, to speed up software for a particular domain, and to minimize memory and energy consumption. GI has also been used to transplant functionality from one software to another in an automated way. I will give an overview of the genetic improvement area and present key components of a GI framework.
|Slides (Genetic Improvement of Software.pdf)