Program Repair by Fuzzing over Patch and Input Space
Yuntong Zhang, Ridwan Shariffdeen, Gregory J. Duck, Jiaqi Tan, Abhik, Roychoudhury

TL;DR
This paper introduces a novel approach to automated program repair by applying fuzzing techniques to explore the patch space, combined with input fuzzing, to efficiently find high-quality bug fixes without recompilation.
Contribution
It proposes a patch-space fuzzing method, a compilation-free patch validation technique, and a combined fuzzing strategy to improve automated program repair effectiveness.
Findings
Patch-space fuzzing effectively explores fix candidates.
Compilation-free validation maintains high throughput.
Combined fuzzing improves patch quality and search efficiency.
Abstract
Fuzz testing (fuzzing) is a well-known method for exposing bugs/vulnerabilities in software systems. Popular fuzzers, such as AFL, use a biased random search over the domain of program inputs, where 100s or 1000s of inputs (test cases) are executed per second in order to expose bugs. If a bug is discovered, it can either be fixed manually by the developer or fixed automatically using an Automated Program Repair (APR) tool. Like fuzzing, many existing APR tools are search-based, but over the domain of patches rather than inputs. In this paper, we propose search-based program repair as patch-level fuzzing. The basic idea is to adapt a fuzzer (AFL) to fuzz over the patch space rather than the input space. Thus we use a patch-space fuzzer to explore a patch space, while using a traditional input level fuzzer to rule out patch candidates and help in patch selection. To improve the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Radiation Effects in Electronics
