2020-02-212020-01-16SOUZA, Eduardo Faria de. Novel fitness functions using source code checkpoints for search-based program repair. 2020. 65 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Goiás, Goiânia, 2020.http://repositorio.bc.ufg.br/tede/handle/tede/10370Software maintenance, especially bug fixing, is one of the most expensive problems in software practice. Bugs have a global impact in terms of cost and time, and they also reflect negatively on a company’s brand. GenProg is a method for Automated Program Repair based on an evolutionary approach. It aims to generate bug repairs with neither human intervention nor a need for special instrumentation or source code annotations. Its canonical fitness function evaluates each variant as the weighted sum of the test cases that a modified program passes. However, it evaluates individuals with distinct genetic material with the same observed fitness score (plateaus). We proposed five novel fitness functions, four of which use a dynamic analysis technique called intermediate code checkpoints to collect variable’s state data, while the other uses a random component. They aim to increase the granularity of the fitness gleaning more data from test case execution. We evaluate the proposed fitness functions with mature open-source projects with thousands of lines of code from the IntroClass and ManyBugs benchmark. We found that our proposed fitness functions minimize plateaus, increasing the differentiation capabilities of the search, and they also find more repairs than the baseline, including repairs not previously found.application/pdfAcesso AbertoProgramação genéticaEngenharia de softwareReparo de programasFunções de aptidãoGenetic programmingSoftware engineeringProgram repairFitness functionsCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAONovel fitness functions using source code checkpoints for search-based program repairNovas funções de aptidão usando checkpoints em código-fonte para reparo de programas baseado em buscaDissertação