arXiv cs.AI精选71

代码仓库中用于问题定位的语义导航

Semantic Navigation for Issue Localization in Code Repository

· 18天前

精选理由

展示LLM如何更准定位代码仓库问题根因

AI 摘要

仓库级问题定位旨在识别并排序与解决所报告问题相关的文件和函数。LLM 代理以迭代方式处理这一任务:它们识别一组潜在相关的位置,检查相应代码,并随着获得新证据而修正对这些候选项的判断。然而,现有环境对这一循环的支持有限:代理必须搜索未解析的关系目标,从原始源代码中重构实体语义,并在缺乏证据基础的情况下修正候选项。为解决这些限制,我们提出 SemNav,这是一个利用确定性检索来播种广泛候选集,并使用 LLM 代理持续细化该候选集的框架,从而将初始覆盖率与证据引导的修正相结合。SemNav 通过三个关键组件支持这一过程。Semantic Navigation Graph 通过语言服务器按需解析程序关系,支持跨文件直接导航到相关实体。问题条件化的 Semantic Cards 为每个实体在问题中的角色及其相关性提供紧凑且基于源代码的解释。持久化的 Candidate Workspace 记录每个候选项及其证据基础,从而支持有根据的验证、修正和排序。在 SWE-bench Lite 和 PLocBench 上,SemNav 优于现有基线,在使用 Gemma 4B 时将 File Hit@10 从 68.33\% 提升到 82.67\%。组件消融和轨迹分析支持三个组件的互补作用,而与完整源代码阅读相比,Semantic Cards 将工作上下文负载降低了 48.2\%。SemNav 还在 SWE-Explore 的全部七项证据质量指标上排名第一,并将下游问题解决率从 44.00\% 提升到 52.33\%。

查看原文(arXiv cs.AI)