[发明专利]一种基于JCUDASA_BP算法的软件缺陷预测方法有效

专利信息
申请号: 201510148727.9 申请日: 2015-03-31
公开(公告)号: CN104731709B 公开(公告)日: 2017-09-29
发明(设计)人: 单纯;薛静锋;张亮;周杨森;董磊 申请(专利权)人: 北京理工大学
主分类号: G06F11/36 分类号: G06F11/36;G06N3/08
代理公司: 北京理工大学专利中心11120 代理人: 仇蕾安
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 jcudasa_bp 算法 软件 缺陷 预测 方法
【权利要求书】:

1.一种基于JCUDASA_BP算法的软件缺陷预测方法,其特征在于,包括以下步骤:

步骤一、构建一个BP网络,初始化BP网络中各层的权值;其中所述网络包含一个输入层、一个隐含层和一个输出层,确定网络输入、输出节点数,确定隐藏节点,明确初始化权值,完成初始化BP网络结构;

步骤二、根据步骤一构建的BP网络结构,统计输入样本数量,根据输入样本情况利用JCUDA平台实现在GPU中启动线程计算各层输出,根据输出值与期望误差计算误差值;

步骤三、统计输出值与期望值之间的误差后,利用模拟退火算法计算是否接受当前误差,接受则完成;否则继续调整网络权值,每一个样本分条进行处理;

利用JCUDASA_BP算法对软件缺陷预测的运行时间进行优化、模拟,包括以下步骤:

第一步:设软件缺陷预测模型的学习样本为S,样本数为N,表示为公式1;

S=(S1,...,SN) 公式1

第二步:JCUDASA_BP算法在CPU中将学习样本划分为X个组合,则学习样本S表示为公式2;

S=S'=(S′1,...,S'X) 公式2

第三步:在公式2中,每一个S′i,i=(1,X)对应着N/X学习样本,当N/X的计算值不为整数时,分组阶段自动对该N/X的计算值进行向下取整获得一个参数n表示该N/X的计算值,公式2中,第i样本组的数据用公式3进行表示;

S′i=(S1·i,...,Sn·i) 公式3

第四步:当进行到S样本最后一个分组时,自动取剩余所有样本,以保证分组数据的正确与完整;

第五步:基于JCUDASA_BP算法的软件缺陷模型在GPU中启动多个线程,分别计算公式2中学习样本S的平均误差值,所有的样本的误差的表示为公式4;

公式4中,Δej表示第j个样本组合计算完的误差值,Δe表示全部样本集计算的平均误差值。

2.如权利要求1所述的一种基于JCUDASA_BP算法的软件缺陷预测方法,其特征在于,上述方法基于JCUDASA_BP算法利用梯度下降法和模拟退火算法对网络的权值进行修正,获得新的权值矩阵PR,即产生一个很小的随机扰动值Δ;利用模拟退火算法时,首先针对输入层与输出层的权值引入一个随机扰动Δpr,针对输出层与隐含层之间的权值引入随机扰动Δph,然后,分别计算Δph和Δpr的期望误差值;如果期望值变化量小于零,则接受该随机扰动;如果该变化量大于零时,根据模拟退火算法,以一个概率ρ接受当前解;当接收当前解时,记录前一任的解,以防止当前解陷入局部最小值或者局部最优解的情况。

3.如权利要求1所述的一种基于JCUDASA_BP算法的软件缺陷预测方法,其特征在于,在上述方法执行过程中,如果计算未完成则不停止GPU中计算BP算法的线程;当线程长期无反应时,基于JCUDASA_BP算法的软件缺陷预测,利用监控线程,根据其他学习样本的计算结果重新设定线程计算样本的结果,以获得更快的处理效率。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510148727.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top