【摘 要】
:
随着计算机技术的不断发展,软件的规模也在逐渐扩大。但由于在代码开发过程中的各种原因比如主观抄袭,使用复用技术等,导致产生了代码克隆现象。代码克隆虽然能帮助软件系统的开发,但在复杂的软件系统如大型国防软件系统、商用软件系统等会带来漏洞或者后门等危险以及知识产权的纠纷等问题。传统的代码克隆检测主要采用人工特征提取并进行比较,检测效果较差。基于深度机器学习的方法能够挖掘出更深层的语法语义信息,可以有效提
论文部分内容阅读
随着计算机技术的不断发展,软件的规模也在逐渐扩大。但由于在代码开发过程中的各种原因比如主观抄袭,使用复用技术等,导致产生了代码克隆现象。代码克隆虽然能帮助软件系统的开发,但在复杂的软件系统如大型国防软件系统、商用软件系统等会带来漏洞或者后门等危险以及知识产权的纠纷等问题。传统的代码克隆检测主要采用人工特征提取并进行比较,检测效果较差。基于深度机器学习的方法能够挖掘出更深层的语法语义信息,可以有效提升检测精度,因此相关的研究成为热点。本文在分析总结现有国内外基于深度学习的代码克隆检测技术的基础上,针对使用的不同中间表示形式和是否有标签数据提出了三个主要的研究内容并在每个研究内容之上提出了本论文的改进方法。(1)基于AST树表示形式的深度有监督代码克隆检测研究。本论文提出了一种结合树形卷积网络和自注意力双向门控循环单元的神经网络 TBCGSA(Tree Based CNN with BiGRU and Self-Attention)。通过实验,在本论文使用的数据集上,检测准确率取得了比现有模型更好的效果。(2)基于图神经网络的深度有监督代码克隆检测研究。本论文提出了一种将源代码的AST抽象语法树进行加边操作的方法,并使用了两种常见的图神经网络进行代码特性向量的提取。通过实验,在本论文使用的数据集上,在检测效率上取得了比较好的效果。(3)基于AST树表示的深度无监督代码克隆检测研究。本论文提出了一种基于多叉树输入的改进递归自动编码器网络,MTBRAE(Multi Tree Based Rucursive Autoencoders)。通过实验,在本论文使用的数据集上,在高语法克隆和语义克隆方面,取得比现有的其他传统和无监督代码克隆检测方法更好的效果。
其他文献
近年来,随着智慧交通的飞速发展,复杂城市环境下高精度定位的需求日趋旺盛。由惯性导航系统和全球卫星导航系统构成的INS/GNSS组合导航系统能够提供连续高精度的定位导航信息,弥补单一导航系统的不足。然而在实际的复杂城市环境中,GNSS信号极易受到高楼、林荫、隧道等遮挡,传统的组合导航系统会退化为纯惯性导航推算。由于受到微机械电子系统惯性测量单元量测噪声的影响,纯惯导系统的定位精度会随误差累积而发散。
肺癌是全球致死率较高的一种癌症,IASLC(国际肺癌研究协会)研究表明:随着肿瘤的不断增长,患者的死亡率会逐步上升。对肺癌患者来说,及时地诊断和治疗可以有效提高存活率。肺结节作为肺癌发病初期的临床表现,在肺癌早期的筛查中起到至关重要的作用。近些年,随着影像学成像技术的不断发展,更薄层的成像能够提高肺结节筛查的准确度,从而造成了肺部影像和诊断报告呈指数增长,大量的数据增加了医生诊断的难度。将深度学习
分类技术是数据挖掘中的热门,广泛应用于社会生活各个领域,通过学习得到一个分类模型,把每个属性集映射到一个预先定义的类标号。随着深度学习和神经网络的发展,分类任务也迎来了新的发展,但仍然面临着标注数据难获取、标注工作难度大等问题。面向少标签场景时,由于缺乏充足的标注数据,常规分类方法训练得到的模型分类效果不稳定、泛化性能差;而在一些特殊的领域,甚至无法获取到标注数据,这时由于缺乏标签信息监督模型训练
随着网络应用的发展,服务响应速度与延迟的要求日益提升,传统的集中式云计算难以满足网络服务对服务响应、隐私性保护等需求。将云计算与边缘计算融合的云边协同计算日益成为满足网络服务响应速度和隐私保护的一种新型计算模式,受到业内广泛关注。然而,由于边缘计算环境自身的环境复杂性、实时变化性、接入终端多样性等因素,云边协同这一新型架构的安全性与性能开销问题变得日益突出。为能够确保云边协同架构的安全性,如何确保