CuraLoc localiza bugs no código com 59,3% mais precisão que os concorrentes e gasta 10 vezes menos tokens

Uma equipe de pesquisadores apresentou o CuraLoc, um sistema que, a partir da descrição de um bug, localiza a função ou classe exata que precisa ser corrigida em um repositório de código grande. Antes, os modelos de linguagem tinham que "vagar" pelo código passo a passo: abrir um arquivo, examinar o conteúdo, decidir para onde ir depois, e repetir isso dezenas de vezes — um processo caro e lento. O CuraLoc substitui isso por um único plano elaborado com antecedência. O sistema primeiro seleciona os arquivos adequados e, em seguida, com base em descrições curtas das funções (sem o código em si), decide com quais símbolos começar e quais relações verificar — quem os chama, quem eles chamam, quais sobrescritas existem. Só depois disso o trecho de código necessário é realmente carregado, e na decisão final o modelo classifica os locais candidatos para a correção. No teste SWE-bench Verified com o GPT-5.2, a precisão para acertar o local exato do bug subiu de 53,8% (método LocAgent) para 59,3% com o CuraLoc, enquanto o consumo de tokens caiu 90,3%. • No SWE-bench Lite, a precisão do top-5 de previsões chegou a 83,8%, contra 78,3% do concorrente RepoSearcher • O CuraLoc também superou o Agentless (39,6%) e o RepoSearcher (56,2%) em precisão de top-1 • O método funciona tanto com o GPT-5.2 quanto com o novo GPT-6 Astra

Processado por IA de arXiv cs.LG; editado por Hamidun News
CuraLoc localiza bugs no código com 59,3% mais precisão que os concorrentes e gasta 10 vezes menos tokens
Fonte: arXiv cs.LG. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalarXiv cs.LG ↗
Editor-chefe
Dado-chave #1No SWE-bench Lite, a precisão do top-5 de previsões chegou a 83,8%, contra 78,3% do concorrente RepoSearcher
Dado-chave #2O CuraLoc também superou o Agentless (39,6%) e o RepoSearcher (56,2%) em precisão de top-1
Dado-chave #3O método funciona tanto com o GPT-5.2 quanto com o novo GPT-6 Astra

Quando chega uma reclamação de bug, o difícil não é corrigi-lo, mas encontrá-lo

Quando uma reclamação de bug chega ao código, o primeiro problema não é corrigir o erro, mas entender exatamente onde ele está escondido no repositório. O relatório de bug descreve um sintoma ("ao inserir X, o sistema retorna um Y incorreto"), mas não indica o arquivo nem a função que precisam ser alterados. Os autores de um novo estudo propõem uma forma de localizar esses pontos automaticamente, com mais precisão e a um custo menor do que as ferramentas existentes.

Por que as abordagens antigas eram caras

A maioria dos sistemas de localização de bugs funciona como agentes: o modelo observa o código, decide para onde "ir" a seguir — para a função que o chama, para a classe-mãe, para um método vizinho — e assim vai reduzindo gradualmente o círculo de suspeitos. Isso é flexível, mas cada passo é uma consulta separada ao modelo, o que significa dezenas de chamadas e um gasto enorme de tokens para uma única tarefa.

O CuraLoc testa uma ideia diferente: e se toda a rota de inspeção do código fosse planejada com antecedência, em uma única decisão, em vez de ser decidida novamente a cada passo?

Como o CuraLoc funciona

O sistema atua em três etapas, aprofundando-se cada vez mais no código:

  • Seleção de arquivos. O modelo examina a estrutura do repositório e, a partir de três ângulos diferentes — quem detém a lógica, quem a executa, quem a verifica — propõe uma lista de arquivos candidatos, com no máximo 15.
  • Seleção de símbolos e ações. Dos arquivos selecionados, o modelo recebe não o código em si, mas descrições compactas de funções e classes: assinatura, papel na estrutura, um resumo breve do comportamento (extraído da documentação ou gerado por um modelo auxiliar menor). Com base nisso, o modelo decide em uma única etapa com quais funções começar a inspeção, qual relação verificar em cada uma (chamadas, herança, sobrescritas) e formula hipóteses sobre onde pode estar a correção.
  • Obtenção do código e classificação. Só agora o sistema carrega automaticamente — sem a participação do modelo — o código-fonte real dos trechos necessários, e em uma consulta final o modelo classifica até dez candidatos para a correção, usando tanto o código quanto as hipóteses anteriores.

A principal economia está no fato de o modelo decidir "o que inspecionar" apenas uma vez, de forma compacta, em vez de fazer isso passo a passo após cada novo trecho de código.

O que os testes mostraram

O método foi testado em dois conjuntos de bugs reais de projetos de código aberto — SWE-bench Lite (274 tarefas) e SWE-bench Verified (454 tarefas) —, comparado com três métodos existentes: LocAgent, RepoSearcher e Agentless, usando o modelo GPT-5.2.

  • No SWE-bench Verified, a precisão em acertar o local exato da correção (métrica Func@1) subiu de 53,8% no LocAgent para 59,3% no CuraLoc, com um gasto de tokens 90,3% menor.
  • O CuraLoc também superou o RepoSearcher (56,2%) e o Agentless (39,6%) na mesma métrica.
  • No SWE-bench Lite, o CuraLoc alcançou 83,8% de precisão no top-5 de previsões, um ganho relativo de 15% em relação ao Agentless.
  • O método também foi testado no novo modelo GPT-6 Astra, e os resultados permaneceram consistentemente altos, o que mostra que a abordagem não depende de um modelo específico.

Os autores também investigaram separadamente o que exatamente gera esse ganho de precisão. Descobriu-se que apenas encontrar os arquivos certos não é o fator decisivo: mesmo quando o sistema escolhia corretamente os arquivos, se os símbolos dentro deles fossem classificados em ordem formal (e não de acordo com o significado do bug), a precisão caía de 67,2% para 42,3%. Isso significa que a principal vantagem do CuraLoc está na seleção criteriosa de quais relações de código verificar, e não em abranger mais arquivos.

O que isso significa na prática

Para equipes que trabalham em reparo automático de código ou que constroem agentes de IA para desenvolvimento, o CuraLoc demonstra uma alternativa viável aos caros agentes passo a passo: é possível substituir dezenas de consultas iterativas por um único plano de inspeção bem elaborado e obter precisão igual ou até superior, com um gasto de tokens muitas vezes menor. Isso é especialmente importante para empresas que querem incorporar a busca automática de bugs em pipelines de CI/CD, onde o custo e a velocidade de cada consulta são críticos.

Perguntas frequentes sobre a notícia

Quando chega uma reclamação de bug, o difícil não é corrigi-lo, mas encontrá-lo?

Quando uma reclamação de bug chega ao código, o primeiro problema não é corrigir o erro, mas entender exatamente onde ele está escondido no repositório. O relatório de bug descreve um sintoma ("ao inserir X, o sistema retorna um Y incorreto"), mas não indica o arquivo nem a função que precisam ser alterados. Os autores de um novo estudo propõem uma forma de localizar esses pontos automaticamente, com mais precisão e a um custo menor do que as ferramentas existentes.

Por que as abordagens antigas eram caras?

A maioria dos sistemas de localização de bugs funciona como agentes: o modelo observa o código, decide para onde "ir" a seguir — para a função que o chama, para a classe-mãe, para um método vizinho — e assim vai reduzindo gradualmente o círculo de suspeitos. Isso é flexível, mas cada passo é uma consulta separada ao modelo, o que significa dezenas de chamadas e um gasto enorme de tokens para uma única tarefa. O CuraLoc testa uma ideia diferente: e se toda a rota de inspeção do código fosse planejada com antecedência, em uma única decisão, em vez de ser decidida novamente a

Como o CuraLoc funciona?

O sistema atua em três etapas, aprofundando-se cada vez mais no código: Seleção de arquivos. O modelo examina a estrutura do repositório e, a partir de três ângulos diferentes — quem detém a lógica, quem a executa, quem a verifica — propõe uma lista de arquivos candidatos, com no máximo 15. Seleção de símbolos e ações. Dos arquivos selecionados, o modelo recebe não o código em si, mas descrições compactas de funções e classes: assinatura, papel na estrutura, um resumo breve do comportamento (extraído da documentação ou gerado por um modelo auxiliar menor). Com base nisso, o

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Autonomous AI Execution · Nomad Agent

Delegate Deep Research, Coding & Multi-Step Workflows to Nomad Agent

Deploy autonomous task execution with Nomad Agent (agent.nomadnet.ai) — automated web research, data synthesis, code generation, and MCP tool orchestration.

Launch Nomad Agent →Nomad AI Workspace
O que você acha?
Carregando comentários…