Uma abordagem de deep-learning para realizar a predição de refatorações

Registro completo de metadados
MetadadosDescriçãoIdioma
Autor(es): dc.contributorDurelli, Rafael Serapilha-
Autor(es): dc.contributorPereira, Dilson-
Autor(es): dc.contributorDias, Diego Roberto Colombo-
Autor(es): dc.contributorParreira Junior, Paulo Afonso-
Autor(es): dc.contributorOliveira, Johnatan Alves de-
Autor(es): dc.creatorPereira, Lucas Rafael Rodrigues-
Data de aceite: dc.date.accessioned2026-02-09T11:46:34Z-
Data de disponibilização: dc.date.available2026-02-09T11:46:34Z-
Data de envio: dc.date.issued2024-09-04-
Data de envio: dc.date.issued2024-09-04-
Data de envio: dc.date.issued2024-09-04-
Data de envio: dc.date.issued2024-09-04-
Data de envio: dc.date.issued2024-04-17-
Fonte completa do material: dc.identifierhttps://repositorio.ufla.br/handle/1/59329-
Fonte: dc.identifier.urihttp://educapes.capes.gov.br/handle/capes/1147198-
Descrição: dc.descriptionResearch has shown that refactoring often leads to greater maintainability, resulting in more readable and understandable code for developers. However, when applying refactoring methods to increase software quality, Developers face challenges in identifying effective refactoring methods. It turns out that finding refactoring opportunities is a challenging task. One notable problem is the absence of specific, practical guidelines for determining the appropriate refactoring method for a given piece of code. Consequently, since decisions about when to refactor are often based on subjective concepts such as codesmells, Less experienced developers often rely on guidance from senior developers to determine when software needs to undergo refactoring. Previous research has shown that machine learning algorithms can be used to help developers identify refactoring opportunities. With recent advances in hardware, Deep learning algorithms have attracted more and more attention. In this research, we intend to evaluate the effectiveness of some Deep Learning models (CNN, RNN, LSTM and DenseLayer) in predicting refactoring opportunities, compared to traditional machine learning models. Specifically, We evaluate these models using standard metrics such as precision, recall, and accuracy. Our findings seem to suggest that although machine learning models generally outperform deep learning models, the latter perform better than the former when trained on unbalanced datasets.-
Descrição: dc.descriptionA pesquisa mostrou que a refatoração geralmente leva a uma maior capacidade de manutenção, resultando em um código mais legível e compreensível para os desenvolvedores. No entanto, ao aplicar métodos de refatoração para aumentar a qualidade do software, os desenvolvedores enfrentam desafios na identificação de métodos de refatoração eficazes. Acontece que encontrar oportunidades de refatoração é uma tarefa desafiadora. Um problema notável é a ausência de diretrizes específicas e práticas para determinar o método de refatoração apropriado para um determinado trecho de código. Consequentemente, já que as decisões sobre quando refatorar geralmente são baseadas em conceitos subjetivos, como codesmells, desenvolvedores menos experientes frequentemente contam com a orientação de desenvolvedores seniores para determinar quando o software precisa passar por refatoração. Pesquisas anteriores mostraram que algoritmos de aprendizado de máquina podem ser usados para ajudar os desenvolvedores a identificar oportunidades de refatoração. Com os recentes avanços em hardware, algoritmos de aprendizado profundo têm atraído cada vez mais atenção. Nessa pesquisa, pretendemos avaliar a eficácia de alguns modelos de Deep Learning (CNN, RNN, LSTM e DenseLayer) na previsão de oportunidades de refatoração, em comparação com modelos tradicionais de aprendizado de máquina. Especificamente, avaliamos esses modelos usando métricas padrão, como precisão, recall e exatidão. Nossas descobertas parecem sugerir que, embora os modelos de aprendizado de máquina geralmente superem os modelos de aprendizado profundo, os últimos apresentam desempenho superior aos primeiros quando treinados em conjuntos de dados não balanceados.-
Descrição: dc.descriptionTecnológico-
Descrição: dc.descriptionTecnologia e produção-
Descrição: dc.descriptionODS 8: Trabalho decente e crescimento econômico-
Descrição: dc.descriptionODS 9: Indústria, inovação e infraestrutura-
Descrição: dc.descriptionODS 12: Consumo e produção responsáveis-
Formato: dc.formatapplication/pdf-
Formato: dc.formatapplication/pdf-
Idioma: dc.languagept_BR-
Publicador: dc.publisherUniversidade Federal de Lavras-
Publicador: dc.publisherPrograma de Pós Graduação em Ciência da Computação-
Publicador: dc.publisherUFLA-
Publicador: dc.publisherbrasil-
Publicador: dc.publisherDepartamento de Ciência da Computação-
Direitos: dc.rightsAttribution 4.0 International-
Direitos: dc.rightsAttribution 4.0 International-
Direitos: dc.rightsacesso aberto-
Direitos: dc.rightshttp://creativecommons.org/licenses/by/4.0/-
Direitos: dc.rightshttp://creativecommons.org/licenses/by/4.0/-
Palavras-chave: dc.subjectDeep Learning-
Palavras-chave: dc.subjectRefatoração de código-
Palavras-chave: dc.subjectMachine Learning-
Palavras-chave: dc.subjectQualidade de software-
Palavras-chave: dc.subjectPredição de refatoração-
Palavras-chave: dc.subjectMineração de dados-
Palavras-chave: dc.subjectCode Refactoring-
Palavras-chave: dc.subjectMachine Learning-
Palavras-chave: dc.subjectSoftware Quality-
Palavras-chave: dc.subjectRefactoring Prediction-
Palavras-chave: dc.subjectData Mining-
Palavras-chave: dc.subjectCiência da Computação-
Título: dc.titleUma abordagem de deep-learning para realizar a predição de refatorações-
Título: dc.titleRealizing refactoring prediction through deep-learning-
Tipo de arquivo: dc.typedissertação-
Aparece nas coleções:Repositório Institucional da Universidade Federal de Lavras (RIUFLA)

Não existem arquivos associados a este item.