Harnessing Deep Learning Algorithms to Predict Software Refactoring

Mamdouh Alenezi, Mohammed Akour, Osamah Al Qasem


During software maintenance, software systems need to be modified by adding or modifying source code. These changes are required to fix errors or adopt new requirements raised by stakeholders or market place. Identifying the targeted piece of code for refactoring purposes is considered a real challenge for software developers. The whole process of refactoring mainly relies on software developers’ skills and intuition. In this paper, a deep learning algorithm is used to develop a refactoring prediction model for highlighting the classes that require refactoring. More specifically, the Gated Recurrent Unit algorithm is used with proposed pre-processing steps for refactoring prediction at the class level. The effectiveness of the proposed model is evaluated using a very common dataset of 7 open source java projects. The experiments are conducted before and after balancing the dataset to investigate the influence of data sampling on the performance of the prediction model. The experimental analysis reveals a promising result in the field of code refactoring prediction.


Deep Learning Algorithms; Software Maintenance; Software Refactoring; Source Code Analysis and Measurement;

DOI: http://dx.doi.org/10.12928/telkomnika.v18i6.16743

Article Metrics

Abstract view : 0 times


  • There are currently no refbacks.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

TELKOMNIKA Telecommunication, Computing, Electronics and Control
ISSN: 1693-6930, e-ISSN: 2302-9293
Universitas Ahmad Dahlan, 4th Campus, 9th Floor, LPPI Room
Jl. Ringroad Selatan, Kragilan, Tamanan, Banguntapan, Bantul, Yogyakarta, Indonesia 55191
Phone: +62 (274) 563515, 511830, 379418, 371120 ext. 4902, Fax: +62 274 564604