kirancodes.me
To Proof Maintenance & Beyond!

SketchFix: a tool for automated program repair approach using lazy candidate generation

Jinru Hua, Mengshi Zhang, Kaiyuan Wang, Sarfraz Khurshid

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},
}

Related papers