Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/83054| Tipo: | Dissertação |
| Título: | Entre métricas e percepção: uso de aprendizado de máquina e LLMs na detecção e refatoração de code smells |
| Autor(es): | Moreira, Raimundo Alan Freire |
| Orientador: | Ferreira, Fischer Jônatas |
| Coorientador: | Vale, Gustavo Andrade do |
| Palavras-chave em português: | qualidade de código;code smells;aprendizado de máquina;modelos de linguagem de grande porte;ferramentas para pesquisa empírica |
| Palavras-chave em inglês: | code quality;code smells;machine learning;large language models;empirical research tools |
| CNPq: | CNPQ::ENGENHARIAS |
| Data do documento: | 2025 |
| Citação: | MOREIRA, Raimundo Alan Freire. Entre Métricas e Percepção: Uso de Aprendizado de Máquina e LLMs na Detecção e Refatoração de Code Smells. 2025. Dissertação (Programa de Pós-Graduação em Engenharia Elétrica e de Computação), Universidade Federal do Ceará, Campus de Sobral, 2025. |
| Resumo: | A qualidade de software é determinante para a manutenibilidade, legibilidade, testabilidade e evolução de sistemas, sendo que grande parte do custo de manutenção está associada à compreensão de código existente. Nesse contexto, os code smells surgem como indícios de problemas estruturais ou estilísticos que degradam a arquitetura e alimentam o débito técnico. Embora detectores de code smells baseados em métricas sejam amplamente utilizados, eles enfrentam limites de interpretabilidade e generalização. Algoritmos de aprendizado de máquina (machine learning – ML) e modelos de linguagem de grande porte (large language models – LLMs) ampliam as possibilidades de automação na detecção de code smells, no entanto, podem introduzir anomalias. Esta dissertação investiga como técnicas de inteligência artificial podem apoiar a melhoria da qualidade de software, conectando sinais objetivos de ML à percepção humana em refatorações realizadas por LLMs. O estudo foi conduzido em três etapas. Na primeira, cinco classificadores supervisionados foram aplicados a quatro code smells nos sistemas do Qualitas Corpus. Modelos baseados em árvores performaram melhor e superaram 96% de acurácia estabelecendo baselines replicáveis. Na segunda etapa, foi desenvolvida a ferramenta TwinCode, para experimentos empíricos com comparação lado a lado de trechos de código e questionários estruturados, validada com 12 participantes que apontaram alta usabilidade e consistência. Na terceira etapa, investigou-se a percepção de desenvolvedores sobre refatorações com LLMs, por meio de comparações cegas e entrevistas. Em 97% das escolhas os entrevistados escolheram as versões refatoradas e associaram a escolha a ganhos de legibilidade, modularidade e manutenibilidade, ainda que com alertas para riscos de over-engineering. Os resultados demonstram que: (i) algoritmos de ML oferecem sinais robustos para detecção de code smells, (ii) TwinCode contribui para padronização metodológica de estudos empíricos e (iii) LLMs possuem potencial de apoiar refatorações quando aplicados com supervisão crítica. Contudo, esta dissertação integra métricas objetivas e julgamentos humanos, oferecendo evidências aplicáveis à pesquisa acadêmica e à prática profissional de desenvolvimento de software. |
| Abstract: | Software quality is essential for maintainability, readability, testability, and the long-term evolution of systems, with a large portion of maintenance costs related to understanding existing code. In this context, code smells emerge as indicators of structural or stylistic issues that degrade architecture and introduce technical debt. While metric-based detectors are widely used, they face limits of interpretability and generalization, whereas recent advances with machine learning (ML) algorithms and large language models (LLMs) expand automation possibilities but might introduce anomalies. This dissertation investigates how artificial intelligence techniques can support software quality improvement by connecting objective ML signals with human perception in refactorings produced by LLMs. The study was organized in three stages. In the first, five supervised classifiers were applied to four smells identified in systems from Qualitas Corpus. Tree-based models performed better and surpassing accuracy of 96% establishing replicable baselines. In the second stage, we propose TwinCode a open source tool developed to support empirical experiments with side by side code comparison and structured questionnaires. The tool was validated with 12 participants who reported high usability and consistency. In the third stage, we examined the developers’ perceptions of LLM-based refactorings through blind comparisons and interviews. In 97% of choices, intervieews chose the refactored versions and associated their choice with improvements in readability, modularity, and maintainability, even though they reported over-engineering issues. Our results demonstrate that: (i) ML algorithms provide robust signals for code smell detection, (ii) TwinCode contributes to the methodological standardization of empirical studies, and (iii) LLMs have potential to support refactorings when applied with critical supervision.Taken together, this dissertation integrates objective metrics and human judgments, offering evidence applicable to both academical and professional software development. |
| URI: | http://repositorio.ufc.br/handle/riufc/83054 |
| ORCID do(s) Autor(es): | https://orcid.org/0009-0009-5428-3652 |
| Currículo Lattes do(s) Autor(es): | http://lattes.cnpq.br/0370870868458222 |
| ORCID do Orientador: | https://orcid.org/0000-0002-3643-8720 |
| Currículo Lattes do Orientador: | http://lattes.cnpq.br/1412888913678183 |
| ORCID do Coorientador: | https://orcid.org/0000-0002-8879-5797 |
| Currículo Lattes do Coorientador: | http://lattes.cnpq.br/7680327340827432 |
| Tipo de Acesso: | Acesso Aberto |
| Aparece nas coleções: | PPGEEC - SOBRAL - Dissertações defendidas na UFC |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| 2025_dis_rafmoreira.pdf | 1,62 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.