Use este identificador para citar ou linkar para este item: https://repositorio.ufu.br/handle/123456789/46896
ORCID:  http://orcid.org/0009-0009-7876-9227
Tipo do documento: Tese
Tipo de acesso: Acesso Aberto
Título: Code readability assessment and improvement: human and automated perspectives
Título(s) alternativo(s): Aprimoramento da legibilidade de código: um estudo sobre perspectivas humana e automatizada
Autor(es): Dantas, Carlos Eduardo de Carvalho
Primeiro orientador: Maia, Marcelo de Almeida
Primeiro membro da banca: Lima Filho, Fernando José Castor de
Segundo membro da banca: Hora, Andre Cavalcante
Terceiro membro da banca: Júlia, Stéphane
Quarto membro da banca: Araújo, Rafael Dias
Resumo: A legibilidade é uma característica crucial no desenvolvimento de software, pois os desenvolvedores frequentemente dedicam uma parte significativa do tempo lendo e compreendendo o código. No entanto, ainda existem desafios tanto na definição de métricas precisas para sua avaliação quanto na automação de refatorações que visam aprimorá-la. Com a ascensão dos modelos de linguagem de grande escala (LLMs), surge uma nova oportunidade: avaliar não apenas a legibilidade do código gerado por esses modelos, mas também sua capacidade de refatorar código existente, buscando torná-lo mais legível. Nesse contexto, o presente estudo avalia o desempenho de legibilidade de três LLMs (ChatGPT, DeepSeek e Gemini), comparando os trechos de código por eles gerados com aqueles escritos por humanos no Stack Overflow. Com isso, é apresentada uma abordagem híbrida que combina ferramentas automáticas de análise estática (ASATs) com refatorações baseadas em LLMs para melhorar a legibilidade do código. Além disso, é extraída uma taxonomia das melhorias de legibilidade realizadas por desenvolvedores em repositórios reais do GitHub, escritos nas linguagens Java e Python. Os resultados indicam que os LLMs, em geral, geram código com significativamente menos alertas de legibilidade em comparação com as recomendações do Stack Overflow. A combinação de LLMs e ASATs oferece um potencial valioso para refatorações orientadas à legibilidade, especialmente ao melhorar o código por meio de uma única interação com os LLMs. Modelos focados em geração de código, como o DeepSeek Coder, alcançaram o melhor desempenho no refinamento do código-fonte. Em código de projetos reais, os desenvolvedores tendem a melhorar a legibilidade ao esclarecer a intenção do código e reduzir redundâncias e trechos verbosos. Embora desenvolvedores de Python e Java compartilhem preocupações como a melhoria da nomenclatura, algumas diferenças são observadas: desenvolvedores Java focam mais na remoção de código redundante e desnecessário, enquanto desenvolvedores Python priorizam a documentação de código e a formatação correta usando padrões como as diretrizes PEP 8.
Abstract: Readability is a crucial characteristic in software development because developers often spend a significant amount of time reading and understanding code. However, there are still challenges both in accurately assessing code readability and in automatically applying refactoring operations to improve it. As large language models (LLMs) revolutionize the way code is written, a new opportunity emerges: to evaluate not only the readability of the code generated by these models but also their ability to refactor existing code into more readable versions. This study evaluates the readability of the code generated from three LLMs (ChatGPT, DeepSeek, and Gemini), comparing the code snippets they generate with those written by humans on Stack Overflow. Based on this evaluation, a hybrid approach is presented that combines automatic static analysis tools (ASATs) with LLM-based refactorings to improve code readability. In addition, a taxonomy of readability improvements is extracted from real-world GitHub repositories written in Java and Python. The results indicate that LLMs generate code with significantly fewer readability warnings compared to Stack Overflow recommendations. Combining LLMs and ASATs offers valuable potential for readability-oriented refactorings, especially when improving code through a single interaction with the LLMs. Code-generation-focused models, such as the DeepSeek Coder, achieved the best performance in refining source code. In real-world code, developers tend to improve readability by clarifying the intent of the code and reducing redundancy and verbosity. While Python and Java developers share concerns such as improving naming, some differences are observed: Java developers focus more on removing redundant and unnecessary code, whereas Python developers prioritize code documentation and correct formatting using standards such as the PEP 8 guidelines.
Palavras-chave: code readability
large language models
pull request
code review
automatic static analysis tools
legibilidade de código
modelos de linguagem de grande escala
revisão de código
ferramentas automáticas de análise estática
Área(s) do CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Assunto: Computação
Engenharia de software
Software - Confiabilidade
Software - Desenvolvimento
Idioma: eng
País: Brasil
Editora: Universidade Federal de Uberlândia
Programa: Programa de Pós-graduação em Ciência da Computação
Referência: DANTAS, Carlos Eduardo de Carvalho. Code readability assessment and improvement: human and automated perspectives. 2025. 213 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Uberlândia,Uberlândia, 2025. DOI http://doi.org/10.14393/ufu.te.2025.555.
Identificador do documento: http://doi.org/10.14393/ufu.te.2025.555
URI: https://repositorio.ufu.br/handle/123456789/46896
Data de defesa: 29-Ago-2025
Objetivos de Desenvolvimento Sustentável (ODS): ODS::ODS 9. Indústria, Inovação e infraestrutura - Construir infraestrutura resiliente, promover a industrialização inclusiva e sustentável, e fomentar a inovação.
Aparece nas coleções:TESE - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
CodeReadabilityAssessment.pdfconvertido para pdf/a26.09 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.