00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO Dissertações e Teses defendidas na UFAL - IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/123456789/12995
Tipo: Dissertação
Título: Code smells detection across programming languages
Autor(es): Ramos, André Moabson da Silva
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.advisor-co1: Mello, Rafael Maiani de
metadata.dc.contributor.referee1: Ribeiro, Márcio de Medeiros
metadata.dc.contributor.referee2: Assunção, Wesley Klewerton Guêz
Resumo: A incidência de code smells é frequentemente associada à degradação da qualidade do software. Vários estudos apresentam a importância de técnicas para detectar e combater a incidência deles no código-fonte. No entanto, as técnicas existentes para detectar code smells dependem da linguagem de programação. Consequentemente, várias linguagens de programação são amplamente empregadas pela comunidade de software sem técnicas adequadas de detecção. Nosso estudo aborda a ampliação da disponibilidade de técnicas de detecção de code smells para diferentes linguagens de programação por meio do aprendizado de transferência. Selecionamos cinco linguagens de programação entre as dez linguagens mais utilizadas de acordo com StackOverflow: Java, C++, Python, C#, e JavaScript. Além disso, algumas dessas linguagens possuem características semelhantes entre si, como Java e C#, o oposto pode-se dizer de Java e Python. Extraímos os conjuntos de dados para treinamento e teste de modelos de aprendizado profundo de 150 projetos de código aberto. Os resultados indicam que as técnicas de aprendizagem por transferência detectam de forma eficaz e eficiente os code smells, independentemente da linguagem de programação e da quantidade de camadas da arquitetura de aprendizagem profunda usada na aprendizagem por transferência. Essas descobertas podem ajudar desenvolvedores e pesquisadores a aplicar as mesmas técnicas de detecção de code smells em diferentes linguagens de programação.
Abstract: The incidence of code smells is often associated with software quality degradation. Several studies present the importance of techniques to detect and tackle the incidence of smells in the source code. However, existing techniques to detect code smells depend on the programming language. Consequently, several programming languages are largely employed by the software community without proper techniques of code smell detection. Our study addresses amplifying the availability of code smell detection techniques to different programming languages through transfer learning. We select five programming languages among the ten most used languages according to StackOverflow: Java, C++, Python, C#, and JavaScript. Also, some of these languages have similar characteristics to each other, such as Java and C# as opposed to Java and Python. We extract the datasets for training and testing of deep learning models from 150 open sources projects. Results indicate that transfer learning techniques effectively and efficiently detect code smells regardless of the programming language and number of layers of the deep learning architecture used in transfer learning. These findings can help developers and researchers to apply the same code smell detection techniques in different programming languages.
Palavras-chave: Engenharia de software
Aprendizado do computador
Aprendizagem profunda
Transferência de aprendizagem
Code smells
Linguagem de programação (Computadores)
Software engineering
Machine learning
Deep learning
Transfer of learning
Programming language (Computers)
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: eng
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.program: Programa de Pós-Graduação em Informática
Citação: RAMOS, André Moabson da Silva. Code smells detection across programming languages. 2023. 40 f. Dissertação (Mestrado em Informática) – Programa de Pós-Graduação em Informática, Instituto de Computação, Universidade Federal de Alagoas, Maceió, 2023.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/jspui/handle/123456789/12995
Data do documento: 30-jun-2023
Aparece nas coleções:Dissertações e Teses defendidas na UFAL - IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Code smells detection across programming languages.pdf1.49 MBAdobe PDFVisualizar/Abrir


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