基于集成学习技术的代码克隆检测方法研究

来源 :浙江大学 | 被引量 : 0次 | 上传用户:YUZHOU2010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码克隆指的是相似代码片段在软件系统多处出现。它通常因开发者的复制习惯或设计理念产生,往往导致软件系统难以维护。如何自动化、快速而有效地定位这些相似代码以便更好地重构和维护软件是一项研究热点。传统的代码克隆检测方法大多基于静态文本分析技术,很难在语义相近的代码克隆检测上有好的表现。而实际上中大型软件系统中占大比例的正是这些语义克隆。近两年有几种结合深度神经网络模型的算法在代码语义克隆检测上取得了不错的效果,但是深度神经网络模型参数太复杂使得训练开销特别大。本文提出了基于集成学习的有监督分类模型,利用多个弱分类器捕捉可能的相似模式。同时配合有效的特征工程技巧,进一步挖掘代码的语法和潜藏的语义信息,实现高准确度和高效率的检测效果。本文主要工作和创新点有:(1)使用弱分类器和集成学习方法来解决代码克隆检测问题,实现了很好的重复代码检测效果,效率优于现有深度学习方法。(2)将词嵌入模型用于特征工程方法,将源代码视作有上下文逻辑的文档,利用词嵌入模型抽取代码段的向量表示形式。对源代码结构没有过多的中间形式转换,保留了代码的完整信息。本文在BigCloneBench数据集上设计了一系列实验,用于验证本文方法的效果,并从方法的准确度和时间开销上与基准线方法进行对比。实验结果证明,该算法能够很好的检测到绝大多数语义型代码克隆,并且时间成本较低,使得它在超大规模软件系统中执行代码克隆检测任务具有可行性。
其他文献
民主党派对于提高执政党的执政能力有着特殊的意义。本文试从民主党派参与民主政治的历史,在民主政治建设中的优势和作用,以及在民主政治建设中时所面临的问题,论析民主党派
当前,世界经济仍处于艰难复苏之中,港口行业进入平稳增长期,在市场竞争日趋激烈、市场需求与企业内部经营共同转变的双重压力下,实施转型升级是实现提质增效的必由之路。为做
加工贸易是国际贸易的主要形式之一,随着各种经济形势的变化,加工贸易在各国会以不同形式逐步实现转型升级,这在亚洲部分国家或地区得到了成功实践。
<正>预算绩效管理是政府绩效管理的重要组成部分,是深化行政管理体制改革、提高政府公信力的重要举措,对于提高公共资金使用效益、有效缓解预算收支矛盾有着重要意义。编制预
徽州区杨村乡农产品传统店铺销售模式已不适应时代发展,必须予以改变,实现农产品线上销售。本文分析了徽州区杨村乡发展农产品电子商务存在的现实障碍,包括网络普及率低、信
<正>背景材料:2015年11月16日,财政部、人力资源和社会保障部、国家卫生计生委共同发布2014年全国社会保险基金决算报告。报告显示,2014年,在企业职工基本养老保险基金一项,
本文以上市公司年度报告中披露的风险信息为研究对象,通过关键词识别各类风险,考察2011年我国A股制造业上市公司风险信息披露的状况。研究发现,样本公司风险信息披露基本可以
目的总结整理国内外关于阿司匹林服用时间的随机对照实验并采用meta分析法评估更合适的阿司匹林服用时间。方法制定原始文献的纳入标准、排除标准及检索策略,在Medline、EMBA
本文在分析山东、广东、江苏、浙江四省港口发展现状的基础上,明确了山东港口发展存在的问题,从"官产学研"协同创新合作的角度,提出山东港口转型升级、实现可持续发展的具体
本文从积极影响与消极影响两个方面,分析电子商务对国际贸易的影响,探究电子商务环境下国际贸易的发展现状,突出表现在电子商务应用水平不够均衡,电子商务基础设施有待完善等