[1]钟林辉,黄小明,薛良波,等.基于版本的多重软件重构自动检测技术研究[J].江西师范大学学报(自然科学版),2018,(05):464-469+472.[doi:10.16357/j.cnki.issn1000-5862.2018.05.05]
 ZHONG Linhui,HUANG Xiaoming,XUE Liangbo,et al.The Study on the Automatic Detection of Multi-Software Refactoring Based on Version[J].Journal of Jiangxi Normal University:Natural Science Edition,2018,(05):464-469+472.[doi:10.16357/j.cnki.issn1000-5862.2018.05.05]
点击复制

基于版本的多重软件重构自动检测技术研究()
分享到:

《江西师范大学学报》(自然科学版)[ISSN:1006-6977/CN:61-1281/TN]

卷:
期数:
2018年05期
页码:
464-469+472
栏目:
信息科学与技术
出版日期:
2018-10-20

文章信息/Info

Title:
The Study on the Automatic Detection of Multi-Software Refactoring Based on Version
文章编号:
1000-5862(2018)05-0464-06
作者:
钟林辉黄小明薛良波叶海涛
江西师范大学计算机信息工程学院,江西 南昌 330022
Author(s):
ZHONG LinhuiHUANG XiaomingXUE LiangboYE Haitao
College of Computer and Information Engineering,Jiangxi Normal University,Nanchang Jiangxi 330022,China
关键词:
软件重构 软件版本 函数抽取 函数重命名
Keywords:
software refactoring software version extract method rename method
分类号:
TP 311
DOI:
10.16357/j.cnki.issn1000-5862.2018.05.05
文献标志码:
A
摘要:
软件重构的自动检测是目前软件重构领域的一个研究热点.目前,多重软件重构的自动检测方法能够检测出在不同软件版本的不同位置上实施的多重重构操作,但是对发生在不同软件版本的相同位置上的多重重构操作则无能为力.为此,该文提出了一种在函数级别,利用函数调用图,实现基于多版本的多重软件重构的自动检测方法.该方法能够自动检测出在不同软件版本中的同一个函数上发生的“函数抽取”和“函数重命名”多重重构操作.同时,通过实验验证了该方法的有效性.
Abstract:
Automatic detection of software refactoring is one of hot topics in the field of software refactoring.The current technology of automatic detection of software refactoring can detect multi-software refactoring happened at different locations in different software versions and is short of the ability to detect it at the same location in different software versions.In the paper,an automatic detection technology based on call graph is proposed at the level of method,which can automatically detect themulti-software refactoring including "extract method" and "rename method" in the same function in different software versions.Also,the effectiveness of the proposed technology is realized by the experiments.

参考文献/References:

[1] Fowler M,Beck K,Brant J,et al.Roberts,refactoring: improving the design of existingcode[M].New Jersey:Addison-Wesley,1999.
[2] Dig D,Comertoglu C,Marinov D,et al.Automateddetection of refactorings in evolving components[C].Berlin:Springer Berlin Heidelberg,2006:404-428.
[3] Soares G,Gheyi R,Murphyhill E,et al.Comparing approaches to analyze refactoring activity on software repositories[J].Journal of Systems and Software,2013,86(4):1006-1022.
[4] 刘阳,刘秋荣,刘辉.函数抽取重构的自动检测方法[J].计算机科学,2015,42(12):105-107.
[5] Fontana F A,Braione P,Zanoni M.Automatic detection of bad smells in code:an experimental assessment[J].Journal of Object Technology,2012,11(2):1-38.
[6] Weissgerber P,Diehl S.Identifying refactorings from source-codechanges[C].Washington:IEEE Computer Society, 2006:231-240.
[7] Schmidt F,MacDonell S G,Connor A M.An automatic architecture reconstruction and refactoring framework[M].Berlin:Springer Berlin Heidelberg,2012:95-111.
[8] Silva F F,Borel E,Lopes E,et al.Towardsa difference detection algorithm aware of refactoring-relatedchanges[EB/OL].
[2017-05-11].10.1109/SBES.2014.21.
[9] Hunt J W.A fastalgorithm for computing longest common subsequences[J].Communications of the ACM,1977,20(5):350-353.
[10] Rysselberghe F N,Demeyer S.Reconstruction of successfulsoftware evolution using clone detection[C].Washington:IEEE Computer Society,2003:126.
[11] Roy C K,Cordy J R,Koschke R.Comparison and evaluation of code clone detection techniques and tools:a qualitative approach[J].Science of Computer Programming,2009,74(7):470-495.
[12] Xing Zhenchang,Stroulia E.Umldiff:an algorithm for object-oriented design differencing[EB/OL].
[2017-05-13]. 10.1145/1101908.1101919.
[13] Biegel B,Soetens Q D,Hornig W,et al.Comparison of similarity metrics for refactoring detection[EB/OL].
[2017-05-13].http://www.st.uni-trier.de/~diehl/pubs/msr11.pdf.
[14] Malpohl G,Hunt J J,Tichy W F.Renaming detection[J].Automated Software Engineering,2003,10(2):183-202.
[15] Malpohl G,Hunt J J,Tichy W F.Renaming detection[EB/OL].
[2017-05-13].https://www.researchgate.net/publication/3867122_Renaming_detection.
[16] Kim S,Pan K,Whitehead E J.When functions change their names:automatic detection of origin relationships[EB/OL].
[2017-05-13].https://users.soe.ucsc.edu/~ejw/papers/kim-wcre2005.pdf.
[17] Tsantalis N,Chatzigeorgiou A.Identification of extract method refactoring opportunities for the decomposition of methods[J].Journal of Systems and Software,2011,84(10):1757-1782.
[18] Silva D,Terra R,Valente M T.Recommending automated extract method refactorings[EB/OL].
[2017-05-13].http://www.ricardoterra.com.br/publications_files/2014_icpc.pdf.
[19] Prete K,Rachatasumrit N,Sudan N,et al.Template-based reconstruction of complex refactorings[EB/OL].
[2017-05-13].http://web.cs.ucla.edu/~miryung/Publications/icsm10-reffinder-slides.pdf.
[20] Kim M,Gee M,Loh A,et al.Ref-Finder:a refactoring reconstruction tool based on logic query templates[EB/OL].
[2017-05-13].http://web.cs.ucla.edu/~miryung/Publications/fse10-reffindertool.pdf.
[21] Prete K,Rachatasumrit N,Kim M.Catalogue of template refactoring rules[R].UTAUSTINECE-TR-041610,University of Texas,2010.
[22] 王映龙,杨炳儒,宋泽锋,等.基因序列相似程度的LCS算法研究[J].计算机工程与应用,2007,43(31):45-47.
[23] Apostolico,Guerra C.The longest common subsequence problem revisited[J].Algorithmica,1987,2(1/2/3/4):315- 336.
[24] Deken.Some limit results for longest common subsequences[J].Discrete Mathematics,1979,26(1):17- 31.

备注/Memo

备注/Memo:
收稿日期:2018-03-16
基金项目:国家自然科学基金(61462040,61662032,61262015,61762049),江西省自然科学基金(20142BAB207027,20171BAB202013)和江西省教育厅科学技术(GJJ170207)资助项目.
作者简介:钟林辉(1974-),男,江西赣州人,教授,博士,主要从事软件体系结构、构件化软件、软件维护与软件演化研究.E-mail:shiningto@jxnu.edu.cn
更新日期/Last Update: 2018-10-20