期刊文献+

代码相似性检测方法与工具综述 被引量:7

Survey of Code Similarity Detection Methods and Tools
下载PDF
导出
摘要 在代码开源的潮流下,代码克隆在提高代码质量和降低开发成本的同时,一定程度地影响了软件系统的稳定性、健壮性与可维护性。代码相似性检测在计算机与信息安全发展方面具有重要的意义。为应对代码克隆带来的各种危害,目前学术界和工业界提出了很多代码相似性检测的方法,这些方法按照源代码信息处理程度可分为基于文本、词法、语法、语义和度量值5类;并开发了相应的检测工具,这些工具实现了很好的检测效果,但在大数据时代背景下也面临着数据规模不断扩大带来的一系列挑战。文中综述了代码相似性检测的方法,对5类检测方法做了详细比较;结合传统方法与机器学习技术,归类了不同检测方法对应的检测工具;按照不同评价标准评估了检测工具的检测效果,总结了每种检测方法的首选检测工具,并对未来代码相似性检测的研究方向做出了展望。 Source code opening has become a new trend in the information technology field.While code cloning improves code quality and reduces software development cost to some extent,it also affects the stability,robustness and maintainability of a software system.Therefore,code similarity detection plays an important role in the development of computer and information security.To overcome the various hazards brought by code cloning,many code similarity detection methods and corresponding tools have been developed by academic and industrial circles.According to the manner of processing source code,these detection methods could be roughly divided into five categories:text analysis based,lexical analysis based,grammar analysis based,semantics analysis based and metrics based.These detection tools can provide good detection performance in many application scenarios,but are also facing a series of challenges brought by ever-increasing data in this big data era.This paper firstly introduced code cloning problem and made a detailed comparison between code similarity detection methods divided into five categories.Then,it classified and organized currently available code similarity detection tools.Finally,it comprehensively evaluated the detection performance of detection tools based on various evaluation criteria.Furthermore,the future research direction of code similarity detection was prospected.
作者 张丹 罗平 ZHANG Dan;LUO Ping(School of Software,Tsinghua University,Beijing 100084,China;Key Laboratory of Information System Security(Tsinghua University),Ministry of Education,Beijing 100084,China)
出处 《计算机科学》 CSCD 北大核心 2020年第3期5-10,共6页 Computer Science
基金 国家重点研发计划项目(2018YFF0215901)~~
关键词 代码克隆 克隆检测 克隆评估 Code clone Clone detection Clone evaluation
  • 相关文献

参考文献2

二级参考文献64

  • 1[1]J Howard Johnson.Substring Matching for Clone Detection and Change Tracking[A].Proc the Int'l Conf on Software Maintenance[C].1994.120-126.
  • 2[2]Jean Mayrand,Claude Leblanc,Ettore M Merlo.Automatic Detection of Function Clones in a Software System Using Metrics[A].Proc of Int'l Conf on Software Maintenance(ICSM)[C].1996.
  • 3[3]Matthias Rieger.Effective Clone Detection Without Language Barriers:[Ph D Thesis][D].Bern University,2005.
  • 4[4]Toshihiro Kamiya,Shinji Kusumoto,Katsuro Inoue.CCFinder:A Multi-Linguistic Token Based Code Clone Detection System for Large Scale Source Code[J].IEEE Trans on Software Engineering,2002,28(6):654-670.
  • 5[5]Cory Kapser,Michael W Godfrey.Toward a Taxonomy of Clones in Source Code:A Case Study[A].Proc of the 1st Int'l Workshop on Evolution of Large-Scale Industrial Software Applications (ELISA)[C].2003.
  • 6[6]Brenda S Baker.On Finding Duplication and Near-Duplication in Large Software Systems[A].Proc the 2nd IEEE WCRE[C].1995.86-95.
  • 7[7]E Gamma,R Helm,R.Johnson,et al.Design Patterns:Elements of Reusable Object-Oriented Software[M].Addisonwesley,1997.
  • 8[8]Martin Fowler,Kent Beck,John Brant,et al.Refactoring:Improving the Design of Existing Code[Z].2002.
  • 9[9]Brenda S Baker.A Program for Identifying Duplicated Code[J].Computing Science and Statistics,1992,24:49-57.
  • 10[10]I D Baxter,A Yahin,L Moura,et al.Clone Detection Using Abstract Syntax Trees[A].Proc of IEEE Int'l Conf on Software Maintenance (ICSM'98)[C].1998.368-377.

共引文献13

同被引文献31

引证文献7

二级引证文献11

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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