首页|期刊简介|投稿指南|分类索引|刊文选读|订阅指南|资料|样刊邮寄查询|常见问题解答|联系我们
武泽权,牟永敏,张志华. 面向函数的代码克隆检测[J]. 科学技术与工程, 2019, 19(35): 259-264.
wuzequan.Function-oriented Code Clone Detection[J].Science Technology and Engineering,2019,19(35):259-264.
面向函数的代码克隆检测
Function-oriented Code Clone Detection
投稿时间:2019-05-22  修订日期:2019-08-31
DOI:
中文关键词:  代码克隆  函数  特征矩阵  检测算法。
英文关键词:code clone  functions  characteristic matrix  detection algorithm
基金项目:北京市自然科学基金(重点研究专题项目)(No.Z160002);网络文化与数字传播北京市重点实验室开放课题(No.ICDD2017XX)
        
作者单位
武泽权 北京信息科技大学
牟永敏 北京信息科技大学
张志华 北京信息科技大学
摘要点击次数: 197
全文下载次数: 66
中文摘要:
      在软件开发过程中绝大多数克隆代码集中在函数内部,为了更加快速有效的检测出克隆代码,提出了一种基于函数内部特征矩阵的代码克隆检测算法。该算法通过提取函数内部特征,从而达到将具体代码的比较转化为对特征矩阵进行相似度计算。实验结果表明,该算法可以检测出所有克隆函数,并与基于字符串代码克隆检测算法和基于串匹配的程序代码相似性识别方法相比,该算法在运行时间及精度上均优于基于字符串代码克隆检测算法和基于串匹配的程序代码相似性识别方法。其次,通过使用n-grams算法对函数名进行相似度检测,使得该算法在运行效率上得到了显著提升。
英文摘要:
      In the process of software development, most of the clone code is concentrated inside the function. In order to detect the clone code more quickly and effectively, a code clone detection algorithm based on the internal characteristic?matrix of the function is proposed. By extracting the internal characteristic?of the function, the algorithm converts the comparison of the specific code into the similarity calculation of the characteristic?matrix. The experimental results show that the algorithm can detect all clone functions, and compared with the string-based code clone detection algorithm and the string matching based program code similarity recognition method , the algorithm is superior to the string-based code clone detection algorithm and the string matching based program code similarity recognition method in terms of time and precision. In addition, by using the n-grams algorithm to perform similarity detection on the function name, the algorithm has been significantly improved in operational efficiency.
查看全文  查看/发表评论  下载PDF阅读器
关闭
你是第28679362位访问者
版权所有:科学技术与工程编辑部
主管:中国科学技术协会    主办:中国技术经济学会
Tel:(010)62118920 E-mail:stae@vip.163.com
京ICP备05035734号-4
技术支持:本系统由北京勤云科技发展有限公司设计

京公网安备 11010802029091号