Novel fitness functions using source code checkpoints for search-based program repair
Nenhuma Miniatura disponível
Data
2020-01-16
Autores
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Goiás
Resumo
Software 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.
Descrição
Citação
SOUZA, 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.