ChatPaper.aiChatPaper

HAFixAgent : Agent de réparation automatisée de programmes avec prise en compte de l'historique

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

La réparation automatisée de programmes (APR) s'oriente récemment vers les grands modèles de langage et les systèmes à base d'agents, mais la plupart des systèmes s'appuient sur un contexte instantané local, négligeant l'historique du dépôt. Les travaux antérieurs montrent que l'historique du dépôt aide à réparer les bogues d'une seule ligne, car le dernier commit modifiant la ligne boguée est souvent celui qui a introduit le bogue. Dans cet article, nous étudions si l'historique du dépôt peut également améliorer les systèmes d'APR agentiques à grande échelle, en particulier pour les bogues complexes multi-fragments. Nous présentons HAFixAgent, un agent de correction de bogues sensible à l'historique qui intègre des heuristiques dérivées du blame dans sa boucle de réparation. Une étude préliminaire de l'ensemble des 854 bogues réels de Defects4J motive notre conception, montrant que l'historique pertinent est à la fois largement disponible et très concentré. La comparaison empirique de HAFixAgent avec deux étalons de pointe montre : (1) Efficacité : HAFixAgent s'améliore significativement par rapport à l'étalon à base d'agents (de 212,3 %) et à l'étalon multi-fragments (de 29,9 %). (2) Efficience : l'historique n'augmente pas significativement les étapes de l'agent et maintient des coûts en tokens comparables, avec des coûts médians nettement inférieurs pour les bogues complexes multi-fichiers multi-fragments. (3) Practicalité : la combinaison de différentes heuristiques historiques répare plus de bogues, offrant un compromis coût-bénéfice clair. HAFixAgent propose une approche pratique pour l'APR agentique sensible à l'historique : ancrer l'agent dans l'historique de contrôle de version, prioriser le contexte historique basé sur les diff, et intégrer des heuristiques complémentaires si nécessaire.
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