基于小波神经网络对软件可靠性模型的研究*1

2016-09-02 07:26符兴安
楚雄师范学院学报 2016年3期
关键词:软件可靠性中间层小波

符兴安

(楚雄师范学院数学与统计学院,云南 楚雄 675000)

基于小波神经网络对软件可靠性模型的研究*1

符兴安

(楚雄师范学院数学与统计学院,云南 楚雄 675000)

软件可靠性是软件工程的一个重要的研究课题。软件可靠性模型可以预测软件产品的缺陷达到率。针对软件的缺陷达到率,利用小波神经网络对软件可靠性进行建模。通过理论分析和预测实验表明,该方法比Elman神经网络收敛速度快,逼近效果好,拓宽了软件可靠性模型的研究方法。

小波;神经网络;软件可靠性;缺陷达到率

随着人们在软件产业发展中对所需要的软件质量的重视,作为软件质量最重要的内容之—的软件可靠性研究已经成为软件工程学科的一个重点,对软件可靠性的研究显得越来越重要。一个好的可靠性模型可以准确评估和预测软件可靠性行为,这对于软件资源分配、软件市场决策有着重要意义[1]。在过去的二十多年,软件可靠性模型是软件工程领域中最为活跃的领域之一,有关软件可靠性模型与定量评估的研究也已经取得显著成果。目前已经有不少软件可靠性模型,当前常用的软件可靠性模型有Jelinski-Moranda(J-M)模型、Littlewood模型、Goel-Okumoto(GO)模型、Musa-Okumoto模型、Schneidewind(SM)模型、延迟S模型和变形S模型等[2]。这些软件可靠性模型一般都是基于演绎的建立在经典的概率统计基础之上的。人们为建立演绎模型不得不作出一些精确、无歧义的假设,以便将软件可靠性增长行为这个复杂的物理过程进行抽象和简化,从而最终建立预测模型[3]。这些软件可靠性模型从实际软件开发的观点来看,每一个可靠性模型都基于自己的假设,有一定的实用性和局限性。局限性主要表现在有些模型数据采集的成本昂贵,有些模型难以让人理解。人工智能技术和信息技术的飞速发展,为可靠性建模提供了众多的新方法。神经网络作为揭示软件可靠性模型的工具,可以用来预测未来的可靠性指标的走向。神经网络在软件可靠性建模中的运用得到了广泛研究。如使用BP神经网络方法预测了软件模块的缺陷数[3];应用RBF网络模型和AR模型混合方法进行软件故障的预测[4];运用kohonen网络进行软件可靠性模型的选择[5]等。这些模型由于传统的算法存在收敛速度慢和易于陷入局部极小问题,限制了神经网络的应用。为了克服传统神经网络算法的不足,本文提出了一种利用小波Elman神经网络对软件的缺陷达到率建立预测模型,经验证该模型能够快速、准确地预测软件的缺陷达到率。

1.软件可靠性模型简介

软件可靠性模型是过去二十多年软件工程中一个活跃的领域。人们提出了许多模型,这些模型都基于一定的假设,存在着一定的局限性。根据模型的相关变量,软件可靠性模型可以分为故障间隔时间模型和故障数目模型。

故障间隔时间模型是软件可靠性评价提出的最早的一类模型。故障间隔时间模型的变量为故障之间的时间间隔。这种模型通常假设第 (i-1)个缺陷和第i个缺陷模型的时间遵循着一种数学分布。在这种分布中,参数与第 (i-1)个故障后遗留在产品中的潜伏缺陷数目有关。分布的参数可以从故障之间观察到的时间间隔来进行预测。下一个故障出现的平均时间通常是模型中要预测的参数。

对于故障数目模型,变量是在一个特定时间间隔内的故障或失效数目。时间可以是CPU执行时间或日历时间。时间间隔预先设定,且在间隔内观察到的缺陷或故障数目作为随机变量。当缺陷被检测和从软件中移除时,通常希望单位时间所观察到的故障数目将会减少。保留下来的缺陷或故障数目是这类模型中估算的关键参数。

2.小波Elman神经网络结构及算法

2.1小波的基本概念

小波分析是近20年来发展起来的一个新兴数学分支,是一种多分辨的信号分析方法。有关概念简要复述如下[6]:

定义1设φ(t)∈L2(R),如果

则称φ(t)为一个小波。也常称为母小波或基本小波。

定义2对小波φ(t)进行伸缩和平移,可得到一族函数

则称φu,s(t)为小波φ(t)的小波函数。(2)式中,s称为尺度参数,u称为平移参数。

定义3设f(t)∈L2(R),f(t)的连续小波定义为

定理1如果小波φ(t)满足

则对任意f(t),g(t)∈L2(R)有

并且,f(t)可以通过(4)式进行重构

小波变换实质就是通过一个基本小波函数φ(x)平移或伸缩构成一族小波函数系去表达或逼近一个函数。

2.2Elman神经网络模型

Elman神经网络是Elman于1990提出的.Elman神经网络是一种4层的递归网络。Elman神经网络包括输入层、中间层 (隐含层)、承接层和输出层。输入层单元起到信号传输作用,输出层单元起线性加权作用。隐藏层单元的传递函数采用线性或非线性函数,承接层用来记忆隐含层单元前一时刻的输出值并返回给输入。Elman神经网络在前馈网络的隐含层中增加一个承接层,使系统具有适应时变特性的能力,能够直接反映动态过程系统的特性。

Elman神经网络的非线性状态空间表达式为[7]:

式(5)中,y、x、u、xc分别表示m维输出结点向量、n维中间层结点单元向量、r维输入结点向量和n维反馈状态向量。ω3、ω2、ω1分别表示中间层到输出层、输入层到中间层、承接层到中间层的连接权值。g(·)为输出神经元的传递函数,是中间层输出的线性组合。f(·)为中间层神经元的传递函数。Elman神经网络采用BP算法进行权值修正,学习指标函数使用误差平方和函数。

2.3小波Elman神经网络模型

小波神经网络是小波分析理论与神经网络理论相结合的产物。它综合了小波分析多尺度分析和神经网络自学习的优点,广泛应用于数据挖掘、模式识别等领域。小波分析理论与神经网络理论有两种结合途径[8]:

1)松散型结合,即采用小波分析作为神经网络的预处理手段。

2)紧致型结合,将小波分析和神经网络两者直接融合,即用小波基函数和尺度函数形成神经元。

本文的小波Elman神经网络是一种小波分析和神经网络紧致型结合的模型,这种小波网络结构上类似于Elman网络,也是一种四层回归神经网络。小波Elman神经网络将式 (5)中的中间层神经元的传递函数f(·)用小波函数代替。本文选取的Morlet小波基函数,其形式为:

3.仿真与结果分析

3.1模型仿真

本文选取文献[9]中的每周缺陷到达率的数据作为实例进行分析。利用前4个时序的数据模拟第5个时序的数据,样本采用滑动窗方法处理[10]。取第1~15周的缺陷到达率数据作为神经网络的训练样本,第16~20周的缺陷到达率数据为检验数据。网络的输入节点为3,输出节点为1,训练步骤设为15000;均方误差为0.0006。网络的训练和测试在MATLAB7.0环境中进行。图1为小波Elman神经网络用了454步训练达到预测目标。利用Elman神经网络进行预测,除神经元传递函数外,其余条件均不变。图2为Elman神经网络用了11667步训练达到预测目标。

图1 小波Elman神经网络454训练得到的均方误差

图2 Elman神经网络11667步训练得到的均方误差

表1给出小波Elman神经网络和Elman神经网络的模拟数据及预测数据。

表1 小波Elman神经网络和Elman神经网络的模拟数据及预测数据

由图1和图2可见小波Elman神经网络的收敛速度明显快于Elman神经网络。由表1可知,小波Elman神经网络的最大误差为0.0116,小波函数具有逐步精细的描述特性,使得小波Elman神经网络的逼近效果更好。从而大大提高网络模型的建模能力,精度有所提高。

4.结论

本文将小波Elman神经网络应用到软件的可靠性模型研究中,为软件可靠性模型建模提供了一种新的思路。相对于传统的可靠性模型,该软件可靠性模型具有非线性,预测准确性高,方法灵活的特点。从实例来分析是可行的,对预测结果有较好的适用性。同时,本文提出的模型也具有一定的局限性,它只适用于有一定样本规模的模型,无法仿真较少数据的模型。总之,神经网络理论作为软件可靠性模型建立的一种新的应用方法,对软件可靠性理论研究的完善起到了十分积极的作用,在软件可靠性模型的研究中具有广泛的发展前景。

[1]Kapur PK,Singh O,Mittal R.Software reliability growth and innovation diffusion models:An interface.Int'1 Journal of Reliability,Quality and Safety Engineering,2004,11(4):339—364.

[2]马飒飒,陈自力,赵守伟.软件可靠性及可靠性多模型综合研究[J].微计算机信息. 2006(6):263.

[3]张家海,胡恒章.组合导航系统软件可靠性的神经网络静态预测[J].哈尔滨工业大学学报.2002(10):698—699.

[4]马飒飒,王光平,赵守伟.基于时间序列的软件可靠性预测模型研究[J].计算机工程与设计.2007(6):2520—2523.

[5]吴勤,侯朝桢,原菊梅.基于kohonen网络的软件可靠性模型选择[J].计算机应用. 2005(10):2332—2333.

[6]徐宗本,柳重堪.信息工程概论[M].北京:科学出版社.2002:97—98.

[7]葛哲学,孙志强.神经网络理论与MATLAB R2007实现 [M].北京:电子工业出版社.2007:136—141.

[8]余健,郭平.基于改进小波神经网络的网络流量预测研究 [J].计算机应用.2007 (10):2986—2988.

[9]Stephen H.kan著,王振宇,陈利,余扬等译.软件质量工程的度量与模型[M].北京:机械工业出版社,2003:147—148.

[10]姚萌,刘渊,周刚.小波神经网络相结合的网络流量预测模型[J].计算机工程与设计.2007(11):5135—5159.

(责任编辑李艳梅)

Research of Software Reliability Model Based on the Wavelet Neural Network

FU Xing'an
(School of Mathematics and Statistics,Chuxiong Normal University,Chuxiong,675000,Yunnan Province)

The software reliability is an important subject of the software engineering field.Software reliabilitymodel can predict defect arrival rate.To predict defect arrival rate,this paper uses the wavelet neural network technology to build software reliability modeling.The demonstration results show that its convergent rate and approaching effectiveness of wavelet neural network is better than Elman neural network.Themethod is feasible to broaden the software reliabilitymodel research methods through theoretical analysis and prediction experiments.

wavelet;;neural network;;software reliability;defect arrival rate

TP183

A

1671-7406(2016)03-0006-05

2016-01-07

符兴安 (1964—),男,副教授,研究方向:神经网络。

猜你喜欢
软件可靠性中间层小波
Zn-15Al-xLa中间层对镁/钢接触反应钎焊接头性能影响
构造Daubechies小波的一些注记
一种十七股子午胎钢丝帘线
基于MATLAB的小波降噪研究
软件可靠性工程综合应用建模技术研究
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
数控系统软件可靠性设计与故障分析技术
镍基高温合金TLP扩散焊中间层材料研究进展
B含量对IC10合金TLP焊接用中间层材料及接头组织的影响
基于FPGA小波变换核的设计