paper-with-me

홈 › Papers

Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT

2023-04-01 · Chunqiu Steven Xia, Lingming Zhang

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 feedback to perform APR in a conversational style. ChatRepair first feeds the LLM with relevant test failure information to start with, and then learns from both failures and successes of earlier patching attempts of the same bug for more powerful APR. For earlier patches that failed to pass all tests, we combine the incorrect patches with their corresponding relevant test failure information to construct a new prompt for the LLM to generate the next patch. In this way, we can avoid making the same mistakes. For earlier patches that passed all the tests, we further ask the LLM to generate alternative variations of the original plausible patches. In this way, we can further build on and learn from earlier successes to generate more plausible patches to increase the chance of having correct patches. While our approach is general, we implement ChatRepair using state-of-the-art dialogue-based LLM -- ChatGPT. By calculating the cost of accessing ChatGPT, we can fix 162 out of 337 bugs for \$0.42 each!

📄 PDF Abstract BibTeX arXiv:2304.00385

Code (0)

등록된 구현이 없습니다.

Tasks

Program Repair

Methods 이 논문이 사용한 방법론

Repair 설명 없음
Test 설명 없음

Similar Papers 제목 키워드 기반

DABT: A Dependency-aware Bug Triaging Method

2021-04-26 · Hadi Jahanshahi, Kritika Chhabra, Mucahit Cevik, Ayşe Başar

In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug …

BlockingBug fixing

Agentic Harness for Real-World Compilers

2026-03-20 · Yingwei Zheng, Cong Li, Shaohua Li, Yuqun Zhang 외 arxiv

Compilers are critical to modern computing, yet fixing compiler bugs is difficult. While recent large language model (LLM) advancements enable automated bug repair, compiler bugs pose unique challenges due to their compl…

Using Developer Discussions to Guide Fixing Bugs in Software

2022-11-11 · Sheena Panthaplackel, Milos Gligoric, Junyi Jessy Li, Raymond J. Mooney

Automatically fixing software bugs is a challenging task. While recent work showed that natural language context is useful in guiding bug-fixing models, the approach required prompting developers to provide this context,…

Bug fixing

S-DABT: Schedule and Dependency-Aware Bug Triage in Open-Source Bug Tracking Systems

2022-04-12 · Hadi Jahanshahi, Mucahit Cevik

Fixing bugs in a timely manner lowers various potential costs in software maintenance. However, manual bug fixing scheduling can be time-consuming, cumbersome, and error-prone. In this paper, we propose the Schedule and …

BlockingBug fixingScheduling

Can GPT-O1 Kill All Bugs? An Evaluation of GPT-Family LLMs on QuixBugs

2024-09-16 · Haichuan Hu, Ye Shang, Guolin Xu, Congqing He 외

LLMs have long demonstrated remarkable effectiveness in automatic program repair (APR), with OpenAI's ChatGPT being one of the most widely used models in this domain. Through continuous iterations and upgrades of GPT-fam…

AllProgram Repair