00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO TRABALHOS DE CONCLUSÃO DE CURSO (TCC) - GRADUAÇÃO - IC Trabalhos de Conclusão de Curso (TCC) - Bacharelado - CIÊNCIA DA COMPUTAÇÃO- IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/123456789/10561
Tipo: Trabalho de Conclusão de Curso
Título: Uma aplicação do aprendizado por transferência na detecção de Code Smells
Autor(es): Ramos, André Moabson da Silva
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.advisor-co1: Bibiano, Ana Carla Gomes
metadata.dc.contributor.referee1: Araújo, Ícaro Bezerra Queiroz de
metadata.dc.contributor.referee2: Mello, Rafael Maiani de
Resumo: Durante o desenvolvimento de um software, a presença de code smells tem sido relacionada com a degradação na qualidade do software. Diversos estudos mostram a importância de detectar os smells no código fonte e aplicar refatoração. No entanto, as abordagens existentes para a detecção de code smells são limitadas para determinadas linguagens de programação. Nesse contexto, este trabalho visa ampliar os métodos para detecção de code smells utilizando o aprendizado por transferência para construir um grande conjunto de dados para treinamento e validação dos modelos de aprendizagem de máquina, utilizando as regras catalogadas e thresholds extraídos da ferramenta Designite. Coletando, assim, um total 22.687, 8.501 e 5.953 smells detectados em projetos das respectivas linguagens de programação, C++, Java e C#. Em seguida, nós obtivemos 72 modelos pré-treinados, e realizamos o aprendizado por transferência, que consistiu em avaliar o modelo pré-treinado para smells no conjunto de dados entre linguagens de programação. Nossos resultados revelaram que se escolhermos o smell de design, Unecessary Abstraction, e a linguagem alvo for C#, então o modelo mais apropriado para detectar esse code smell é o baseado no RandomForest, pois foi melhor dentre os outros modelos treinados no conjunto de dados da linguagem C++ para o mesmo smell. Esses resultados podem ajudar a desenvolvedores e pesquisadores a aplicar as mesmas estratégias de detecção de code smells em diferentes linguagens de programação, e utilizar modelos de treinamentos que sejam mais apropriados para cada tipo de code smell e linguagens de programação.
Abstract: During the software development, the presence of code smells has been related to the degradation of the software quality. Several studies present the relevance to detect smells in the source code and to apply refactoring. However, the existing approaches to detect code smells are limited to specific programming languages. In this context, this work aims to extend the techniques of code smell detection using learning transfer to build a large dataset for training and validation of machine learning models, using cataloged rules and extracted thresholds of the Designite tool. Collecting, then, a total of total 22,687, 8,501 e 5,953 detected smells in software projects of the respective programming languages, C++, Java e C#. In a sequence, we obtained 72 pretrained models and performed the transfer learning to evaluate the pre-trained model for smells in the dataset between programming languages. Our results revealed that the model RandomForest is the most appropriate to detect code smells like the Unecessary Abstraction design smell for the C# programming language. These results can help developers and researchers to apply the same code smell detection strategies for different programming languages and to apply the most appropriate training models for each code smell type and programming language.
Palavras-chave: Code smells - Detecção
Aprendizagem de máquina
Aprendizagem por transferência
Code smells
Detection
Transfer learning
Machine learning
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: por
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.department: Curso de Ciências da Computação
Citação: RAMOS, André Moabson da Silva. Uma aplicação do aprendizado por transferência na detecção de Code Smells. 2023. 24 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Instituto de Computação, Curso de Ciências da Computação, Universidade Federal de Alagoas, Maceió, 2021.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/jspui/handle/123456789/10561
Data do documento: 2-mar-2021
Aparece nas coleções:Trabalhos de Conclusão de Curso (TCC) - Bacharelado - CIÊNCIA DA COMPUTAÇÃO- IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Uma aplicação do aprendizado por transferência na detecção de Code Smells.pdf1.34 MBAdobe PDFVisualizar/Abrir


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