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
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
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.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.