Novel fitness functions using source code checkpoints for search-based program repair

Nenhuma Miniatura disponível

Data

2020-01-16

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.