Human-In-The-Loop Automatic Program Repair
원문 초록
We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is observed. Only when a budget of queries to the user is exhausted, it attempts to repair the bug. A query can be thought of as the following question: "When executing this alternative test input, the program produces the following output; is the bug observed"? Through systematic queries, Learn2fix trains an automatic bug oracle that becomes increasingly more accurate in predicting the user's response. Our key challenge is to maximize the oracle's accuracy in predicting which tests are bug-exposing given a small budget of queries. From the alternative tests that were labeled by the user, test-driven automatic repair produces the patch. Our experiments demonstrate that Learn2fix learns a sufficiently accurate automatic oracle with a reasonably low labeling effort (lt. 20 queries). Given Learn2fix's test suite, the GenProg test-driven repair tool produces a higher-quality patch (i.e., passing a larger proportion of validation tests) than using manual test suites provided with the repair benchmark.
함께 살펴볼 논문
공통 태그를 근거로 연결했습니다. 실제 인용 관계나 논문의 우수성을 뜻하지 않습니다.
CoSIL: Software Issue Localization via LLM-Driven Code Repository Graph Searching
Less is More: Adaptive Program Repair with Bug Localization and Preference Learning
o3-mini vs DeepSeek-R1: Which One is Safer?
Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair
Planning-Driven Programming: A Large Language Model Programming Workflow
From Code to Correctness: Closing the Last Mile of Code Generation with Hierarchical Debugging
토론
이 논문과 연결된 포럼 글이 아직 없습니다.