BLAgent: Agentic RAG for File-Level Bug Localization
作者: Md Afif Al Mamun, Gias Uddin
分类: cs.SE, cs.AI
发布日期: 2026-05-18
备注: Under review at the ACM Transactions on Software Engineering and Methodology
💡 一句话要点
BLAgent:面向文件级缺陷定位的Agentic RAG框架
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 缺陷定位 Agentic RAG 代码结构感知 双视角查询 自动程序修复 大型语言模型 软件维护
📋 核心要点
- 现有基于LLM的程序修复系统在缺陷定位方面存在瓶颈,尤其是在文件级别,静态RAG方法缺乏推理能力。
- BLAgent提出一种agentic RAG框架,通过代码结构感知编码、双视角查询转换和两阶段agentic reranking来提升缺陷定位准确性。
- 实验表明,BLAgent在SWE-bench Lite上取得了显著的Top-1准确率提升,并降低了计算成本,同时提高了APR的修复成功率。
📝 摘要(中文)
尽管基于大型语言模型(LLM)的修复系统取得了进展,但缺陷定位仍然是下游软件维护任务(包括根本原因分析、分类和自动程序修复(APR))的关键瓶颈。文件级缺陷定位在分层管道中尤其重要,因为错误会传播到语句级定位或补丁生成等下游阶段。检索增强生成(RAG)为LLM在存储库上下文中进行 grounding 提供了一个有希望的方向,但现有的RAG管道依赖于静态检索,缺乏准确识别错误代码所需的推理能力。本文提出了BLAgent,一种新颖的agentic RAG框架,用于文件级缺陷定位,它集成了三个关键思想:(i)具有路径增强的基于AST的chunking的代码结构感知存储库编码,(ii)捕获结构和行为信号的双视角查询转换,以及(iii)结合符号检查和证据 grounding 推理的两阶段agentic reranking。与先前的基于图或多跳agentic方法不同,BLAgent在紧凑的候选集上执行有界推理,从而平衡了准确性和成本。在SWE-bench Lite上,BLAgent使用开源模型实现了超过78%的Top-1准确率,使用闭源模型实现了超过86%的准确率,同时比使用相同模型的最强基线便宜超过18倍。当集成到APR框架中时,它将端到端修复成功率提高了20%以上。
🔬 方法详解
问题定义:论文旨在解决文件级别的缺陷定位问题。现有方法,特别是基于静态检索的RAG方法,无法充分利用代码结构信息,缺乏有效的推理能力,导致定位精度不高,且计算成本较高。
核心思路:BLAgent的核心思路是利用agentic RAG框架,结合代码结构感知的存储库编码、双视角查询转换和两阶段agentic reranking,从而更准确、更高效地定位缺陷文件。通过引入agent进行推理和决策,克服了传统RAG方法的局限性。
技术框架:BLAgent框架包含以下主要模块:1) 代码结构感知存储库编码:使用路径增强的基于AST的chunking方法对代码存储库进行编码,以保留代码的结构信息。2) 双视角查询转换:从结构和行为两个角度转换查询,以更全面地捕获缺陷的特征。3) 两阶段Agentic Reranking:首先使用符号检查快速过滤候选文件,然后使用证据 grounding 推理对剩余候选文件进行排序。
关键创新:BLAgent的关键创新在于其agentic RAG框架,该框架通过结合代码结构感知编码、双视角查询转换和两阶段agentic reranking,实现了更准确、更高效的缺陷定位。与传统的静态RAG方法相比,BLAgent能够进行更深入的推理和决策。与先前的图或多跳agentic方法相比,BLAgent在紧凑的候选集上执行有界推理,从而平衡了准确性和成本。
关键设计:在代码结构感知存储库编码中,使用了路径增强的AST chunking方法,具体实现细节未知。在双视角查询转换中,如何提取结构和行为特征的具体方法未知。在两阶段agentic reranking中,符号检查和证据 grounding 推理的具体实现细节未知,agent的具体实现方式也未知。
📊 实验亮点
BLAgent在SWE-bench Lite上取得了显著的性能提升。使用开源模型时,Top-1准确率超过78%,使用闭源模型时超过86%。同时,BLAgent的计算成本比最强的基线低18倍以上。将BLAgent集成到APR框架中,端到端修复成功率提高了20%以上。
🎯 应用场景
BLAgent可应用于软件维护的多个领域,包括缺陷根源分析、缺陷分类和自动程序修复。该研究成果能够提高软件开发和维护的效率,降低软件缺陷带来的风险,并为自动程序修复技术提供更准确的缺陷定位信息,从而提升修复成功率。
📄 摘要(原文)
Bug localization remains a key bottleneck in downstream software maintenance tasks, including root cause analysis, triage, and automated program repair (APR), despite recent advances in large language model (LLM)-based repair systems. File-level bug localization is especially critical in hierarchical pipelines, where errors can propagate to downstream stages such as statement-level localization or patch generation. While Retrieval-Augmented Generation (RAG) offers a promising direction for grounding LLMs in repository context, existing RAG pipelines rely on static retrieval and lack the reasoning needed to identify faulty code accurately. In this work, we present BLAgent, a novel agentic RAG framework for file-level bug localization that integrates three key ideas: (i) code structure-aware repository encoding with path-augmented AST-based chunking, (ii) dual-perspective query transformation capturing both structural and behavioral signals, and (iii) two-phase agentic reranking combining symbolic inspection with evidence-grounded reasoning. Unlike prior graph-based or multi-hop agentic approaches, BLAgent performs bounded reasoning over a compact candidate set, balancing accuracy and cost. On SWE-bench Lite, BLAgent attains over 78% Top-1 accuracy with open-source models and over 86% with a closed-source model, while being over 18x cheaper than the strongest baseline using the same model. When integrated into an APR framework, it improves end-to-end repair success by over 20%.