ChatPaper.aiChatPaper

HAFixAgent: Geschichtsbewusster Agent zur automatisierten Programminstandsetzung

HAFixAgent: History-Aware Automated Program Repair Agent

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

papers.abstract

Die automatische Programminstandsetzung (APR) hat sich kürzlich in Richtung großer Sprachmodelle und agentenbasierter Systeme verlagert, doch die meisten Systeme stützen sich auf lokale Snapshot-Kontexte und übersehen dabei die Repository-Historie. Frühere Arbeiten zeigen, dass die Repository-Historie bei der Behebung von Einzeilen-Fehlern hilft, da der letzte Commit, der die fehlerhafte Zeile ändert, häufig der fehlereinführende ist. In diesem Artikel untersuchen wir, ob die Repository-Historie auch agentenbasierte APR-Systeme im großen Maßstab verbessern kann, insbesondere bei komplexen Multi-Hunk-Fehlern. Wir stellen HAFixAgent vor, einen geschichtsbewussten Fehlerbehebungs-Agenten, der aus Blame-Informationen abgeleitete Repository-Heuristiken in seinen Reparaturzyklus einfließen lässt. Eine Vorstudie aller 854 realweltlichen Fehler aus Defects4J motiviert unser Design, indem sie zeigt, dass fehlerrelevante Historie sowohl weit verbreitet als auch stark konzentriert ist. Ein empirischer Vergleich von HAFixAgent mit zwei state-of-the-art Baseline-Systemen zeigt: (1) Wirksamkeit: HAFixAgent verbessert sich signifikant gegenüber der agentenbasierten Baseline (um 212,3 %) und der Multi-Hunk-Baseline (um 29,9 %). (2) Effizienz: Die Historie erhöht die Agentenschritte nicht signifikant und hält die Token-Kosten vergleichbar, mit deutlich niedrigeren medianen Kosten für komplexe Multi-File-Multi-Hunk-Fehler. (3) Praktikabilität: Die Kombination verschiedener historischer Heuristiken behebt mehr Fehler und bietet eine klare Kosten-Nutzen-Abwägung. HAFixAgent bietet ein praktisches Rezept für geschichtsbewusste agentenbasierte APR: Verankere den Agenten in der Versionskontrollhistorie, priorisiere diff-basierten historischen Kontext und integriere bei Bedarf komplementäre Heuristiken.
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