← Últimos artigos
💻 computer science

Beyond Resolved Rate: A Non-Functional Quality Study

Este estudo revela que, embora os modelos de IA mais recentes resolvam mais tarefas de codificação em nível de repositório do que as versões anteriores, eles não demonstram melhorias consistentes em métricas de qualidade não funcionais, tais como análise estática, complexidade de código ou uso de recursos, nas tarefas que ambas as gerações resolvem com sucesso.

Autores originais: Xin Sun, Daniel Ståhl, Kristian Sandahl, Christoph Kessler

Publicado 2026-07-22
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Xin Sun, Daniel Ståhl, Kristian Sandahl, Christoph Kessler

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine um mundo onde os computadores aprenderam a escrever código, atuando como incansáveis programadores juniores que podem corrigir bugs, construir funcionalidades e até refatorar projetos de software inteiros. Este é o reino dos Grandes Modelos de Linguagem (LLMs) na engenharia de software. Por muito tempo, a única maneira de julgarmos esses codificadores digitais era fazendo uma pergunta simples: "Eles corrigiram o bug?" Se o código passasse nos testes, recebia uma estrela de ouro. Isso é chamado de "corretude funcional". Mas só porque o motor de um carro liga não significa que os freios funcionem, que a pintura seja durável ou que a eficiência de combustível seja boa. No mundo real, o software precisa ser seguro, fácil de atualizar posteriormente e rápido o suficiente para não travar seu computador. Estas são as "qualidades não funcionais". A grande questão que os pesquisadores estão fazendo agora é: à medida que esses modelos de IA se tornam mais inteligentes e novos, eles estão apenas ficando melhores em corrigir o problema imediato ou também estão escrevendo códigos mais limpos, seguros e eficientes?

Este artigo, intitulado "Beyond Resolved Rate", mergulha exatamente nesse mistério. Os autores, uma equipe da Universidade de Linköping, na Suécia, decidiram parar de apenas contar quantos bugs a IA corrigiu e começar a inspecionar como ela os corrigiu. Eles trataram os modelos de IA como competidores em um concurso de culinária. Os juízes (os pesquisadores) deram-lhes uma tarefa específica: consertar uma receita quebrada (um bug em um projeto de software). Os modelos mais antigos eram os veteranos, e os modelos mais novos eram as estrelas em ascensão. O objetivo não era apenas ver quem conseguia servir um prato que tivesse um sabor correto (passasse nos testes), mas ver se os chefs mais novos estavam usando ingredientes melhores, criando menos desperdício e tornando a cozinha mais segura para o próximo cozinheiro.

Os pesquisadores configuraram um experimento rigoroso usando um benchmark popular chamado SWE-bench Lite, que contém tarefas de reparo de software do mundo real. Eles colocaram duas gerações de modelos um contra o outro de duas famílias diferentes: a família comercial "Claude" e a família de código aberto "DeepSeek". Eles pegaram os patches (as correções de código) gerados pelos modelos antigos e novos e os passaram por uma bateria de inspeções de alta tecnologia. Eles usaram ferramentas como CodeQL e CodeScene para escanear riscos de segurança, estruturas de código bagunçadas e problemas de manutenibilidade. Eles também cronometraram quanto tempo o código levava para rodar e mediram quanta memória ele devorava, tratando o computador como uma fera faminta que precisa ser alimentada de forma eficiente.

Os resultados foram um pouco de reviravolta no enredo. Os modelos mais novos, mais "inteligentes", definitivamente corrigiram mais bugs. Eles resolveram mais instâncias do que seus irmãos mais velhos, ganhando uma "taxa de resolução" mais alta. No entanto, quando os pesquisadores olharam para a qualidade do código para as tarefas que ambos os modelos conseguiram resolver, a história mudou. Os modelos mais novos não mostraram nenhuma melhoria consistente nas qualidades não funcionais. Na verdade, os dados sugeriram que os modelos mais novos eram tão propensos a introduzir "code smells", riscos de segurança ou soluços de desempenho quanto os mais antigos.

Especificamente, o estudo descobriu que, para as tarefas que ambos os modelos resolveram, os modelos mais novos não produziram um código significativamente mais limpo. As ferramentas de análise estática mostraram que o número de novos problemas introduzidos foi aproximadamente o mesmo para ambas as gerações. Em termos de desempenho, os modelos mais novos foram ligeiramente mais "gananciosos" com os recursos. Nos tarefas comuns, o modelo Claude mais novo usou cerca de 0,048 segundos a mais de tempo de CPU e aproximadamente 4,5 MiB a mais de memória de pico do que o antigo. O modelo DeepSeek mais novo usou cerca de 0,5 MiB a mais de memória. Embora esses números sejam pequenos, eles indicam que ficar melhor em corrigir o bug não significou automaticamente tornar-se melhor em escrever código eficiente.

Os autores também observaram o "sabor" do código. Eles verificaram se os modelos mais novos estavam evitando hábitos ruins específicos, como nomes de variáveis confusos ou imports bagunçados. Os resultados foram mistos e inconsistentes; às vezes o modelo mais novo era melhor em uma regra específica, às vezes o mais antigo era, mas não havia uma tendência clara de que a nova geração fosse universalmente superior em qualidade de código.

Em última análise, o artigo sugere que, embora os modelos de IA estejam ficando melhores no "o quê" (corrigir o bug), eles não estão necessariamente ficando melhores no "como" (escrever código de alta qualidade e manutenível) apenas pelo fato de serem mais novos. Os autores alertam que uma taxa de sucesso maior na correção de bugs não garante uma melhor engenharia de software no geral. Eles argumentam que precisamos olhar além da simples pontuação de passar/falhar e começar a medir os custos ocultos do código gerado por IA, como riscos de segurança e dores de cabeça de manutenção, para entender verdadeiramente como esses assistentes digitais estão performando no mundo real.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →