计算机科学 ›› 2017, Vol. 44 ›› Issue (4): 12-15.doi: 10.11896/j.issn.1002-137X.2017.04.003

• NASAC 2015 • 上一篇    下一篇

一种面向功能类似程序的高效克隆检测技术

董加星,许畅   

  1. 南京大学计算机软件新技术国家重点实验室 南京210023 南京大学计算机科学与技术系 南京210023,南京大学计算机软件新技术国家重点实验室 南京210023 南京大学计算机科学与技术系 南京210023
  • 出版日期:2018-11-13 发布日期:2018-11-13
  • 基金资助:
    本文受国家“九七三”重点基础研究计划(2015CB352202),国家自然科学基金(61472174,4 )资助

Efficient Clone Detection Technique for Functionally Similar Programs

DONG Jia-xing and XU Chang   

  • Online:2018-11-13 Published:2018-11-13

摘要: 程序克隆检测被普遍应用于检测软件市场中是否有被恶意修改后重新发布的软件,或是应用于识别与重构 克隆代码。但是其应用领域不仅限于此,面向功能类似程序的克隆检测有着独有的特点,同时也有着很大的应用前景。功能类似程序之间的克隆检测比一般的克隆检测稍复杂,它是在一些具有相似框架代码、实现功能类似的程序中寻找克隆程序对。现有的克隆检测技术在检测功能类似的程序时很难控制误报率。文中提出了一种改进的克隆检测方法,即通过 分析 功能类似程序克隆检测的特点,从中获取有用的信息,最终改进克隆检测技术并将其应用于实践。实验结果表明,该克隆检测技术可以有效地进行克隆检测,结合功能类似程序克隆检测的特点可以很好地控制误报率。

关键词: 程序分析,克隆检测,技术移植

Abstract: Clone detection techniques are widely used for but not limited to maliciously modified software detection,code recognition and reconstruction,etc.However,it is difficult to precisely detect code clones in functionally similar programs since they have their own unique features.Existing clone detection techniques have high false positive rates when applied to functionally similar programs.In this paper,we proposed a novel clone detection approach.After analyzing the features of functionally similar programs,we improved the clone detection technique’s performance.The experimental results show that our technique can effectively control the false positive rate when conducting the clone detection.

Key words: Program analysis,Clone detection,Technique transplantation

[1] 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.
[2] GU T X,CAO C,XU C,et al.Low-disruptive dynamic updating of Java applications[J].Information and Software Technology,2014,56(9):1086-1098.
[3] CHEN K,LIU P,ZHANG Y J.Achieving accuracy and scala-bility simultaneously in detecting application clones on Android markets[C]∥Proceedings of the 36th International Conference on Software Engineering.2014:175-186.
[4] KAMIYA T,KUSUMOTO S,INOUE K.CCFinder:a multilinguistic token-based code clone detection system for large scale source code[J].IEEE Transactions on Software Engineering,2002,28(7):654-670.
[5] LI Z M,LU S,MYAGMAR S,ZHOU Y Y.CP-Miner:finding copy-paste and related bugs in large-scale software code[J].IEEE Transactions on Software Engineering,2006,32(3):176-192.
[6] HITESH S,VAIBHAV S,CRISTINA L.A parallel and effi-cient approach to large scale clone detection[J].Journal of Software:Evolution and Process,2015,27(6):402-429.
[7] JIANG L X,MISHERGHI G,SU Z D,et al.DECKARD:Scalable and accurate tree-based detection of code clones[C]∥Proceedings of the 29th International Conference on Software Engineering.2007:96-105.
[8] RAINER K.Large-scale inter-system clone detection using suffix trees and hashing[J].Journal of Software:Evolution and Process,2014,26(8):747-769.
[9] LIU C,CHEN C,HAN J W.GPLAG:detection of software plagiarism by program dependence graph analysis[C]∥Proceedings of the 12th ACM SIGKDD International Conference on Know-ledge Discovery and Data Mining.2006:872-881.
[10] QIU J,SU X H,MA P J.Library functions identification in binary code by using graph isomorphism testings[C]∥IEEE 22nd International Conference onSoftware Analysis,Evolution and Reengineering.2015:261-270.
[11] KAUR M,LAL M.Code clone detection using function basedsimilarities and metrics[J].International Journal of Emerging Research in Management and Technology,2015,4(7):156-159.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[1] 雷丽晖,王静. 可能性测度下的LTL模型检测并行化研究[J]. 计算机科学, 2018, 45(4): 71 -75 .
[2] 孙启,金燕,何琨,徐凌轩. 用于求解混合车辆路径问题的混合进化算法[J]. 计算机科学, 2018, 45(4): 76 -82 .
[3] 张佳男,肖鸣宇. 带权混合支配问题的近似算法研究[J]. 计算机科学, 2018, 45(4): 83 -88 .
[4] 伍建辉,黄中祥,李武,吴健辉,彭鑫,张生. 城市道路建设时序决策的鲁棒优化[J]. 计算机科学, 2018, 45(4): 89 -93 .
[5] 史雯隽,武继刚,罗裕春. 针对移动云计算任务迁移的快速高效调度算法[J]. 计算机科学, 2018, 45(4): 94 -99 .
[6] 周燕萍,业巧林. 基于L1-范数距离的最小二乘对支持向量机[J]. 计算机科学, 2018, 45(4): 100 -105 .
[7] 刘博艺,唐湘滟,程杰仁. 基于多生长时期模板匹配的玉米螟识别方法[J]. 计算机科学, 2018, 45(4): 106 -111 .
[8] 耿海军,施新刚,王之梁,尹霞,尹少平. 基于有向无环图的互联网域内节能路由算法[J]. 计算机科学, 2018, 45(4): 112 -116 .
[9] 崔琼,李建华,王宏,南明莉. 基于节点修复的网络化指挥信息系统弹性分析模型[J]. 计算机科学, 2018, 45(4): 117 -121 .
[10] 王振朝,侯欢欢,连蕊. 抑制CMT中乱序程度的路径优化方案[J]. 计算机科学, 2018, 45(4): 122 -125 .