The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring

dc.creatorAniche, Mauricio
dc.creatorMaziero, Erick
dc.creatorDurelli, Rafael
dc.creatorDurelli, Vinicius
dc.date.accessioned2021-07-16T16:42:43Z
dc.date.available2021-07-16T16:42:43Z
dc.date.issued2020
dc.description.abstractRefactoring 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.pt_BR
dc.description.provenanceSubmitted by Daniele Faria (danielefaria@ufla.br) on 2021-07-16T15:38:58Z No. of bitstreams: 0en
dc.description.provenanceApproved for entry into archive by André Calsavara (andre.calsavara@biblioteca.ufla.br) on 2021-07-16T16:42:43Z (GMT) No. of bitstreams: 0en
dc.description.provenanceMade available in DSpace on 2021-07-16T16:42:43Z (GMT). No. of bitstreams: 0 Previous issue date: 2020en
dc.identifier.citationANICHE, M. et al. The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring. IEEE Transactions on Software Engineering, [S. I.], 2020. DOI: 10.1109/TSE.2020.3021736.pt_BR
dc.identifier.urihttps://repositorio.ufla.br/handle/1/46769
dc.identifier.urihttps://doi.ieeecomputersociety.org/10.1109/TSE.2020.3021736pt_BR
dc.languageenpt_BR
dc.publisherInstitute of Electrical and Electronic Engineers - IEEEpt_BR
dc.rightsrestrictAccesspt_BR
dc.sourceIEEE Transactions on Software Engineeringpt_BR
dc.subjectBiological system modelingpt_BR
dc.subjectPredictive modelspt_BR
dc.subjectContext modelingpt_BR
dc.subjectPrediction agorithmspt_BR
dc.subjectAlgoritmos de aprendizado de máquinapt_BR
dc.subjectModelagem de sistemas biológicospt_BR
dc.subjectModelos preditivospt_BR
dc.subjectModelagem de contextopt_BR
dc.subjectRefatoração de softwarept_BR
dc.titleThe Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoringpt_BR
dc.typeArtigopt_BR

Arquivos

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
953 B
Formato:
Item-specific license agreed upon to submission
Descrição: