[发明专利]一种基于JCUDASA_BP算法的软件缺陷预测方法有效
| 申请号: | 201510148727.9 | 申请日: | 2015-03-31 |
| 公开(公告)号: | CN104731709B | 公开(公告)日: | 2017-09-29 |
| 发明(设计)人: | 单纯;薛静锋;张亮;周杨森;董磊 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/08 |
| 代理公司: | 北京理工大学专利中心11120 | 代理人: | 仇蕾安 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 jcudasa_bp 算法 软件 缺陷 预测 方法 | ||
技术领域
本发明属于静态预测中的分布预测技术领域,涉及一种基于JCUDASA_BP算法的软件缺陷预测方法。
背景技术
术语解释:
人工神经网络模型(artificial neural network,ANN)起源于对生物系统的研究和模仿。人工神经网络以数学和物理方法以及从信息处理的角度对人脑神经进行抽象,并建立简化模型,模拟人脑的智能处理行为。人工神经网络可以划分为两大类,即前馈网络和后馈网络。后馈网络拓扑中的各个节点之间具有反馈机制,这种网络的信息处理是一种动态思想。前馈网络中各个节点接收前一级的输入,输出到下一层网络中,神经网络拓扑结构中不具有反馈机制,是一种有向无环的网络结构。这种结构简单易于实现。
BP(Error Back Propagation,BP)神经网络是一种误差反传神经网络,是一种有监督的学习方法。它将前馈网络结构的正向传播与错误反馈的逆向传播相互结合形成一种完善的学习过程。其基本思想:神经网络在外界样本的刺激下反向传播算法不断地动态修整网络的连接权值和阈值,以使网络的输出等同期望或者以设定的误差接近期望输出。在软件缺陷预测领域使用的神经网络主要是基于误差反向传播算法(Error Back Propagation,简称BP)或者该算法的某个分支/变种。
JCUDA是支持Java编程技术的CUDA运算平台。CUDA即Compute Unified Device Architecture的简称,是一款由NVDIA推出的运算平台,其突出特点是支持GPU内部的并行计算引擎,为基于GPU的计算提供并行化支持,从而提升程序的计算效率。目前,程序开发者对GPU技术的使用越来越多。CUDA技术以图形处理器为基础,针对其进行扩展。该技术已经广泛地运用至图形处理、科学计算等方面,并且受到广大科研人员的认可。此外,情报学领域、数学分析领域都在广泛地尝试使用CUDA技术解决运算速度的问题。CPU/GPU技术是目前一种具有较强优势的协同计算方法,通常是利用CPU管理GPU或者是利用GPU和CPU共同进行计算分别承担复杂计算的一部分。CPU管理GPU的方式充分利用了GPU的计算优势,但是却浪费了CPU的计算资源。反观GPU/CPU协同计算的方式则将GPU与CPU的计算能力很好地进行了释放。这种释放也是未来协同并行计算的发展方向。因此,利用JCUDA进行BP算法优化设计时,需要考虑CPU/GPU的哪种协同方式。明显地,后者较前者具有较大的优势,即CPU与GPU都承担部分计算工作,具有较强并行性的计算交由GPU进行处理,CPU既负责管理GPU也进行部分的非并行性计算。这样,可以有效地激发GPU/CPU的计算能力,结合JCUDA技术与BP算法,通过学习样本分解、多线程处理、CPU-GPU的处理模式,尝试性地对软件缺陷模型的学习过程的学习速度进行优化,从而使改进的BP算法软件缺陷模型具有更高的计算效率。
模拟退火算法(简称SA)是Kirkpatrick S等人于1980年提出的一种最优解求解算法。初期,其主要应用于设计大规模集成电路。但随着模拟退火算法的不断优化,模拟退火算法的应用面越来越广,逐步解决了收敛速度慢、应用范围窄的问题。目前,模拟退火算法被广泛地应用于工业自动化的优化算法中。其主要是为了解决以有限的代价求解最优化问题。模拟退火算法作为一种迭代自适应的算法,其通过随机概率减小算法陷入最优解的可能性,从而更加有效地实现对算法的改进。
软件缺陷预测技术诞生于20世纪70年代,半个世纪以来,伴随并见证了软件工程发展的历史,是软件工程学科中一个重要的组成部分。软件缺陷预测的主要作用体现在对质量保证工作的指导以及为平衡软件成本提供高价值参考。软件缺陷预测技术的主要思想是使用各种机器学习方法对软件度量数据进行分析。软件缺陷预测技术大体上分为静态和动态两种缺陷预测技术。静态预测技术,主要是指基于缺陷相关的度量数据,对缺陷的数量或者分布进行预测的技术;而动态技术则是基于缺陷或者失效产生的时间,对系统缺陷随时间的分布进行预测的技术。
发明内容
本发明针对现有基于误差反向传播算法(Error Back Propagation,简称BP)方法的缺陷预测准确率偏低、消耗时间过久的问题,提出一种改进BP算法,即基于JCUDASA_BP算法的软件缺陷预测方法,其预测结果比之原始方法(BP算法)准确率高、速度快。
本发明通过以下技术方案实现:
一种基于JCUDASA_BP算法的软件缺陷预测方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510148727.9/2.html,转载请声明来源钻瓜专利网。





