摘要
arXiv:2505.07849v1 类型: cross
摘要: 软件问题定位是指识别与自然语言问题描述(例如,错误报告、功能请求)相关的精确代码位置(文件、类或函数)的任务,这是软件开发中一个关键但耗时的过程。虽然最近的基于大语言模型的自主方法显示出潜力,但由于复杂的多步推理以及依赖闭源大语言模型,它们往往会引入显著的延迟和成本。与此相反,传统的代码排名模型,通常优化用于查询到代码或代码到代码的检索,难以处理问题定位查询中的冗长和描述失败的特性。为了弥合这一差距,我们提出了SweRank,一种高效的软件问题定位检索和重排序框架。为了便于训练,我们从公共GitHub存储库中构建了SweLoc数据集,该数据集包含真实的Issue描述与其相应的代码修改配对。在SWE-Bench-Lite和LocBench上的实验证明,SweRank达到了最先进的性能,优于之前的排名模型以及使用闭源LLM如Claude-3.5的昂贵的自主系统。此外,我们展示了SweLoc在增强各种现有的检索器和重排序器模型以提高问题定位性能方面的实用性,确立了该数据集作为社区宝贵资源的地位。