Towards Efficient Program Repair with APR Tools Based on Genetic Algorithms

Kanon Harada, Katsuhisa Maruyama · 2024

Automated program repair (APR) is expected to reduce manual debugging effort in software development. However, its tools have seldom been adopted in real-world software development. One of the reasons for this is likely that the tools frequently output repaired programs with low readability, which many developers are unwilling to accept. To reveal a situation where such programs are output during repairing, we experimented with an APR tool based on a genetic algorithm to fix bugs in an open-source Java project. Experimental results show that many acceptable programs are output in a relatively early stage of the repair process. Additionally, increasing the number of variants generated per generation is beneficial for obtaining a greater number of acceptable programs with the same repair time. These findings help developers use the APR tool efficiently, avoiding needlessly lengthening the repair time.

Read the paper · More papers on PaperTik