Litcius/Paper detail

An Automatic Advisor for Refactoring Software Clones Based on Machine Learning

Abdullah Sheneamer

2020IEEE Access34 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Code refactoringComputer scienceclone (Java method)Programming languageCode (set theory)Software engineeringSet (abstract data type)SoftwareSoftware maintenanceSoftware systemArtificial intelligenceBiologyDNAGeneticsSoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware Testing and Debugging Techniques
An Automatic Advisor for Refactoring Software Clones Based on Machine Learning | Litcius