期刊文献+

基于修改日志克隆代码跟踪及演化模式识别 被引量:1

Clone code tracking and evolution pattern identifying based on modify log
下载PDF
导出
摘要 针对当前克隆跟踪大多基于软件的发布版本,丢失了软件开发过程中克隆代码较多的变化信息,并且克隆演化模式定义不明确、不区分视角。提出一种基于修改日志克隆代码跟踪方法,并分三种视角(克隆群、克隆片段、克隆代码内容)识别演化模式。首先,将每次提交作为一个小版本,使用Ni Cad进行克隆检测;其次,基于Token编辑距离相似度克隆群初步映射;再次,基于修改日志克隆片段精准映射;然后,基于克隆片段映射结果修正克隆群映射;最后,分视角识别克隆演化模式。对6款开源软件总共近8 000个版本进行实验,结果表明超过97%的克隆稳定演化,而分离演化模式、合并演化模式、复杂演化模式均不超过0.01%,一致变化演化模式、不一致变化演化模式均不超过2%。在多款软件上与领域内较优秀的同类工具g Cad进行对比实验,结果查全率(提高了2%)、查准率(提高了2%)明显高于g Cad,而且同环境下速度比g Cad快。 Recently, most clone tracking is based on release version of software, which loses much change information of clone code during the process of software development. Definition of evolution pattern is unclear, and its perspective is not distinguished. This paper proposes a method of tracing clone code based on modify log, and identifies clone evolution pattern by different perspectives(clone class, clone fragment, clone code content). Firstly, regarding each submission as one small version, and detecting clone of each version by Ni Cad; Secondly, mapping clone class initially based on levenshtein distance of token; Thirdly, mapping clone fragment based on modify log; Fourthly, revising clone class mapping based on the result of clone fragment mapping; Finally, identifying clone evolution pattern in different perspectives. The experiment is conducted on nearly 8 thousand versions of 6 open-source software. The results show that more than 97%clone code is in"stable"evolution pattern,"separate","merge","complex"is no more than 0.01%, and"consistent change","inconsistent change"is less than 2%. Contrast to the similar tool named g Cad, recall(increased by 2%)and precision(increased by 2%)of this method are significantly higher, and running speed is also faster in the same environment.
作者 葛广帅 刘东升 张丽萍 侯敏 包萨仁娜 GE Guangshuai;LIU Dongsheng;ZHANG Liping;HOU Min;BAO Sarenna(College of Computer and Information Engineering, Inner Mongolia Normal University, Hohhot 010022, China)
出处 《计算机工程与应用》 CSCD 北大核心 2018年第11期53-61,共9页 Computer Engineering and Applications
基金 国家自然科学基金(No.61462071 No.61363017) 内蒙古自然科学基金(No.2016MS0612 No.2015MS0606)
关键词 克隆代码 克隆跟踪 演化模式 修改日志 clone code clone tracking evolution pattern modify log
  • 相关文献

参考文献3

二级参考文献118

  • 1KAMIYA T, KUSUMOTO S, INOUE K. CCFinder: a multi-linguistic token-based code clone detection system for large scale source code [ J]. IEEE Trans on Software Engineering, 2002,28 (7) : 654- 670.
  • 2DEISSENBOECK F, HUMMEL B, JUERGENS E. Code clone detection in practice [ C ]//Proc of the 32nd ACM/IEEE International Conference on Software Engineering. New York:ACM Press,2010: 499- 500.
  • 3RIEGER M, DUCASSE S, LANZA M. Insight into system-wide code duplication[ C]//Proc of the llth Working Conference on Reverse Engineering. Washington DC : IEEE Computer Society, 2004 : 100- 109.
  • 4INOUE K, CORDY J R, KOSCHKE R. 6th International Workshop on Software Clones[ EB/OL]. [ 2012-10-15 ]. http ://iwsc2012. ist. osaka-u, ac. jp/.
  • 5CORDY J R. Comprehending reality: practical barriers to industrial adoption of software maintenance automation [ C ]//Proc of the 11 th IEEE International Workshop on Program Comprehension. Washington DC : IEEE Computer Society, 2003 : 196-206.
  • 6RIEGER M. Effective clone detection without language barriers[D]. Bern, Switzerland : University of Bern, 2005.
  • 7JIANG Ling-xiao, SU Zhen-dong, CHIU E. Context-based detection of clone-related bugs [ C ]//Proc of the 6th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on Foundations of Software Engineering. New York: ACM Press, 2007 : 55-64.
  • 8SAHA R. Detection and analysis of near-miss clone genealogies[ D]. Saskatoon : University of Saskatchewan, 2011.
  • 9RAHMAN F, BIRD C, DEVANBU P. Clones: What is that smell? [ C ] //Proc of the 7th IEEE Working Conference on Mining Software Repositories. Washington DC: IEEE Computer Society, 2010:72-81.
  • 10BAKER B S. A program for identifying duplicated code[J]. Computing Science and Statistics, 1992,24( 1 ) : 49-57.

共引文献23

同被引文献15

引证文献1

二级引证文献7

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部