Haraldsson S, Woodward J, Brownlee A & Cairns D (2017) Exploring Fitness and Edit Distance of Mutated Python Programs. In: McDermott J, Castelli M, Sekanina L, Haasdijk E & García-Sánchez P (eds.) Genetic Programming: 20th European Conference, EuroGP 2017, Amsterdam, The Netherlands, April 19-21, 2017, Proceedings. Lecture Notes in Computer Science, 10196. EuroGP 2017: Genetic Programming, Amsterdam, The Netherlands, 19.04.2017-21.04.2017. Cham: Springer International Publishing, pp. 19-34. http://dx.doi.org/10.1007/978-3-319-55696-3_2; https://doi.org/10.1007/978-3-319-55696-3_2
Genetic Improvement (GI) is the process of using computational search techniques to improve existing software e.g. in terms of execution time, power consumption or correctness. As in most heuristic search algorithms, the search is guided by fitness with GI searching the space of program variants of the original software. The relationship between the program space and fitness is seldom simple and often quite difficult to analyse. This paper makes a preliminary analysis of GI’s fitness distance measure on program repair with three small Python programs. Each program undergoes incremental mutations while the change in fitness as measured by proportion of tests passed is monitored. We conclude that the fitnesses of these programs often does not change with single mutations and we also confirm the inherent discreteness of bug fixing fitness functions. Although our findings cannot be assumed to be general for other software they provide us with interesting directions for further investigation.
Search Based Software Engineering; Genetic Improvement; Genetic Programming; Automatic programming; Software repair