计算机科学 ›› 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   
No Suggested Reading articles found!