Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT
Chunqiu Steven Xia, Lingming Zhang

TL;DR
ChatRepair introduces a conversational, feedback-driven approach to automated program repair using ChatGPT, significantly improving patch correctness and cost-effectiveness by learning from previous attempts and test failures.
Contribution
This work presents the first conversation-driven APR method that interleaves patch generation with instant feedback, enhancing repair accuracy over traditional generate-and-validate approaches.
Findings
Fixed 162 out of 337 bugs at a cost of $0.42 each
Improved patch correctness by learning from test failures and successes
Demonstrated effectiveness of ChatGPT in automated program repair
Abstract
Automated Program Repair (APR) aims to automatically generate patches for buggy programs. Recent APR work has been focused on leveraging modern Large Language Models (LLMs) to directly generate patches for APR. Such LLM-based APR tools work by first constructing an input prompt built using the original buggy code and then queries the LLM to generate patches. While the LLM-based APR tools are able to achieve state-of-the-art results, it still follows the classic Generate and Validate repair paradigm of first generating lots of patches and then validating each one afterwards. This not only leads to many repeated patches that are incorrect but also miss the crucial information in test failures as well as in plausible patches. To address these limitations, we propose ChatRepair, the first fully automated conversation-driven APR approach that interleaves patch generation with instant…
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 Engineering Research · Software Reliability and Analysis Research
MethodsRepair · Test
