ChatPaper.aiChatPaper

HAFixAgent: Geschiedenisbewuste Automatische Programmareparatie Agent

HAFixAgent: History-Aware Automated Program Repair Agent

November 2, 2025
Auteurs: Yu Shi, Hao Li, Bram Adams, Ahmed E. Hassan
cs.AI

Samenvatting

Geautomatiseerd programmaherstel (APR) heeft recentelijk een verschuiving doorgemaakt naar grote taalmodelen en agent-gebaseerde systemen, maar de meeste systemen vertrouwen op lokale snapshotcontext en negeren repositorygeschiedenis. Eerder onderzoek toont aan dat repositorygeschiedenis helpt bij het herstellen van enkelregelige bugs, omdat de laatste commit die de buggy regel aanraakt vaak de bug-introducerende is. In dit artikel onderzoeken we of repositorygeschiedenis ook op grote schaal agent-gebaseerde APR-systemen kan verbeteren, vooral voor complexe multi-hunk bugs. We presenteren HAFixAgent, een History-Aware Bug-Fixing Agent die op blame afgeleide repositoryheuristieken injecteert in zijn herstelloop. Een voorlopige studie van alle 854 real-world bugs uit Defects4J motiveert ons ontwerp, en toont aan dat bug-relevante geschiedenis zowel ruim beschikbaar als sterk geconcentreerd is. Empirische vergelijking van HAFixAgent met twee state-of-the-art baseline-systemen toont aan: (1) Effectiviteit: HAFixAgent verbetert significant ten opzichte van de agent-gebaseerde baseline (met 212,3%) en de multi-hunk baseline (met 29,9%). (2) Efficiëntie: geschiedenis verhoogt agentstappen niet significant en houdt tokenkosten vergelijkbaar, met opmerkelijk lagere mediane kosten voor complexe multi-file-multi-hunk bugs. (3) Praktische bruikbaarheid: het combineren van verschillende historische heuristieken herstelt meer bugs, wat een duidelijke kosten-batenafweging biedt. HAFixAgent biedt een praktisch recept voor history-aware agentic APR: veranker de agent in versiebeheerhistoriek, prioriteer diff-gebaseerde historische context, en integreer complementaire heuristieken waar nodig.
English
Automated program repair (APR) has recently shifted toward large language models and agent-based systems, yet most systems rely on local snapshot context, overlooking repository history. Prior work shows that repository history helps repair single-line bugs, since the last commit touching the buggy line is often the bug-introducing one. In this paper, we investigate whether repository history can also improve agentic APR systems at scale, especially for complex multi-hunk bugs. We present HAFixAgent, a History-Aware Bug-Fixing Agent that injects blame-derived repository heuristics into its repair loop. A preliminary study of all 854 real-world bugs from Defects4J motivates our design, showing that bug-relevant history is both widely available and highly concentrated. Empirical comparison of HAFixAgent with two state-of-the-art baselines shows: (1) Effectiveness: HAFixAgent significantly improves over the agent-based baseline (by 212.3%) and the multi-hunk baseline (by 29.9%). (2) Efficiency: history does not significantly increase agent steps and keeps token costs comparable, with notably lower median costs for complex multi-file-multi-hunk bugs. (3) Practicality: combining different historical heuristics repairs more bugs, offering a clear cost-benefit trade-off. HAFixAgent offers a practical recipe for history-aware agentic APR: ground the agent in version control history, prioritize diff-based historical context, and integrate complementary heuristics when needed.
PDF32December 2, 2025