Computer Science ›› 2015, Vol. 42 ›› Issue (12): 105-107.

Previous Articles     Next Articles

Automated Detection of Extract Method Refactorings

LIU Yang, LIU Qiu-rong and LIU Hui   

  • Online:2018-11-14 Published:2018-11-14

Abstract: Automated detection of refactorings is a hot topic in the field of software refactoring.The main purpose of the detection is to facilitate the understanding of software evolution and refactoring on clients according to changes made on their servers.Although a number of methods and tools have been proposed to automatically detect refactorings,to the best of our knowledge there is no methods or tools to detect and extract method refactorings automatically by comparing two versions of an application.To this end,we proposed an approach to detect and extract method refactorings by comparing two successive versions of a given application.We also implemented the proposed approach and validated it with open source applications.Evaluation results on 8 open-source applications suggest that the precision of the proposed approach varies from 65% to 90%.We also conducted an evaluation by monitoring developers on a small application.And evaluation results suggest that the recall and precision of the proposed approach is 85% and 85%,respectively.

Key words: Software refactoring,Refactoring history,Automated detection,Version,Software evolution

[1] Mens T,Tourwe T.A survey of software refactoring [J].IEEE Transactions on Software Engineering,2004,30(2):126-139
[2] Opdyke W F.Refactoring object-oriented frameworks[D].Lllinois:University of Illinois at Urbana-Champaign,1992
[3] Dig D,Comertoglu C,Marinov D,et al.Automatic detection of refactorings in evolving components[C]∥European Conference on Object Oriented Programming.2006:404-428
[4] Xing Z,Stroulia E.UMLDiff:an algorithm for object-oriented design differencing[C]∥Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.2005:54-65
[5] Weissgerber P,Diehl S.Identifying refactorings from source-code changes[C]∥21st IEEE/ACM International Conference on Automated Software Engineering.2006:231-240
[6] Murphy G,Kersten M,Findlater L.How are Java software developers using the eclipse IDE[J].Software IEEE,2006, 23(4):76-83

No related articles found!
Full text



[1] LEI Li-hui and WANG Jing. Parallelization of LTL Model Checking Based on Possibility Measure[J]. Computer Science, 2018, 45(4): 71 -75 .
[2] SUN Qi, JIN Yan, HE Kun and XU Ling-xuan. Hybrid Evolutionary Algorithm for Solving Mixed Capacitated General Routing Problem[J]. Computer Science, 2018, 45(4): 76 -82 .
[3] ZHANG Jia-nan and XIAO Ming-yu. Approximation Algorithm for Weighted Mixed Domination Problem[J]. Computer Science, 2018, 45(4): 83 -88 .
[4] WU Jian-hui, HUANG Zhong-xiang, LI Wu, WU Jian-hui, PENG Xin and ZHANG Sheng. Robustness Optimization of Sequence Decision in Urban Road Construction[J]. Computer Science, 2018, 45(4): 89 -93 .
[5] SHI Wen-jun, WU Ji-gang and LUO Yu-chun. Fast and Efficient Scheduling Algorithms for Mobile Cloud Offloading[J]. Computer Science, 2018, 45(4): 94 -99 .
[6] ZHOU Yan-ping and YE Qiao-lin. L1-norm Distance Based Least Squares Twin Support Vector Machine[J]. Computer Science, 2018, 45(4): 100 -105 .
[7] LIU Bo-yi, TANG Xiang-yan and CHENG Jie-ren. Recognition Method for Corn Borer Based on Templates Matching in Muliple Growth Periods[J]. Computer Science, 2018, 45(4): 106 -111 .
[8] GENG Hai-jun, SHI Xin-gang, WANG Zhi-liang, YIN Xia and YIN Shao-ping. Energy-efficient Intra-domain Routing Algorithm Based on Directed Acyclic Graph[J]. Computer Science, 2018, 45(4): 112 -116 .
[9] CUI Qiong, LI Jian-hua, WANG Hong and NAN Ming-li. Resilience Analysis Model of Networked Command Information System Based on Node Repairability[J]. Computer Science, 2018, 45(4): 117 -121 .
[10] WANG Zhen-chao, HOU Huan-huan and LIAN Rui. Path Optimization Scheme for Restraining Degree of Disorder in CMT[J]. Computer Science, 2018, 45(4): 122 -125 .