基于神经网络的软件可靠性模型
【摘要】:
软件可靠性模型是当前软件可靠性工程研究中的热点问题之一。到目前为止,国内外建立的各种各样的软件可靠性模型已不下上百种,但是模型的应用范围一般只能局限在一定的子空间中,通用性比较差。而神经网络具备非常强的非线性运算能力,创建基于神经网络的软件可靠性模型的研究越来越受到重视。如何利用神经网络构建软件可靠性模型获得更高的预测精度和更强的通用性,是目前需要研究解决的重要问题之一。
本文围绕这个问题作了比较深入、系统的研究,主要工作有:
1.提出了一种新的级联软件可靠性模型。将前馈神经网络和几个经典的软件可靠性模型组合,利用经典软件可靠性模型的输出作为前馈神经网络模型的输入,创建出一个新的级联软件可靠性模型。这种新的级联软件可靠性模型具有比经典软件可靠性模型更高的预测精度,我们采用实际软件故障数据进行实验,验证了这一结果。
2.我们使用神经网络中混合专家模型的核心思想,采用“分而治之”原理,提出了一种新的软件可靠性模型,称之为软件可靠性混合模型。软件可靠性混合模型将在某些范围内适用性较强的经典的软件可靠性模型看成该适用范围的专家,利用一个顶层模型来控制这几个经典可靠性模型的输出。该模型综合利用了其他经典软件可靠性模型的优点,具有较高的预测精度和较好的扩展性。我们采用经典的实际软件故障数据对所提出的模型进行了案例研究,完全证实了我们预期的结果。
3.对提出的软件可靠性混合模型作了进一步改进,引入了分层混合软件可靠性模型。该模型在原有软件可靠性混合模型的基础上增加了底层专家的个数和门网的层数,利用期望极大化(Expectation Maximization -- EM)算法保证了训练的收敛性。改进后的分层混合软件可靠性模型不仅具有较高的预测精度,还能够实现对模型的智能选择。分层混合软件可靠性模型具有能够自适应不同输入空间的各种数据的性能,可以自动选择最适合的经典可靠性模型,实现了模型选择的智能化,其适用性更为广泛。