基于深度学习的代码相似性检测算法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:gaohenghao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机技术在软件方面的发展离不开大量的编码,这些源码许多都能够通过互联网方便获取到。虽然这方便了大家对编程的学习,却也导致在编码上存在大量抄袭行为。因此,方便、有效、快捷的代码抄袭检测方法在当前的时代背景下就显得尤为重要。传统的代码相似性检测方法大多利用程序的属性或结构信息,随着时间的推移,对属性的选择和统计越来越纷杂,对结构的分析也越来越复杂。对相似度检测方法的设计者来说,选择哪种属性和结构信息,以及使用哪种方式利用这些信息是一项困难的工作。针对代码相似性检测方法中属性或结构信息选择和利用困难的问题,提出了一种基于深度学习的代码相似性检测方法。该方法先通过预处理将代码转换为时间序列,再利用神经网络的学习能力让算法自己提取这个时间序列中的特征,而无需人为选择。提取出的特征以特征向量的方式展现,最后两个特征向量之间的余弦相似性体现了两份代码之间的相似性。同时,对于不同的使用场景,如编程语言不同,也可以通过改变训练数据来完成适配,而无需修改算法。实验结果表明,该方法具有很好的检测效果。如今高校普遍设立程序设计课程,学生在完成作业过程中存在不少抄袭情况,而对老师来说,人工判别抄袭情况是一件费力且准确率低的事情。因此,根据设计的基于深度学习的代码相似性检测方法,开发了一个面向高校C语言程序作业代码抄袭检测系统。用户在系统中上传代码,系统将返回这些代码的相似度情况。通过试运行,证实这个系统极大地提高了老师批改C语言作业的效率和对抄袭的判别准确率。
其他文献
随着计算大量向云端迁移,越来越多的计算工作将在数据中心的服务集群上完成。容器技术契合了以应用为中心的时代的需求,被广泛使用在应用的部署当中。容器技术区别于传统的虚拟机技术,没有虚拟的硬件层,所有容器直接共用宿主机的内核。这种结构给容器带来轻量级、快启动、易迁移等优势,但与此同时,也使得容器不可避免地存在系统资源隔离不彻底的缺陷。所以,提升容器的隔离性一直是业界关注的重点。Linux系统的内核日志属
学位
文本分类是自然语言处理领域中当前学术界和工业界最受关注的前沿问题之一。通用的文本分类算法极大依赖数量充足且类别均衡的数据集,而在实际任务中面对新闻文本数量有限且类别不均衡的情形,文本分类算法效果不佳,鲁棒性较差。此外,由于新闻具有文本风格跨度大、长文本语义丰富且表达方式多样的特点,针对新闻领域的文本分类已成为重大挑战。基于以上问题,提出了层次数据增强和学习方法框架HDAL,并应用于新闻文本分类任务
学位
编译器测试是保证编译器质量的重要手段。现有的编译器测试技术,在测试的过程中都忽略了执行时间过长的测试程序占用了大量测试资源的问题。这里,执行时间过长的测试程序被称为为超时程序。超时程序的执行时间是正常测试程序执行时间的成百上千倍,执行这类超时程序会严重影响编译器的测试效率。同时,在大量的测试程序中,能够触发编译器缺陷的测试程序仅占少数,称为揭错测试程序,执行大量无法触发缺陷的测试程序同样也会导致编
学位
漏洞是各种网络空间安全事件发生的根源。软件的开源化趋势成为主流,安全缺陷随着开源软件的使用和迭代快速传播。为尽早发现并修补漏洞,源代码漏洞检测技术成为研究的热点。基于深度学习的漏洞检测技术可以自主学习漏洞表征生成检测模型,减少了人工的参与,提高漏洞检测的速度和能力。然而,目前软件安全领域缺乏大规模、真实的、有效的漏洞数据集。人工构造的漏洞数据集样本类型简单、特征单一,难以支撑真实软件漏洞检测的研究
学位
儿童脓毒症发病率高、病程发展快,发病机理复杂,在临床上呈现多样化。由于缺乏黄金诊断标准,导致了其早期诊断困难。在传统数据分析难以对高维、复杂线性关系的数据进行有效分析的情况下,可以利用机器学习来进行儿童脓毒症危险因素的识别,以实现早期诊断。针对医疗数据高缺失率、复杂相关性的特点,提出了基于机器学习的特征贡献度评估方法。使用梯度提升树构建分类预测模型,再使用树模型的夏普利加性解释(Tree SHap
学位
<正>习近平总书记在党的二十大报告中指出,全面推进乡村振兴,坚持农业农村优先发展,巩固拓展脱贫攻坚成果。四川省德阳市认真学习领会党的二十大精神,自觉与学懂弄通做实习近平新时代中国特色社会主义思想贯通起来,与深入学习贯彻习近平总书记来川视察时的重要指示精神结合起来,坚持以党建为引领,以产业发展为重点,以人才赋能为关键,加快推进新时代乡村全面振兴,为全面建设社会主义现代化国家夯实广泛而深厚的基础。
期刊
随着人口老龄化问题的加剧,阿尔茨海默症带来的社会问题日益严峻,尽早诊断与干预治疗具有重要的社会意义与经济意义。近年来,基于机器视觉的阿尔茨海默症识别算法发展迅速,但是仍然面临缺乏大规模训练数据集、算法精度不高以及运行效率较低等问题。本研究旨在基于深度学习改进卷积神经网络(CNN),提高阿尔茨海默症预测算法的精度与效率。针对目前2D CNN未能利用MR图像的三维特性,提出一种三方向2D CNN识别网
学位
互联网高速的信息产出对信息检索技术提出了更高的要求,促使人们在获取信息时从传统的搜索引擎式检索系统转向更为友好的智能问答系统。知识图谱的出现使得结构化的知识数据的存储和理解变得更加便利,从而推进知识图谱问答系统在各领域的应用。在医疗领域,时值2020年新型冠状病毒肺炎疫情全球性爆发,医疗相关知识获取需求凸显。为了满足用户对新冠医疗领域知识获取的需求,设计并实现了基于知识图谱的新冠医疗问答系统。在内
学位
新闻是自然语言处理领域中重要的研究对象之一,从海量新闻中挖掘出内容相关的新闻进行推荐有助于提高用户的阅读体验或用于相关新闻内容分析。对新闻进行特征建模时,传统的文本编码器难以保留长文档中丰富的语义信息和句法结构,因此,文档的图表示法被提出用于发现长格式文档的潜在语义结构。然而新闻文档通常含有复杂的语义交互信息,如何将多样的语义信息建模成网络的表示形式,并从中学习有效地表征用于相关新闻推荐系统是具有
学位
车道线检测作为各类智能安全驾驶辅助系统的核心技术,经过大量研究人员在该领域的研究,已经取得比较显著的成效。但是现有的各类车道线检测算法在各类车道干扰因素如光照不足,阴影遮蔽,车道路面结构的突变等影响下会出现检测车道线不完整以及将车道裂缝当作车道线的误检问题。因此,设计一个在复杂环境下也可以良好检测车道线的算法有着确切的应用意义。对复杂环境下车道线特征进行研究并结合目标检测的方法,提出一种可以自适应
学位