基于新环境因子函数的软件可靠性增长模型的建模方法

文档序号:6343989阅读:178来源:国知局
专利名称:基于新环境因子函数的软件可靠性增长模型的建模方法
技术领域
本发明涉及软件可靠性模型研究领域,特别是考虑测试与运行环境区别,提出一种基于新环境因子函数的软件可靠性增长模型的建模方法。
背景技术
随着软件应用领域的扩展和功能要求的进一步提高,软件系统规模日益增大,计算机系统中由软件实现的功能所占的比例迅速增加,软件的可靠性成为人们关注的焦点之一。如何准确的度量和预测软件系统的可靠性是当前软件可靠性研究领域的一个热点。软件可靠性建模是软件可靠性工程的基础,旨在根据软件可靠性数据以统计的方法给出软件可靠性的估计值或预测值,评估软件的可靠性,是软件系统可靠性评估和预测的关键技术之一。在软件开发的测试阶段,不断地检测并排除软件故障,提高软件可靠性,描述这个过程的模型称为软件可靠性增长模型(Software Reliability Growth Model,简称SRGM)。 绝大多数的软件可靠性增长模型所采取的软件可靠性标准都是测试可靠性,只有在少数文献中提到了运行可靠性标准(可参考文献J. D. Musa. A theory of software reliability and its application. IEEE Transactions on Software Engineering,1975,3(1) 312~ 327 禾口 Suresh N, Babu. AJG. Software reliability estimation and optimization, a nonhomogeneous poisson process approach. International Journal of Quality and Reliability Management. 1997,(14) :287 300)。软件运行阶段,不同的硬件平台、操作系统和不同的应用软件的作用,使得软件运行环境和测试环境不可能一致,而对软件系统可靠性的预测,是对用户实际操作环境中可靠性的预测。测试环境与运行环境的差别对软件可靠性建模的影响主要体现在以下几点(1)理想条件下,软件系统的测试环境和用户的使用环境相同,软件测试根据用户的操作剖面,运行足够长的时间,得到符合实际情况的失效率。然而,在实际中,这是不可行的,因为给予运行剖面的测试在资源和时间上耗费高的惊人。所以在软件测试过程中,为了降低成本和提高效率,人们会采用多种测试方法和测试工具加速软件的失效,测试环境会加速软件的实效过程,从而导致对运行阶段的失效强度悲观估计,也就造成软件可靠性估计值与实际值不一致。(2)在软件发布之前,很难定义运行剖面,即用户执行某项操作及其发生的概率, 测试阶段输入域中输入点选择的分布和测试剖面下分布是不同的。另外,不同的测试方法对输入点的选择有差异,这就会形成不同的测试剖面,得到不同的可靠性估计数值。(可参考文献 M. H. Chen, A. P. Mathur, V. J. Rego. Effect of Testing Techniques on Software Reliability EstimatesObtained Using Time-Domain Models. IEEE Transactions on Reliability,1995,44(1) :97 103)。(3)测试阶段对可靠性分配的方法各异,比如对于软件系统中的异常处理部分, 如果按照运行剖面对软件系统进行常规测试,对处理异常事件部分软件被执行的概率非常低,而实际测试中,要执行很多测试用例来测试异常处理模块,在这种情况下,输入点的选择与分布和运行剖面下的选择与分布也是不同的。因此,研究测试环境与运行环境的差别以及对软件可靠性建模的影响,建立运行阶段的软件可靠性模型势在必行。目前,考虑测试环境与运行环境差别的研究主要是利用环境因子(Environmental factor)降低因测试环境与运行环境的差别给软件可靠性估计精度造成的误差。这种方法是用一个变量表示环境因子,把软件系统在运行环境下的故障检测率和测试环境下的故障检测率通过环境因子联系起来。^;^ :X. Zhang, R. J. Daniel, H. Pham ^t 2002 $1 白勺《Calibrating software reliability models when the test environment does not match the user environment》提出了环境因子(Environment Factor)的概念,将其定义为两种环境下平均故障检测率的比值,这个比值是一个常数。文献X.Teng,H. Wmm在2004年发表的 《A Software Cost Model for Quantifying the Gain with Considerations of Random Field Environments》,该文献应用环境因子概念来描述测试和运行环境的差别,它提出一种与环境因子有关的软件可靠性模型,假设环境因子是一个随机变量,软件系统在运行环境下的故障检测率为测试环境下的故障检测率除以环境因子。但是,他们假设环境因子是不随时间变化的常数。文献Jing ^iao等在2006年发表的《Software Reliability Growth Model with Change-Point and Environment Function》提出环境因子是随时间变化的,
并使用Logistic曲线拟合环境因子函数=MO = TT^r,其中N,A,。为待定系数。但是,
1 + ^4 χ eο
Logistic曲线并不直观,数学处理非常复杂,并且用Logistic曲线拟合环境因子后得到的运行阶段软件可靠性模型的预测误差比较大。

发明内容
本发明的目的是考虑测试环境与运行环境的差别,解决由于Logistic曲线数学处理复杂,拟合和预测误差大的问题,提出一种基于新环境因子函数的软件可靠性增长模型的建模方法。本发明一种基于新环境因子函数的软件可靠性增长模型的建模方法,具有以下步骤步骤一、将软件系统实际失效数据分离为测试阶段和运行阶段的失效数据;步骤二、以几个经典的非齐次泊松过程(Non-Homogeneous Poisson Process,简称NHPP)类软件可靠性模型为基础,利用测试阶段的失效数据,采用最小二乘法估计这些模型的参数,并采用误差平方和SSE和回归曲线方程的相关指数R-square评估这些模型的性能,选择其中一个拟合效果最好的作为测试阶段的最优软件可靠性模型,进而得到测试阶段的随时间变化的平均故障检测率‘中);步骤三、定义随时间变化的平均的环境因子形式,确定运行阶段随时间变化的平均故障检测率“《(()随时间变化的平均环境因子印)可以表示为
权利要求
1. 一种基于新环境因子函数的软件可靠性增长模型的建模方法,其特征在于,该建模方法包括如下步骤步骤一、将软件系统失效数据分离成测试阶段的失效数据和运行阶段的失效数据; 步骤二、选择非齐次泊松过程类软件可靠性模型,利用测试阶段的失效数据采用最小二乘法估计所选择的各软件可靠性模型的参数,并采用误差平方和SSE和回归曲线方程的相关指数R-square评估所选择的各软件可靠性模型的性能,选择其中一个拟合效果最好的作为测试阶段的最优软件可靠性模型,进而得到测试阶段的随时间变化的平均故障检测率L(Zl);步骤三、定义随时间变化的平均的环境因子形式,确定运行阶段随时间变化的平均故障检测率“《㈦;随时间变化的平均环境因子E⑴为
2.根据权利要求1所述的一种基于新环境因子函数的软件可靠性增长模型的建模方法,其特征在于,步骤四中所述的使用最小二乘法确定的系数为A = 3. 7,B = 0. 000036, C =0. 01。
全文摘要
本发明公开了一种基于新环境因子函数的软件可靠性增长模型的建模方法,解决由于Logistic曲线数学处理复杂,拟合和预测误差大的问题,采用NHPP类软件可靠性模型,在已有的失效数据上估计各个模型的参数,计算拟合误差,选出测试阶段最优的拟合模型,然后根据经验数据拟合环境因子,提出一种新的随时间变化的环境因子函数,通过环境因子和测试阶段的故障检测率得到运行阶段的故障检测率,建立基于新时间函数的环境因子的软件可靠性模型。本发明所建立的模型具有很高的估计精度,实用性,可以很好的预测软件系统的可靠性,解决了由于Logistic曲线数学处理复杂,拟合和预测误差大的问题。
文档编号G06F11/36GK102508774SQ201110333159
公开日2012年6月20日 申请日期2011年10月28日 优先权日2011年10月28日
发明者刘厂, 李一晨, 沈志峰, 闫雪丽, 高峰 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1