TL;DR
This study empirically evaluates the effectiveness of 10 program repair tools on the QuixBugs benchmark, analyzing patch correctness and overfitting issues, and providing insights to improve future automatic repair research.
Contribution
It is the first comprehensive empirical analysis of automatic program repair on QuixBugs, including effectiveness, overfitting detection, and characteristics of patches.
Findings
16 out of 40 bugs can be repaired with adequate patches
Over 53% of generated patches are overfitting
Patch correctness assessment techniques achieve high accuracy in detecting overfitting
Abstract
Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an empirical study of automatic repair on a benchmark of bugs called QuixBugs, which has been little studied. In this paper, 1) We report on the characteristics of QuixBugs; 2) We study the effectiveness of 10 program repair tools on it; 3) We apply three patch correctness assessment techniques to comprehensively study the presence of overfitting patches in QuixBugs. Our key results are: 1) 16/40 buggy programs in QuixBugs can be repaired with at least a test suite adequate patch; 2) A total of 338 plausible patches are generated on the QuixBugs by the considered tools, and 53.3% of them are overfitting patches according to our manual assessment; 3) The three automated patch…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
