Pular para o conteúdo principal
Ciência

Inteligência artificial pode tornar códigos de programação mais fáceis de compreender

Tese de doutorado da UFU é premiada no Congresso Brasileiro de Software por combinar IA e ferramentas automatizadas para revisar e reescrever códigos

Publicado em 09/10/2026 às 17:21 - Atualizado em 09/10/2026 às 17:32

A edição deste ano do evento também marcou os 40 anos do Simpósio Brasileiro de Engenharia de Software (Sbes) (Foto: CBSoft)

Uma tese de doutorado que investiga formas de melhorar a legibilidade de códigos de programação, com o auxílio de ferramentas automáticas e modelos de inteligência artificial, foi uma das três vencedoras do Concurso de Teses e Dissertações em Engenharia de Software, realizado durante o Congresso Brasileiro de Software (CBSoft) deste ano.

A pesquisa foi desenvolvida pelo egresso do Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de Uberlândia (Ppgco/UFU) Carlos Eduardo Carvalho Dantas, e orientada pelo professor Marcelo de Almeida Maia, da Faculdade de Computação (Facom/UFU).

O evento, considerado o mais importante encontro científico da América Latina sobre a temática, ocorreu entre os dias 8 e 11 de setembro no Instituto de Matemática, Estatística e Ciência da Computação da Universidade de São Paulo (IME/USP).

Como tornar um código mais legível?

Os modelos de linguagem de grande escala, conhecidos como LLMs, estão por trás de ferramentas como ChatGPT, Gemini e DeepSeek. Esses sistemas de inteligência artificial são treinados com uma quantidade enorme de textos e outros conteúdos para aprender padrões e produzir novas respostas a partir deles. 

“Hoje conseguimos pedir a uma inteligência artificial que escreva um software, explique um código que outra pessoa escreveu ou até sugira maneiras de melhorá-lo”, afirma Dantas. Em sua tese, o pesquisador avalia o desempenho desses modelos de linguagem ao produzir códigos de programação e reorganizar códigos já existentes, buscando torná-los mais legíveis.

Para isso, o cientista desenvolveu um processo que combina ferramentas de análise estática (ASATs) com os sistemas de IA: “a ferramenta de análise estática encontra um problema de legibilidade, depois o informa para a Inteligência Artificial, que por sua vez recebe essa informação junto com o código-fonte problemático, e por fim, ela tenta reescrever aquele trecho corrigindo o problema”. Entre os sistemas de IA avaliados na pesquisa, os modelos focados em geração de códigos, como o DeepSeek Coder, tiveram um melhor desempenho.

A pesquisa também procurou avaliar o que os próprios desenvolvedores consideram códigos mais legíveis, a partir de projetos reais da plataforma GitHub. Entre as mudanças feitas pelos usuários do site estão a mudança de nome de variáveis e a eliminação de trechos desnecessários. “A tese não trata de legibilidade apenas como aquilo que uma ferramenta consegue medir, mas também considera aquilo que os próprios desenvolvedores entendem e praticam”, completa Dantas.

O cientista explica que, apesar de sempre associarmos a figura de desenvolvedor como alguém que escreve o código, um dos trabalhos mais cruciais na programação é justamente o de ler códigos que já existem e tentar entendê-los: “quando alguém precisa corrigir um problema ou acrescentar uma nova funcionalidade, primeiro precisa entender o que outras pessoas fizeram antes. Um código confuso torna esse trabalho mais difícil, demorado e sujeito a introduzir novos erros. É por isso que legibilidade é tão importante para a Engenharia de Software”.

A partir dos resultados da pesquisa, Dantas indica que o próximo problema a ser investigado é se um código mais legível continua atendendo ao que foi demandado após ser modificado pelos sistemas de Inteligência Artificial.

O orientador da pesquisa também destaca a necessidade da leitura e revisão por humanos de códigos gerados por IA. “Alguns predizem que os desenvolvedores perderão completamente sua função atual no futuro. O fato é que a comunicação humano-máquina deve continuar existindo, e que ruídos nesta comunicação provavelmente também continuarão existindo e abrindo espaço para pesquisas sobre formas de melhores e auxiliar neste processo”, explica Maia.

O trabalho completo dos pesquisadores está disponível no Repositório Institucional da UFU.

Facom no CBSoft 

Em 2021, uma tese de doutorado, também orientada por Maia, de autoria de Rodrigo Fernandes Gomes da Silva, venceu o Concurso de Teses e Dissertações em Engenharia de Software. O trabalho desenvolveu o mecanismo Crowd Knowledge Answer Generator (Crokage), capaz de encontrar e filtrar respostas para questões de programação na plataforma Stack Overflow.

A colaboração entre pesquisadores da Facom e do Instituto Federal do Triângulo Mineiro (IFTM), onde Dantas atua como docente, também resultou em premiações no CBSoft de 2025. Na edição, três trabalhos de estudantes do instituto foram premiados em pesquisas orientadas pelo professor, em parceria com Maia.

A parceria de longa data entre Dantas e Maia começou no mestrado e continuou durante o doutorado. O egresso destaca o equilíbrio entre autonomia e orientação em sua relação com o professor: “isso foi fundamental não apenas para a tese, mas para que eu desenvolvesse minha própria identidade como pesquisador”. Maia também reconhece a sintonia entre os interesses e as formas de trabalho dos dois e associa a qualidade da tese à parceria e à resiliência de Dantas.


Política de uso: A reprodução de textos, fotografias e outros conteúdos publicados pela Diretoria de Comunicação Social da Universidade Federal de Uberlândia (Dirco/UFU) é livre; porém, solicitamos que seja(m) citado(s) o(s) autor(es) e o Portal Comunica UFU. 

Palavras-chave: Ciência Facom engenharia de software cbsoft inteligência artificial modelos de linguagem

A11y