基于深度学习的代码克隆检测技术的研究与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:dozen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
开发人员为提高软件开发效率,通常会复制已有的代码片段,并粘贴或进行微小修改后重复使用。因此,软件系统中经常会出现相似的代码片段,这种现象被称为代码克隆。虽然代码克隆可以提高初始生产力,但它可能会导致漏洞传播,并增加软件系统的维护成本。近年来,代码克隆检测已经成为软件工程领域一个越来越重要的研究课题。最近的检测代码克隆研究表明,基于抽象语法树的神经网络模型比其他方法能更好地表示源代码。研究人员使用基于树的卷积神经网络(Tree based Convolutional Neural Network,TBCNN)或者或者基于树的长短时记忆网络(Tree based Long ShortTerm Memory,Tree-LSTM)来编码抽象语法树,从而获得包含程序语法结构信息的向量表示。现有的TBCNN和Tree-LSTM是有效的,然而它们有局限性。研究表明,与NLP中的长文本相似,当抽象语法树很深时,这些以树为基础的神经网络模型也容易受到梯度消失问题的影响,即训练时,梯度会变得越来越小。为了解决现有的基于树的神经网络模型无法很好处理很深的抽象语法树的问题,本文探索了两种分解抽象语法树的方法。第一种方法是将抽象语法树分解为一组AST路径,使用比较聚合(compare-aggregate)模型将一组AST路径聚合为一个向量,以此作为整个抽象语法树的表示。实验结果显示,与直接用Tree-LSTM或TBCNN学习整个抽象语法树相比,该方法更有效。第二种方法是将抽象语法树分解为一个路径增强的语句序列,然后提出了相应的神经网络结构PCAN(path context augmented network)来学习路径增强的语句序列的向量表示,以此作为整个抽象语法树的表示。实验结果显示,该方法确实取得了性能上的提升。
其他文献
学位
学位
学位
中国作为四大文明古国之一,加之近年来经济、文化水平不断发展,国际地位也得到了大幅提升。中华文明历经五千年历史长河,优秀的传统文化经过一代又一代地继承与传扬,在舞蹈文化中蕴含着强大的民族精神。优秀的传统文化是一个国家和民族的灵魂,舞蹈作为我国优秀传统文化的重要组成部分,在文化不断传承与发展的过程中,饱含了传统文化的独特魅力。古典舞作为民族文化的精粹,也在不断的创新与优化。审美意识决定审美标准与价值取
随着公共交通和物流吞吐量的剧增,特别是在节假日期间人员流动量非常大,给人工安检带来了巨大的挑战。利用计算机视觉算法辅助人工安检可以提高安检效率,当前基于计算机视觉技术的违禁品检测算法主要是基于图像分类和目标检测的,无法获取违禁品的轮廓信息,并且还存在违禁品边缘模糊、重叠、以及尺度不一的问题。为了解决这些问题,本文提出了一种基于深度学习的X射线安检图像违禁品分割算法,可以得到违禁品的轮廓信息,从而更
学位
在传统的考试场景中,由老师设计题目,考生作答,最终再由老师进行批改,整个过程中最为繁琐的便是人工阅卷的环节。人工阅卷不仅给老师带来繁重的工作量,而且容易出现批改错误、阅卷周期长的问题,对教学带来不利的影响。随着计算机技术的发展,答题卡中选择题填涂结果的自动识别技术已经被广泛应用。而主观题部分,由于涉及到图像手写文字检测、识别和理解等复杂问题,仍然依赖于人工批改。考生手写文字与试卷本身的印刷体文字分
基于毫米波感知的人类活动识别是实现人机交互的关键技术,例如,利用毫米波传感器对独居老人生活状态进行监测。先前工作证实了利用毫米波传感器进行活动识别的可行性,但在实际应用中还存在问题:大部分系统只能近距离识别而无法远距离识别,系统在噪声环境中识别率较低,以及由于时延较长而无法实时响应。因此,本文基于毫米波传感器,针对上述问题进行研究,研究内容及创新点如下。1.设计了基于毫米波传感器的实时远距离活动识
联邦学习能够使不同数据源(客户端)在不共享数据的情况下,进行深度神经网络模型的联合训练,已成为人工智能领域的一个热门研究方向。但是,传统联邦学习方法面临着设备、数据、模型上的异构性挑战,无法应对不同客户端的个性化特点与需求,导致学习效果下降。为此,本文研究了一种基于交叉注意力机制的个性化联邦学习方法,并面向分类任务进行了系统实现。主要工作包括:1.利用注意力(Attention)机制与客户端自身数
学位