【摘 要】
:
代码克隆是具有相似语法或语义的重复代码片段。代码克隆检测在软件维护、代码重构以及漏洞检测等任务中起着重要的作用。为了节约大量的人力、物力,自动检测出代码库中的代码克隆是软件工程领域最重要的问题之一。近年来,利用机器学习技术分析源代码已经引起了人们的广泛关注,不少研究人员采用机器学习技术进行代码克隆检测。较早的研究工作主要使用信息检索方法,这丢失了大量的重要语义信息。最近的研究表明,借助于源代码的中
论文部分内容阅读
代码克隆是具有相似语法或语义的重复代码片段。代码克隆检测在软件维护、代码重构以及漏洞检测等任务中起着重要的作用。为了节约大量的人力、物力,自动检测出代码库中的代码克隆是软件工程领域最重要的问题之一。近年来,利用机器学习技术分析源代码已经引起了人们的广泛关注,不少研究人员采用机器学习技术进行代码克隆检测。较早的研究工作主要使用信息检索方法,这丢失了大量的重要语义信息。最近的研究表明,借助于源代码的中间表示形式,如抽象语法树,可以提高机器理解源代码语义的能力,进而更好地完成下游任务,如代码克隆检测。因此,本文主要从源代码的不同中间表示形式出发进行了以下研究工作,以更好地完成代码克隆检测任务:本文首先提出了基于语句树学习的代码克隆检测方法,将词法和语法信息结合分析起来表征源代码语义。本文选取了四个评价指标来衡量该方法在公共数据集GCJ上进行代码克隆检测任务的有效性。该方法在四个指标上都表现较好,其中F1分数为98.6%,超越了目前最先进的模型FA-AST-GMN;本文接着提出第二个方法:基于图的代码克隆检测方法。该方法首先将源代码的控制、数据依赖信息显式地添加到程序图表示形式中,然后设计了一个可学习的嵌入函数将程序图映射为一个嵌入向量表示,最后使用一种新的注意力机制,根据每个图节点所包含的全局信息,计算出不同节点的重要程度,进而通过图节点加权平均计算得到源代码的图级嵌入表示。本文使用该方法在公共数据集GCJ上进行代码克隆检测任务,其F1分数为95.4%。基于图的代码克隆检测方法只考虑了源代码的图结构信息,为了提高其精准率和召回率,本文进一步提出了基于融合表示学习的代码克隆检测方法,主要有两个改进:其一,在得到程序图表示后,使用源代码的文本信息(分别是Token级别和源代码语句级别的文本)作为图结构信息的补充;其二,使用序列网络对获取关于图的全局信息,以打破图神经网络k阶邻域信息传递的限制。该方法在公共数据集GCJ上的F1分数上表现为99%,超越了目前最先进的模型FA-AST-GMN。
其他文献
作文智能批改的需求与日俱增,然而目前针对不规范书写的中文手写作文识别任务尚未有一套完善的解决方案。篇幅级识别任务大多是针对于英文数据集,还没有已经开源的中文作文数据集。因此研究复杂场景下的中文手写作文图像识别方法具有重要意义。首先为了快速收集大量数据,本文开发了一个半自动化的人机协作作文标注系统。利用百度开源的sdk,为用户提供了两种人机协作的标注模式,能自动帮助用户切分行、生成标签;系统支持多层
对于居家的糖尿病患者来说,将CGM屏幕显示的血糖曲线拍照发送给远程管理血糖的医生是目前常用远程医疗方式。考虑到医生需要较为准确的数据进行诊断,因此需要考虑CGM血糖图像通过视觉检测进行数据提取。本文针对CGM血糖仪屏幕图像设计了数据提取的视觉检测算法,同时开发了CGM血糖仪图像数据检测系统。本文的主要研究内容如下:由于需要针对不同型号CGM血糖仪设计不同的视觉检测算法,同时获得大量CGM血糖仪屏幕
如今软件产品有着非常广泛的应用,软件错误的发生可能带来很严重的后果,软件错误的定位显得更为重要。人工定位错误耗时又费力,自动化错误定位可以节约开发人员时间,降低调试难度。基于变异的错误定位不涉及程序依赖关系分析,是一种轻量级的错误定位方法,计算复杂度低,同时又定位在语句级别,定位精度较高。但是因为其会有大量变异体生成并执行,所以花费成本较高。由于现有的变异算子是为模拟程序错误而设计的,若变异算子可
近年来,随着互联网和云计算技术的发展,我们逐渐从信息化时代向智能化时代迈进,互联网成为了最多源的信息采集平台。知识图谱打破了传统数据存储介质的局限性,并通过结构化的方式将实体和关系集成来自互联网上的多源异构数据,形成了统一化的语义网络结构。在数据收集、传输、探索和分析的基本技能中,最需要的一项是发现多源、多变量和流数据中的隐含的关系。无规范化的领域知识阻挡了本体和知识库的共享,由于本体的主观性和知
甲状腺结节是临床常见病和多发病。在临床中,普遍采用超声成像技术对甲状腺结节成像,生成的超声图像是医生对甲状腺结节进行诊断和治疗的重要依据。在临床中,超声图像通常由训练有素的专家阅读,他们通过撰写文字报告来描述患者的异常和疾病。超声图像的阅读和超声报告的撰写花费了放射科医生大量的工作时间,而且由于医生的时间和精力有限,会出现漏诊和误诊的情况。因此,医学超声图像报告的自动生成技术,即为一张超声图像自动
[研究目的]平台企业数据共享是维护市场安定、保护国家经济安全中的重要一环,数据所具有的竞争法品性,使得平台企业数据共享需要被纳入反垄断法进行规制。[研究方法]在反垄断背景下分析平台企业滥用数据优势的行为及危害,进而阐述平台企业数据共享的理论根源和实践现状。从平台市场竞争失序的理论根源研究出发,据此提出平台企业数据共享的理论支撑。对平台企业数据共享现状进行研究,发现平台企业数据共享运作机制存在着市场
随着互联网的不断发展,网民的数量逐渐增多,网络信息也呈爆炸式增长。这些信息基于用户的真实体验,蕴含着巨大的价值。目前可以使用情感分析技术挖掘其中的情感与观点,然而由于许多时候人们不直接通过情感词,而是选择“隐晦”地表达其真正想说的意思。隐式情感分析可以较好地处理这类问题。由于这类问题有一定的占比、不容忽视,且目前受到的关注较少,因此本文聚焦于隐式情感分析技术,对其中的各种任务做出研究。本文的主要研
传统的辅助维修主要靠维修人员的经验和极其简单的工具进行维修,在时间、设备和环境等方面受到极大限制,这使得维修工作变得难度大、效率低。增强现实(Augmented Reality,AR)的蓬勃发展,为维修工作提供了新的解决方案,如果能够在维修工作中利用移动设备和AR技术来辅助维修,将在很大程度上提高维修效率。同时边缘计算的发展,使得网络边缘的算力大大加强,利用边端协同策略提高辅助维修系统的性能也有了