Artigo

The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring

Carregando...
Imagem de Miniatura

Notas

Data

Orientadores

Editores

Coorientadores

Membros de banca

Título da Revista

ISSN da Revista

Título de Volume

Editor

Institute of Electrical and Electronic Engineers - IEEE

Faculdade, Instituto ou Escola

Departamento

Programa de Pós-Graduação

Agência de fomento

Tipo de impacto

Áreas Temáticas da Extenção

Objetivos de Desenvolvimento Sustentável

Dados abertos

Resumo

Abstract

Refactoring 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.

Descrição

Área de concentração

Agência de desenvolvimento

Palavra chave

Marca

Objetivo

Procedência

Submitted by Daniele Faria (danielefaria@ufla.br) on 2021-07-16T15:38:58Z No. of bitstreams: 0
Approved for entry into archive by André Calsavara (andre.calsavara@biblioteca.ufla.br) on 2021-07-16T16:42:43Z (GMT) No. of bitstreams: 0
Made available in DSpace on 2021-07-16T16:42:43Z (GMT). No. of bitstreams: 0 Previous issue date: 2020

Impacto da pesquisa

Resumen

ISBN

DOI

Citação

ANICHE, 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.

Link externo

Avaliação

Revisão

Suplementado Por

Referenciado Por