[发明专利]一种基于深度迁移的软件缺陷预测方法有效
| 申请号: | 201910446546.2 | 申请日: | 2019-05-27 | 
| 公开(公告)号: | CN110162475B | 公开(公告)日: | 2023-04-18 | 
| 发明(设计)人: | 陈晋音;胡可科;刘毅;宣琦 | 申请(专利权)人: | 浙江工业大学 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/214;G06Q10/04;G06N3/0464 | 
| 代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟;曹兆霞 | 
| 地址: | 310014 浙*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 深度 迁移 软件 缺陷 预测 方法 | ||
1.一种基于深度迁移的软件缺陷预测方法,包括以下步骤:
(1)采用可视化方法将源项目和目标项目的源代码文件转化为图像文件,转化时,针对源项目的源代码文件,采用三原色排列组合策略对图像进行扩充,形成训练集;将目标项目的源代码文件转化为图像文件作为测试集;其中,采用可视化方法将源代码文件转化为图像文件的过程包括:
首先,将源代码转化为二进制表达序列,并将二进制表达序列转换为八进制向量,再将八进制向量转化为0~255之间的文件向量file(xi),其中,0≤xi≤255,i为索引号,取决于源代码文件的大小;然后,将R、G、B三原色按照不同的排列顺序形成RGB、RBG、GBR、GRB、BGR和BRG六种排列方式,命名为三原色排列组合策略;最后,按照三原色排列组合策略中至少一种排列方式将文件向量转化为预测尺寸的图像;
(2)构建深度迁移网络,其中,所述深度迁移网络包含用于提取特征的特征提取单元和用于软件缺陷预测的软件缺陷预测单元,并在特征提取单元采用自注意力机制;
(3)根据采用自注意力机制提取的训练样本特征和测试样本特征之间的最大均值差异,和深度迁移网络的预测输出与样本的真值标签自检的交叉熵构建损失函数,并以损失函数收敛为目标,采用训练集和测试集对深度迁移网络进行训练,当满足训练截止条件时,网络参数确定,将获得软件缺陷预测模型;
(4)应用时,采用可视化方法将待检测源代码文件转化为图像,并将图像输入至软件缺陷预测模型,经计算,输出待检测源代码文件的缺陷预测结果。
2.如权利要求1所述的基于深度迁移的软件缺陷预测方法,其特征在于,针对源项目的源代码文件,采用三原色排列组合策略中六种排列方式将文件向量转化为预测尺寸的图像,以实现对图像的扩充。
3.如权利要求1所述的基于深度迁移的软件缺陷预测方法,其特征在于,针对目标项目的源代码文件和待检测源代码文件,采用三原色排列组合策略中任意一种排列方式将文件向量转化为预测尺寸的图像。
4.如权利要求1~3任一项所述的基于深度迁移的软件缺陷预测方法,其特征在于,预测尺寸设定规则为:
其中,生成图像长度取决于根据源代码文件大小。
5.如权利要求1所述的基于深度迁移的软件缺陷预测方法,其特征在于,所述深度迁移网络包括:
特征提取单元,其包括依次连接的卷积层conv1、卷积层conv2、卷积层conv3、卷积层conv4、卷积层conv5;
注意力层,其包含有自注意力机制,作用于特征提取单元的任意卷积层上,用于对有利于分类的特征进行加权;
软件缺陷预测单元,其包括依次连接的全连接层fc6、全连接层fc7、全连接层fc8、全连接层fc9,且全连接层fc6的输入连接卷积层conv5的输出,全连接层fc9作为二分类的输出层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910446546.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于抽象语法树的智能合约重入漏洞检测方法
 - 下一篇:测试方法及装置
 





