SketchFix: a tool for automated program repair approach using lazy candidate generation
Abstract
Manually locating and removing bugs in faulty program is often tedious and error-prone. A common automated program repair approach called generate-and-validate (G&V) iteratively creates candidate fixes, compiles them, and runs these candidates against the given tests. This approach can be costly due to a large number of re-compilations and re-executions of the program. To tackle this limitation, recent work introduced the SketchFix approach that tightly integrates the generation and validation phases, and utilizes runtime behaviors to substantially prune a large amount of repair candidates. This tool paper describes our Java implementation of SketchFix, which is an open-source library that we released on Github. Our experimental evaluation using Defects4J benchmark shows that SketchFix can significantly reduce the number of re-compilations and re-executions compared to other approaches and work particularly well in repairing expression manipulation at the AST node-level granularity.The demo video is at: https://youtu.be/AO-YCH8vGzQ.
BibTeX
@inproceedings{Hua-al:FSE18,
author = {Jinru Hua and
Mengshi Zhang and
Kaiyuan Wang and
Sarfraz Khurshid},
title = {{SketchFix:} a tool for automated program repair approach using lazy candidate generation},
booktitle = {{ESEC/SIGSOFT} {FSE}},
pages = {888--891},
publisher = {{ACM}},
year = {2018},
}