Apesar dos avanços notáveis da IA na geração de trechos de código, um novo estudo do MIT revela barreiras significativas à concretização de uma engenharia de software verdadeiramente autónoma.
A investigação, intitulada "Desafios e Caminhos para a IA na Engenharia de Software", foi conduzida por uma equipa liderada pelo Professor Armando Solar-Lezama do MIT e pelo primeiro autor Alex Gu. Publicado a 16 de julho de 2025, o estudo será apresentado na International Conference on Machine Learning (ICML 2025), em Vancouver.
"Toda a gente fala sobre como já não precisamos de programadores e sobre toda esta automação agora disponível", afirma Solar-Lezama. "Por um lado, a área fez progressos extraordinários. Temos ferramentas muito mais poderosas do que qualquer coisa que já vimos antes. Mas ainda há um longo caminho a percorrer até alcançarmos a verdadeira promessa da automação que esperamos."
Os investigadores defendem que os sistemas de IA atuais são excelentes a gerar pequenas funções de código, mas têm dificuldades com tarefas mais amplas de engenharia de software, como refatoração em grande escala, migração de código e depuração de sistemas complexos. Benchmarks populares como o SWE-Bench apenas testam correções para problemas do GitHub que envolvem algumas centenas de linhas de código, não conseguindo captar cenários reais em que milhões de linhas podem precisar de otimização ou migração de sistemas legados.
A comunicação entre humanos e máquinas representa outro desafio significativo. Gu descreve a interação atual como "uma linha de comunicação muito ténue", onde as ferramentas de IA frequentemente produzem ficheiros grandes e pouco estruturados com testes superficiais, faltando-lhes a capacidade de utilizar eficazmente ferramentas de depuração e analisadores estáticos dos quais os programadores humanos dependem.
Em vez de proporem uma solução única, os investigadores apelam a esforços à escala da comunidade: desenvolvimento de conjuntos de dados mais ricos que reflitam como os programadores escrevem e refatoram código ao longo do tempo; criação de suites de avaliação partilhadas que meçam a qualidade da refatoração e a longevidade das correções de bugs; e construção de ferramentas transparentes que revelem a incerteza dos modelos e convidem à orientação humana.
"O software já sustenta as finanças, os transportes, a saúde e inúmeros outros sistemas críticos", salienta Solar-Lezama. A equipa de investigação antevê um futuro em que a IA assume tarefas rotineiras de desenvolvimento, permitindo que os engenheiros humanos se concentrem em decisões de design de alto nível e em compromissos complexos que exigem julgamento humano.