IEEE Access (Jan 2020)

An Automatic Advisor for Refactoring Software Clones Based on Machine Learning

  • Abdullah M. Sheneamer

DOI
https://doi.org/10.1109/ACCESS.2020.3006178
Journal volume & issue
Vol. 8
pp. 124978 – 124988

Abstract

Read online

To assist developers refactored code and to enable improvements to software quality when numbers of clones are found in software programs, we require an approach to advise developers on what a clone needs to refactor and what type of refactoring is needed. This paper suggests a unique learning method that automatically extracts features from the detected code clones and trains models to advise developers on what type needs to be refactored. Our approach differs from others, which specifies types of refactored clones as classes and creates a model for detecting the types of refactored clones and the clones which are anonymous. We introduce a new method by which to convert refactoring clone type outliers into Unknown clone set to improve classification results. We present an extensive comparative study and an evaluation of the efficacy of our suggested idea by using state-of-the-art classification models.

Keywords