欢迎来到天天文库
浏览记录
ID:51918778
大小:101.50 KB
页数:6页
时间:2020-03-19
《克隆代码检测方法综述.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、克隆代码检测方法综述任浩,史庆庆.张丽萍,刘东升(内蒙古师范大学计算机与信息工稈学院•呼和梏特010022)摘S:介绍了丸隆代码检测的研克盘义与发展历程,给出了水领域楫关的慨念梔架,闻述了几种成熟的克陰代码检测方法,并总结了各种检测方法的优燄点.同时採讨了关于克隆仪码检■测方法的相关研訖,总姑了研完过租中存在的问题,并展望了本领域的发展起势°关tt词:之除代码;检测方法;輙念框架:枚件维护;变构OverviewonApproachesofClonesCodeDetectionRENHao,SHIQingqing,ZHANGLiping,
2、LIUDongsheng(ComputerandInformationEngineeringCollege.InnerMongoliaNormalUniversity.Hohhm010022)Abstract:Tliispaperintroducestheresearchsignificance^thehistoryandtheconceptualframeofclonescodedetection,cdaboralesseveralmatureapprvache»ofclonescodedetectionandsummarizesth
3、eadvantagesanddisadvantage*ofeachapproach.Ihensomeclone-babiedrrsearcheswerediscu«sed^finally,itisconcludedwiththeproblemsandthepromisingtendencyofcodeclonesdetection・Keywords:codeclones;apprvacliesofdetectiixi;conceptualframe;M>ftwarvmaintenance;refaring1研究意义与发展历程1.
4、1研究索义克除代码乂称为更逐代码.通常是指软件系统中存在的相同或相似的代码片段叫软件系统中都存在一定数址的克障代码.文献[2]指出.在软件系统中.一般有5%-10%的克降代码,而JDK1.3.0中有20%以上的代码存在克隆现象山,Unux系统的内梭部分有15%-25%的克隆代硏叫文献[5]指出XWindows系统中大概有19%的克降代码。代码克降产生的原因比较复杂,右时瓦至是不可控的,文献[6]总结了儿种常见的产生代码克降现象的原因.如软件开发人员在开发过程中使用“复制・粘姑-修改”的手段,以及开发人员的一些编程陋习.还何轶件本身的设计
5、缺陷等。克隆代硏的存在会给软件系统帶来一定的危寓.文献
6、6,7
7、等阐述了代码克隆所带来的危害.大境克隆代码分散在软件系统中.会给软件理解和维护等相关工作带来很大的用堆,如果克除代码修改不一致.町能会引发-系列严改的较件问魁.这些因索都增加了软件开发人员的负担。在实际开发中要尽《a避免使用克隆代码,克降代码是软件系统中的“坏味逍时・域少克降代码有助于软件开发人员进行软件维护。因此.找出软件系统中存在的克隆代码.对软件开发人员进行软件维护和分析有若极其案要的总义。1.2发展历程对克隆代码检测方法的研究起源于上世纪90年代,1992年Bakr
8、开发了Dup叭被认为足最早的基干文本的克隆检测工具,接看一些学老们又提出了各种不同的克降代码检测方法卩,叫并进步研究了在克隆代码检测的基础上如何进行代码敢构冋、软件再工程网、软件维护M等MHoToshihiroKamiya等人开发的CCFinderc网是冃前比较流行的克隆代码检测工貝•他们在此基础上又开发了克隆代码虫构支持工具AK1ES叨和软件维护支持环境Gemini㈣等。JiangI.等人开发的CloneDR^也是比较需名的代码点隊检测工貝。近期,一些新的克降检测方法也被研究者采纳.如日本的KazuakiMaeda基于PALEX的源代
9、码衣示方法,从同法和语法的角度提出了一种新的代码克隆检测方法冋;大阪大学研究人员提岀的捉高了实用性的基于PDG的检测方法徳国BenjaminHummel等人提出了基于索引的克降检测算法也等。2概念框架2.1定义克降代码通常是指软件系统中存在的相同或相似的代码片段。但是兵体的相同或相似在不同的检测方法中要从诃法、语法、讲义3个方面来烁合考虑。文歎
10、9
11、援出只要两段代码片段满足一定的相似度就认为存在克降关系,文献(23)认为,只要购个代码片段的语义逻辑相同,就认为形成克隆。22代码克隆分类根据源代码文本的相似性可分为以下3类片:(1)除了空
12、格、注释、代码布局之外•代码片段完全相同;(2)除了对变呈名、类战或旳数名等进行审命名外,代码片段在语祛也金项目:国家自然科学基金(theNationalNaturalScienceFoundationof
此文档下载收益归作者所有