Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/46896
ORCID:  http://orcid.org/0009-0009-7876-9227
Document type: Tese
Access type: Acesso Aberto
Title: Code readability assessment and improvement: human and automated perspectives
Alternate title (s): Aprimoramento da legibilidade de código: um estudo sobre perspectivas humana e automatizada
Author: Dantas, Carlos Eduardo de Carvalho
First Advisor: Maia, Marcelo de Almeida
First member of the Committee: Lima Filho, Fernando José Castor de
Second member of the Committee: Hora, Andre Cavalcante
Third member of the Committee: Júlia, Stéphane
Fourth member of the Committee: Araújo, Rafael Dias
Summary: 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.
Keywords: 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
Area (s) of CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Subject: Computação
Engenharia de software
Software - Confiabilidade
Software - Desenvolvimento
Language: eng
Country: Brasil
Publisher: Universidade Federal de Uberlândia
Program: Programa de Pós-graduação em Ciência da Computação
Quote: 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.
Document identifier: http://doi.org/10.14393/ufu.te.2025.555
URI: https://repositorio.ufu.br/handle/123456789/46896
Date of defense: 29-Aug-2025
Sustainable Development Goals SDGs: 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.
Appears in Collections:TESE - Ciência da Computação

Files in This Item:
File Description SizeFormat 
CodeReadabilityAssessment.pdfconvertido para pdf/a26.09 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.