Paper científico · Software
Atualizar códigos antigos com IA pode estragar o que já funciona
Pesquisadores testaram cinco modelos de inteligência artificial na tarefa de atualizar arquivos de programas antigos em PHP para uma versão mais nova. O resultado mostrou que as ferramentas muitas vezes quebram o código em vez de melhorá-lo.
O problema
Imagine que você tem uma receita de bolo antiga escrita à mão que funciona perfeitamente há anos. Pedir para a inteligência artificial (IA) reescrever essa receita usando termos modernos parece uma ótima ideia para ganhar tempo. No entanto, o texto final pode parecer bonito e atualizado, mas o bolo pode solar na hora de ir ao forno. O estudo investigou se confiar cegamente na IA para modernizar códigos de computador realmente traz vantagens ou se gera mais problemas do que soluções.
O que os pesquisadores fizeram
Os autores do estudo pegaram cem arquivos de programas criados em 2014 usando a linguagem PHP. Eles entregaram esses arquivos para cinco modelos diferentes de inteligência artificial com um pedido simples: atualizar o código para a versão mais recente do PHP, chamada PHP 8.3, sem estragar o que já funcionava. As ferramentas receberam apenas o arquivo isolado, sem ver o restante do sistema ou receber avisos de erro. Os pesquisadores então testaram cada arquivo gerado usando 630 verificações automáticas e compararam o resultado com o código original e com uma ferramenta tradicional baseada em regras fixas.
O que descobriram
O resultado surpreendeu porque deixar o código exatamente como estava se mostrou uma escolha muito mais segura. Antes de qualquer alteração, 83 arquivos passavam em todos os testes de funcionamento. A melhor inteligência artificial testada conseguiu deixar apenas 59 arquivos funcionando corretamente após a atualização. Cada modelo de IA quebrou entre 32 e 51 arquivos que funcionavam perfeitamente antes da mudança. Grande parte desse estrago aconteceu em arquivos que nem precisavam de modificação real para rodar na nova versão.
Por que isso importa
Muitas empresas e profissionais confiam na IA para atualizar sistemas antigos de forma rápida. O estudo demonstra que medir o sucesso de uma IA apenas contando quantas linhas ela modificou pode ser enganoso. Um código moderno que não roda na prática é inútil para o negócio. A pesquisa lembra que ferramentas automáticas precisam ser avaliadas pela capacidade de manter o sistema funcionando, e não apenas pela quantidade de termos novos que conseguem inserir no texto.
Limites e o que falta
O teste avaliou apenas arquivos isolados e considerou apenas a primeira resposta gerada pela IA, sem permitir correções em etapas. Além disso, o experimento focou em cem arquivos específicos de um sistema popular de sites, o WordPress. Isso significa que os números exatos refletem essa situação específica e não necessariamente todos os programas do mundo. O trabalho também não testou o uso de agentes avançados que corrigem os próprios erros após ler mensagens do sistema.
Na prática
Para donos de pequenos negócios e equipes de tecnologia, a pesquisa serve como um alerta importante antes de usar IA em sistemas existentes. Copiar um programa antigo para dentro de um chat de inteligência artificial e pedir uma atualização completa pode introduzir erros graves que impedem o sistema de carregar. Qualquer código gerado por IA precisa passar por testes rigorosos e revisões humanas antes de ir para o ambiente de produção de uma empresa.
termos explicados
- código legado (legacy code)
- Sistemas de computador ou programas antigos que continuam funcionando, mas que usam tecnologias ultrapassadas.
- inferência (inference)
- O momento em que a inteligência artificial processa um pedido e gera uma resposta baseada no que aprendeu.
- PHP
- Uma linguagem de programação muito usada para criar sites e sistemas na internet.
- regressão (regression)
- Um erro que faz com que uma parte do programa que funcionava perfeitamente pare de funcionar após uma alteração.
- tipo de dados (type declaration)
- Regra que define se uma informação dentro do programa deve ser um número, um texto ou outro formato específico.
Quer ler o artigo científico completo (em inglês)?
Explicação escrita com apoio de IA a partir do texto completo do paper. Resultados científicos são preliminares até serem confirmados por outros grupos.