The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring

Registro completo de metadados
MetadadosDescriçãoIdioma
Autor(es): dc.creatorAniche, Mauricio-
Autor(es): dc.creatorMaziero, Erick-
Autor(es): dc.creatorDurelli, Rafael-
Autor(es): dc.creatorDurelli, Vinicius-
Data de aceite: dc.date.accessioned2026-02-09T12:29:23Z-
Data de disponibilização: dc.date.available2026-02-09T12:29:23Z-
Data de envio: dc.date.issued2021-07-16-
Data de envio: dc.date.issued2021-07-16-
Data de envio: dc.date.issued2019-
Fonte completa do material: dc.identifierhttps://repositorio.ufla.br/handle/1/46769-
Fonte completa do material: dc.identifierhttps://doi.ieeecomputersociety.org/10.1109/TSE.2020.3021736-
Fonte: dc.identifier.urihttp://educapes.capes.gov.br/handle/capes/1162325-
Descrição: dc.descriptionRefactoring is the process of changing the internal structure of software to improve its quality without modifying its external behavior. Empirical studies have repeatedly shown that refactoring has a positive impact on the understandability and maintainability of software systems. However, before carrying out refactoring activities, developers need to identify refactoring opportunities. Currently, refactoring opportunity identification heavily relies on developers' expertise and intuition. In this paper, we investigate the effectiveness of machine learning algorithms in predicting software refactorings. More specifically, we train six different machine learning algorithms (i.e., Logistic Regression, Naive Bayes, Support Vector Machine, Decision Trees, Random Forest, and Neural Network) with a dataset comprising over two million refactorings from 11,149 real-world projects from the Apache, F-Droid, and GitHub ecosystems. The resulting models predict 20 different refactorings at class, method, and variable-levels with an accuracy often higher than 90%. Our results show that (i) Random Forests are the best models for predicting software refactoring, (ii) process and ownership metrics seem to play a crucial role in the creation of better models, and (iii) models generalize well in different contexts.-
Idioma: dc.languageen-
Publicador: dc.publisherInstitute of Electrical and Electronic Engineers - IEEE-
Direitos: dc.rightsrestrictAccess-
???dc.source???: dc.sourceIEEE Transactions on Software Engineering-
Palavras-chave: dc.subjectBiological system modeling-
Palavras-chave: dc.subjectPredictive models-
Palavras-chave: dc.subjectContext modeling-
Palavras-chave: dc.subjectPrediction agorithms-
Palavras-chave: dc.subjectAlgoritmos de aprendizado de máquina-
Palavras-chave: dc.subjectModelagem de sistemas biológicos-
Palavras-chave: dc.subjectModelos preditivos-
Palavras-chave: dc.subjectModelagem de contexto-
Palavras-chave: dc.subjectRefatoração de software-
Título: dc.titleThe Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring-
Tipo de arquivo: dc.typeArtigo-
Aparece nas coleções:Repositório Institucional da Universidade Federal de Lavras (RIUFLA)

Não existem arquivos associados a este item.