基于图神经网络的软件版本增量代码缺陷检测方法研究

来源 :西北大学 | 被引量 : 0次 | 上传用户:liur8888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件缺陷是软件或者程序中存在的某种破坏程序正常运行能力的问题、错误,其存在会给软件带来安全隐患。随着软件规模变大,其结构越来越复杂,如何在软件动态变更过程中尽早发现和修复软件缺陷,已成为各大软件公司关注的热点。软件缺陷预测(Software Defect Prediction,SDP)旨在通过某种手段检测当前项目中哪些模块可能出现缺陷。传统的软件缺陷代码检测采取全量检测方式,时效性较低,并且在缺陷代码表征方面采取专家所提取的特征信息,既耗费人力资源也不能充分学习到代码中复杂的语义结构信息。随着软件开发周期变短,软件版本变更频繁,如何高效的对软件版本缺陷进行检测显得尤为重要。为解决上述问题,本文提出一种将增量代码分析与缺陷代码检测相结合的方法,该方法在软件版本发生变更后通过关联代码分析计算版本变更后的增量代码,并在此基础上将软件的版本变更信息与增量代码特征进行融合,表示成图,最后与图卷积神经网络模型结合,实现增量代码缺陷检测,提高检测效率。本文具体的研究内容如下:(1)针对传统基于单一关系进行关联代码分析导致误报率较高的问题,提出一种基于变量传播路径的增量代码生成方法。一方面使用基于语法树的图匹配方法确定版本间变化的代码,降低代码中无效字符、注释等无效代码对变化代码生成的影响。另一方面提出基于变量传播路径多关系构图方法来记录变量在函数间的传播路径,并总结出三种关联分析规则帮助确定版本间增量代码。(2)设计并实现一种融合软件版本变更信息的代码图表示方法,将软件代码在版本变更过程中的动态信息与代码的语义结构信息进行融合来丰富代码特征表示。最后与图卷积神经网络结合,实现缺陷代码检测。(3)实现并评估本文提出的基于图神经网络的软件版本增量代码缺陷检测方法,并设计多组实验对该方法进行验证,实验表明该方法与传统方法相比,无论是在公开数据集还是开源数据集,其缺陷检测的F-Measure有较明显提升。由于该系统利用增量代码分析,因此大幅减少了版本间待检测的数据量,进一步提升了缺陷检测效率。
其他文献
人体姿态估计是研究定位图像或视频中人的关键点(关节点),并连接相邻关联关键点的技术。姿态多样、光照变化和环境遮挡等是影响人体姿态估计精度的主要因素。提高人体姿态估计质量在实践中有迫切的应用需要。本文重点围绕基于深度学习的复杂人体姿态估计问题展开研究。在深入研究现有基于深度学习的人体姿态估计方法的基础上,提出一个新的关键点关联约束的复杂人体姿态估计网络KACNet。该网络充分考虑了人体相邻关键点之间
自然语言处理技术诞生于上世纪50年代,随着时间的推移,先后经历了基于规则的方法、基于统计的方法以及近十五年来基于机器学习和深度学习方法的迭代更新,几年前伴随着BERT的呱呱坠地又掀起了一轮新的研究热潮。文本分类是自然语言处理中的一项重要任务,它的核心是从文本中抽取出能够体现文本特点的关键特征,寻找特征到类别之间的映射。近年来,另一种基于图结构数据的文本建模思想不断的发展壮大。与BERT不同,图神经
彩绘文物是宝贵的历史研究材料。线稿作为彩绘文物的重要组成,反映了文物图案的绘画结构,在文物修复和保护传承中具有重要作用。传统的线稿提取主要采用人工临摹的方式,不仅效率较低而且临摹准确度也因绘画水平不同有所差异。而基于图像处理的线稿提取方法可以高效且客观的提取线稿,具有广阔的应用前景。但是由于彩绘文物病害较多,图像背景复杂,现有方法提取效果还有较大的提升空间。近期深度学习在图像处理领域广受关注,取得
多视图分析能够较好地利用不同视图之间信息的兼容性和互补性,比单视图分析具有更好的决策性能,目前广泛应用于计算机视觉、目标检测、行为识别等领域。然而传统的多视图分析大多只研究成对视图间的关系,忽略了所有视图间关系,导致得到的公共空间判别性不强。尽管一些非成对多视图方法得到了判别性公共空间,却使用广义特征值分解方法对其近似求解,使得最终结果偏离全局最优解。因此,人们希望既能得到判别性公共空间,还能得到
媒体经过了五代发展,成为典型的数字网络媒体。数字网络媒体作为新时期新媒体的代表,其数字化控制管理水平更高。在现代化的数字媒体设计中,数字化的管理为媒体艺术的发展提供了更加丰富的表现形式。在新媒体传媒的作用下,中国传统文化及艺术通过多元化的新媒体传播渠道传播到了世界各国,也收获了更大范围的群体,以及他们对中国传统文化艺术的认可和欣赏。这其中包含了丰富多彩的中国元素。随着中国文化和艺术在国际上的地位越
脑瘫是指一组由产前、产时或产后非进行性脑损伤所致运动和姿势发育障碍的活动受限性疾病。作为一种非侵入无电离辐射的检测工具,磁共振成像(MRI)能够提供较高的软组织分辨率和丰富的影像信息,适合用于新生儿脑病筛查。但是目前我国大多数基层医院新生儿头颅MRI检查仅能够提供常规的MRI模式。面对挑战,现如今基于深度学习的新生儿大脑图像分割算法存在两点不足:一是过于依赖数据集;二是加深网络层数的同时增加了模型
近年来,随着对神经网络的不断探索及移动手机硬件的更新换代,越来越多的研究聚焦于如何设计有效的模型,支撑起移动终端的任务推理。图片分类是众多研究中的经典任务,可用于以图搜图、人脸识别、医疗影像等诸多领域,在现实中有重大实用意义。而在移动端上进行图片分类主要面临如下两个问题:神经网络模型往往是参数量大且计算密集型的,存储和计算资源的开销给移动端带来了很大的负担;而移动端和云端结合的处理方式虽然高效,但
秦始皇兵马俑挖掘出土时大多已破碎残损,大量文物碎片拼接修复复杂,其拼接复原便成为复杂的数学问题,高性能模型智能处理方法研究成为推动该问题解决的关键。由于直觉模糊集同时考虑了隶属度、非隶属度与犹豫度这三方面信息,更加适合处理多碎片拼接过程中“匹配”程度上的不确定性,为受损俑体自身形状模糊表示、特征缺失的模型表示、受损俑体自身特征模糊不易提取表示问题提供技术支撑,实现精准建模,支持在模型特征空间上的系
生物系统蕴含着各种各样复杂的结构与功能,例如其内部固有的异质性和催化转化等。为了进一步阐明这些复杂系统中的各种生理机制,推进单分子生物技术的创新发展已刻不容缓。与传统的集成平均法相反,单分子纳米通道技术可以在高时空分辨率下追踪单个生物分子的动态行为。更重要的是,该方法具有同时获取多个分子指纹信息的独特功能,因而适用于复杂生物流体和微小差异组分的高通量多重分析。本论文以此为出发点,将嵌入仿生分子受体
糖肽质谱数据的无标记定量算法是生物信息学中重要的研究内容之一。随着计算机技术的快速发展,使得面向糖肽质谱数据的无标记定量算法研究成为可能。为了完成计算机辅助的糖肽质谱数据无标记定量,本文解决的问题及主要工作如下:(1)针对峰簇混叠导致的峰簇分离提取易出错问题,本文结合离子同位素分布规则,提出了一种基于三维信息的多电荷混叠峰簇分离提取算法(3D-based Multiple-charges Over