On the Employment of Machine Learning for Recommending Refactorings: A Systematic Literature Review

Context and Motivation: Refactoring is a widely recognized technique aimed at enhancing the comprehensibility and maintainability of source code while preserving its external behavior. The widespread adoption of refactorings as a systematic practice is still very dependent on individual expertise and inclination of software engineers. To address this challenge, various approaches have emerged with the objective of automatically suggesting refactorings, thereby alleviating engineers from the manual burden of identifying such opportunities. Objective: This study aims to analyze the current landscape of approaches utilizing Machine Learning (ML) for recommending refactorings and discuss their usage. Method: A Systematic Literature Review (SLR) was conducted, spanning five scientific databases from 2015 to December 2023. Initially, 177 papers were identified, from which a final set of 27 papers was reached. Results: The findings encompass: i) an exploration of the most and least investigated refactorings and ML techniques; ii) an analysis of the datasets used; iii) an examination of the evaluation methodologies employed; and iv) an assessment of recommendation completeness and quality. Conclusion: This study has significant potential for further research, as numerous refactorings remain unexplored by existing studies. Furthermore, it highlights that many ML-based approaches fall short in delivering comprehensive recommendations, thus emphasizing the imperative for ongoing investigation and enhancement in this field. All artifacts produced from our research are available on the replication package [1].

Authors

Institutions

Publication Details

Published
2024-09-30
DOI
https://doi.org/10.5753/sbes.2024.3436
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

On the Employment of Machine Learning for Recommending Refactorings: A Systematic Literature Review

Valter Vieira de Camargo, Guisella Angulo Armijo, Rafael S. Durelli, Daniel Martin
Software Engineering Research
article

On the Employment of Machine Learning for Recommending Refactorings: A Systematic Literature Review

Valter Vieira de Camargo, Guisella Angulo Armijo, Rafael S. Durelli, Daniel Martin
article en

Abstract

Context and Motivation: Refactoring is a widely recognized technique aimed at enhancing the comprehensibility and maintainability of source code while preserving its external behavior. The widespread adoption of refactorings as a systematic practice is still very dependent on individual expertise and inclination of software engineers. To address this challenge, various approaches have emerged with the objective of automatically suggesting refactorings, thereby alleviating engineers from the manual burden of identifying such opportunities. Objective: This study aims to analyze the current landscape of approaches utilizing Machine Learning (ML) for recommending refactorings and discuss their usage. Method: A Systematic Literature Review (SLR) was conducted, spanning five scientific databases from 2015 to December 2023. Initially, 177 papers were identified, from which a final set of 27 papers was reached. Results: The findings encompass: i) an exploration of the most and least investigated refactorings and ML techniques; ii) an analysis of the datasets used; iii) an examination of the evaluation methodologies employed; and iv) an assessment of recommendation completeness and quality. Conclusion: This study has significant potential for further research, as numerous refactorings remain unexplored by existing studies. Furthermore, it highlights that many ML-based approaches fall short in delivering comprehensive recommendations, thus emphasizing the imperative for ongoing investigation and enhancement in this field. All artifacts produced from our research are available on the replication package [1].

Universidade Federal de São Carlos (BR)
Fundação de Amparo à Pesquisa do Estado de São Paulo, Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
Industry, innovation and infrastructure
Openalex Percentile: Top 71%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.