摘要
本发明公开了基于图代码语义的软件缺陷预测方法,包括步骤:S1、提取控制流图/程序依赖图:使用改进的Java工具TinyPDG解析源代码,获得Java类中所有方法的控制流图/程序依赖图;S2、连续词袋模型训练与提取方法级别的特征向量:利用连续词袋模型对控制流图和程序依赖图的语料库进行训练,结合多头注意力和双向长短期记忆网络提取方法级别的特征向量;S3、联合特征提取:基于加权和的方法,将方法级别的特征向量聚合为文件级别的特征向量,然后结合手工标记特征,构造联合特征;S4、经过数据的平衡化处理后,使用机器学习模型作为分类器进行缺陷预测。本发明结合深度学习方法来进行跨项目缺陷数量预测,通过使用自然语言处理方法对控制流图/程序依赖图来提取语义特征,然后使用深度学习方法匹方法级别的特征,并和手工标记特征进行联合,提高了模型在项目缺陷预测方面的性能。
技术关键词
软件缺陷预测方法
程序依赖图
双向长短期记忆网络
词袋模型
软件缺陷预测模型
联合特征提取
标记特征
深度学习方法
机器学习模型
储存库
注意力
机器学习方法
项目
分类器
解析方法
语义特征
手工
自然语言
系统为您推荐了相关专利信息
海面风速反演方法
反演模型
双向长短期记忆网络
训练样本集
交互注意力
辅助教学设备
多麦克风阵列
音频
音乐教育辅助
深度学习算法
软件缺陷预测方法
抽象语法树
遍历算法
软件缺陷预测模型
主节点
热管
拓扑设计方法
设计约束条件
评价指标体系
粒子
卷积循环神经网络
疲劳检测方法
时序特征
电信号
特征提取模块