
LLMs geram 63% mais 'code smells' que humanos, diz estudo
Especialista em LLMs, AI Agents e Infraestrutura de IA

Especialista em LLMs, AI Agents e Infraestrutura de IA
Estudo aponta que códigos gerados por LLMs apresentam 63,34% mais 'code smells' que soluções humanas. Padrões como 'Long Method' e 'Feature Envy' afetam a eficiência e segurança do software. Ferramentas automatizadas e melhores práticas podem mitigar esses problemas.
'Code smells' são padrões recorrentes em códigos que, embora não causem erros imediatos, indicam problemas estruturais que podem comprometer sua qualidade no longo prazo. Exemplos incluem métodos longos ('Long Method'), classes sobrecarregadas de responsabilidades ('God Class') e dependências excessivas de variáveis globais. Esses problemas afetam manutenibilidade, legibilidade e segurança do software.
Com o avanço dos Large Language Models (LLMs), como GPT-4, Codex e Falcon, a geração de código automatizada tornou-se uma prática comum. No entanto, estudos recentes mostram que os códigos gerados por LLMs apresentam, em média, 63,34% mais 'code smells' em relação a soluções humanas. Isso coloca em evidência a necessidade de monitorar e mitigar esses problemas para garantir software eficiente e seguro.
Pesquisadores classificaram os 'code smells' mais comuns encontrados em códigos gerados por LLMs em nove categorias principais:
Esses padrões podem ser detectados com ferramentas específicas que analisam a estrutura e os componentes do código gerado.
Códigos com 'code smells' são mais difíceis de entender, testar e manter. Isso pode levar ao aumento do tempo de desenvolvimento e à dificuldade de escalar projetos. Além disso, códigos mais complexos consomem mais recursos computacionais, reduzindo a eficiência geral.
'Code smells' também estão associados a vulnerabilidades de segurança. Por exemplo:
Empresas que utilizam LLMs para geração de código podem enfrentar custos significativos com manutenção e suporte técnico devido à proliferação de 'code smells'. Isso se torna especialmente relevante em projetos de grande escala, onde pequenas falhas estruturais podem gerar efeitos cascata.
Para reduzir a ocorrência de 'code smells' em códigos gerados por LLMs, os especialistas sugerem:
Ferramentas de análise automatizada:
Conjuntos de dados de alta qualidade:
Práticas de revisão de código:
Programação defensiva:
Atualização contínua dos LLMs:
A análise de 'code smells' em LLMs é essencial para otimizar a qualidade do software gerado automaticamente. Embora os LLMs sejam ferramentas poderosas, a alta incidência de padrões problemáticos em seus códigos destaca a necessidade de supervisão humana e de ferramentas eficazes de análise.
A integração de práticas sólidas de desenvolvimento, aliada ao avanço contínuo nas capacidades dos LLMs, pode não apenas minimizar os problemas atuais, mas também estabelecer novos padrões de qualidade para o software gerado por IA. A evolução dos modelos, como o esperado GPT-5 e o Gemini 2.5, poderá trazer avanços significativos nessa área.
'Code smells' são padrões que indicam problemas estruturais em códigos gerados por LLMs, como métodos longos ou uso excessivo de variáveis globais, que podem comprometer a qualidade do software.
'Code smells', como dependência de variáveis globais e alta complexidade condicional, podem introduzir vulnerabilidades que facilitam ataques ou falhas em sistemas.
Ferramentas como SonarQube, revisão de código, treinamento com datasets de alta qualidade e práticas de programação defensiva ajudam a reduzir a ocorrência de 'code smells'.
💡 Dica Pro: Utilize prompts especializados que orientem os LLMs a aderir a boas práticas de codificação, como a divisão de funções longas e a redução de complexidade condicional. Isso pode ser feito ao estruturar instruções claras sobre a organização e modularidade do código esperado.