SweRank: Localização de Problemas em Software com Classificação de Código
SweRank: Software Issue Localization with Code Ranking
May 7, 2025
Autores: Revanth Gangi Reddy, Tarun Suresh, JaeHyeok Doo, Ye Liu, Xuan Phi Nguyen, Yingbo Zhou, Semih Yavuz, Caiming Xiong, Heng Ji, Shafiq Joty
cs.AI
Resumo
A localização de problemas de software, a tarefa de identificar as localizações precisas do código (arquivos, classes ou funções) relevantes para uma descrição de problema em linguagem natural (por exemplo, relatório de bug, solicitação de recurso), é um aspecto crítico, porém demorado, do desenvolvimento de software. Embora abordagens recentes baseadas em LLMs (Modelos de Linguagem de Grande Escala) demonstrem potencial, elas frequentemente acarretam latência e custo significativos devido ao raciocínio complexo em múltiplas etapas e à dependência de LLMs de código fechado. Alternativamente, modelos tradicionais de classificação de código, geralmente otimizados para recuperação de consulta-para-código ou código-para-código, lutam com a natureza verbosa e descritiva de falhas das consultas de localização de problemas. Para preencher essa lacuna, introduzimos o SweRank, uma estrutura eficiente e eficaz de recuperação e reclassificação para localização de problemas de software. Para facilitar o treinamento, construímos o SweLoc, um conjunto de dados em larga escala extraído de repositórios públicos do GitHub, contendo descrições de problemas do mundo real emparelhadas com as modificações de código correspondentes. Resultados empíricos no SWE-Bench-Lite e LocBench mostram que o SweRank alcança desempenho de ponta, superando tanto modelos de classificação anteriores quanto sistemas baseados em agentes caros que utilizam LLMs de código fechado, como o Claude-3.5. Além disso, demonstramos a utilidade do SweLoc em aprimorar vários modelos existentes de recuperação e reclassificação para localização de problemas, estabelecendo o conjunto de dados como um recurso valioso para a comunidade.
English
Software issue localization, the task of identifying the precise code
locations (files, classes, or functions) relevant to a natural language issue
description (e.g., bug report, feature request), is a critical yet
time-consuming aspect of software development. While recent LLM-based agentic
approaches demonstrate promise, they often incur significant latency and cost
due to complex multi-step reasoning and relying on closed-source LLMs.
Alternatively, traditional code ranking models, typically optimized for
query-to-code or code-to-code retrieval, struggle with the verbose and
failure-descriptive nature of issue localization queries. To bridge this gap,
we introduce SweRank, an efficient and effective retrieve-and-rerank framework
for software issue localization. To facilitate training, we construct SweLoc, a
large-scale dataset curated from public GitHub repositories, featuring
real-world issue descriptions paired with corresponding code modifications.
Empirical results on SWE-Bench-Lite and LocBench show that SweRank achieves
state-of-the-art performance, outperforming both prior ranking models and
costly agent-based systems using closed-source LLMs like Claude-3.5. Further,
we demonstrate SweLoc's utility in enhancing various existing retriever and
reranker models for issue localization, establishing the dataset as a valuable
resource for the community.