An Automatic Advisor for Refactoring Software Clones Based on Machine Learning

被引:18
作者
Sheneamer, Abdullah M. [1 ]
机构
[1] Jazan Univ, Fac Comp Sci & Informat Technol, Dept Comp Sci, Jazan 45142, Saudi Arabia
关键词
Refactoring clone; machine learning; outlier detection; classification; AST and PDG features; OPPORTUNITIES; SUPPORT;
D O I
10.1109/ACCESS.2020.3006178
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 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
引用
收藏
页码:124978 / 124988
页数:11
相关论文
共 31 条
[1]   Forest PA: Constructing a decision forest by penalizing attributes used in previous trees [J].
Adnan, Md Nasim ;
Islam, Md Zahidul .
EXPERT SYSTEMS WITH APPLICATIONS, 2017, 89 :389-403
[2]  
AHA DW, 1991, MACH LEARN, V6, P37, DOI 10.1007/BF00153759
[3]  
[Anonymous], MACH LEARN
[4]  
Baars S., 2019, AUTOMATED REFACTORIN
[5]   Comparison and evaluation of clone detection tools [J].
Bellon, Stefan ;
Koschke, Rainer ;
Antoniol, Giuliano ;
Krinke, Jens ;
Merlo, Ettore .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (09) :577-591
[6]  
Breiman L, 1996, MACH LEARN, V24, P123, DOI 10.1007/BF00058655
[7]  
Dang Y., 2011, Proceeding of the 5th international workshop on Software clones - IWSC'11, page, P63
[8]  
Gamma E., 1995, DESIGN PATTERNS ELEM
[9]  
Göde N, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P311, DOI 10.1145/1985793.1985836
[10]  
Higo Y, 2004, LECT NOTES COMPUT SC, V3009, P220