An Analysis of the Automatic Bug Fixing Performance of ChatGPT
Dominik Sobania, Martin Briesch, Carol Hanna, Justyna Petke

TL;DR
This paper evaluates ChatGPT's ability to automatically fix software bugs, demonstrating its competitive performance and potential for improvement through interactive hints, surpassing existing deep learning and traditional methods.
Contribution
It provides the first comprehensive assessment of ChatGPT's bug fixing capabilities and highlights its advantages over prior approaches, including interactive hint integration.
Findings
ChatGPT fixes 31 out of 40 bugs with hints.
Performance is comparable to or better than other deep learning models.
Interactive hints significantly improve bug fixing success.
Abstract
To support software developers in finding and fixing software bugs, several automated program repair techniques have been introduced. Given a test suite, standard methods usually either synthesize a repair, or navigate a search space of software edits to find test-suite passing variants. Recent program repair methods are based on deep learning approaches. One of these novel methods, which is not primarily intended for automated program repair, but is still suitable for it, is ChatGPT. The bug fixing performance of ChatGPT, however, is so far unclear. Therefore, in this paper we evaluate ChatGPT on the standard bug fixing benchmark set, QuixBugs, and compare the performance with the results of several other approaches reported in the literature. We find that ChatGPT's bug fixing performance is competitive to the common deep learning approaches CoCoNut and Codex and notably better than…
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 System Performance and Reliability · Software Engineering Research
