基于序列匹配和字节码的代码克隆检测研究

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:lhtlunwen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件开发过程中,开发人员通常通过复制-粘贴或者添加少量修改来重用代码,这种行为往往会使软件系统中存在大量的代码克隆。代码克隆在给开发人员带来便利的同时也会给软件的理解和维护带来一定困难。通过对软件系统中存在的代码克隆进行检测,可以帮助开发人员快速了解软件系统中克隆代码的分布情况,方便开发人员对这些克隆代码进行维护与重构。为了能够在软件规模较大时有效地检测代码克隆,本文提出了一种基于序列匹配的代码克隆检测方法。该方法通过对原始的Smith-Waterman算法进行改进,引入了一种静态加速扣分策略,从而解决了 Smith-Waterman算法在被检测代码段较长时引起的马赛克问题。同时,该方法通过构建闭合回溯路径对Smith-Waterman算法的回溯过程进行改进,从而提高了该算法在代码克隆识别阶段的效率。接着,本文提出了一种基于字节码的多粒度的Java代码克隆检测方法。通过分析字节码的控制转移指令,该方法能够同时检测出方法粒度与块粒度的代码克隆。特别地,在计算相似性过程中,该方法在指令序列相似度比较的基础上加入了方法调用序列的相似性比较,从而使得代码克隆检测的结果更加准确。由于Java字节码相比于源代码能够更好地反应源代码的语义信息,所以该方法能够更好地检测语义克隆。最后,本文通过两个实验分别对提出的两个方法进行评估,并将本文的方法与现有的一些代码克隆检测方法进行对比,如Nicad、CDSW以及Decard等。实验结果表明,基于序列匹配的代码克隆检测方法的F-measure在测试软件上都有很大提高。同时,基于字节码的Java代码克隆检测方法相对于现有的一些方法,在准确率、召回率与F-measure的平均值上都有一定程度的提高。
其他文献
杭州,凯旋门商业中心,五洋建设集团股份有限公司的总部。”可上九天揽月,可下五洋捉鳖”。“沧海桑田话历史巨变,继往开来显五洋神威”。前者是毛主席的诗,后者是费孝通先生的题词
杜预、王济、孙绰、许询四人均是晋代的玄言诗人,钟嵘的《诗品》下品将四人合列一条:“永嘉以来,清虚在俗。王武子辈诗,贵道家之言。爰洎江表,玄风尚备。真长、仲祖、桓、庾诸公犹相袭。世称孙、许,弥善恬淡之词。”可见在钟嵘眼中,四人的玄言诗是最能代表整个两晋玄言诗创作的。杜预其作为玄言诗人的身份少有人提及,这不仅是因其诗今已亡佚,更是因为关注点多集中在其对《左传》的贡献上。王济,太原晋阳人,曹魏司空王昶之
摘 要:黑龙江省位于中国与俄罗斯的边境,并且边境的交接占俄罗斯国家全部边界的一半以上,并且通过俄罗斯拥有可以到达韩国和日本最为省时省力的路线,独特的地理位置使其黑龙江成为重要的交通地点,在国家推行的“一带一路”战略中明显具有优势,也因此成为我国推动对外经济贸易的重要基地,而龙江丝路带是黑龙江陆海丝绸之路经济带的简称。  关键词:龙江丝路带;贸易投资;投资便利化  随着时代的发展,越来越多的国家开始
中小城市已成为目前中国经济社会发展的重要支撑,随着信息技术革命和网络经济国际化的挑战,给中国的服装产业带来了巨大冲击,中小城市中的中小型服装企业也在逐步的顺应当前的市
带状疱疹是由水痘-带状疱疹病毒引起的病毒性皮肤病,多见于中老年人,其主要症状是神经痛,而且年龄越大疼痛越重,如治疗不当,容易发生后遗神经痛(postherpetic neuralgia,PHN)
煤炭在整个地质年代中,全球范围内有三个大的成煤期:古生代的石炭纪和二叠纪,成煤植物主要是孢子植物。主要煤种为烟煤和无烟煤。
《知识经济·中国直销》9月刊简析了目前减肥药市场的桎梏性以及微商减肥药的胡乱作为,以减肥药物、蛋白质疗法、酵素和各类代餐为核心的1.0至4.0的传统减重时代已成过去
2018年,当绿叶的“智惠零售”战略在业内打响后,绿叶在新零售领域的发展模式便不断更新和升级。如今,有了惠购APP的前端支持、研发中心的技术支持以及绿叶大学的人才支持,绿
法者,治之端也。法治兴,则交通兴、国家强。$$党的十八大以来,习近平总书记围绕全面依法治国提出了一系列新理念新思想新战略,深刻回答了走什么样的法治道路、建设什么样的法治体
报纸
长久以来,总统套房一直是奢华体验的代名词,身份地位的隐喻验证,也成为许多人梦想进行时的一个重要驿站。这个颇具想象力的词汇多少带着遥远神秘的色彩,与奋斗的理想保持着若即若