考虑S型测试工作量函数与不完美排错的软件可靠性模型

2011-06-05 09:00李海峰李秋英陆民燕
哈尔滨工程大学学报 2011年11期
关键词:软件可靠性集上工作量

李海峰,李秋英,陆民燕

(北京航空航天大学可靠性与系统工程学院,北京100191)

随着软件被广泛地应用于社会各个领域,软件尤其是安全关键软件的失效很可能会导致生命与财产的灾难性损失.软件可靠性已成为软件发布时用户最为关心的质量指标之一[1].软件可靠性增长模型(software reliability growth modelsmodels,SRGMs)作为软件可靠性定量评估与预计的主要手段,从20世纪70年代起,就一直是软件可靠性工程领域最为关注的研究方向之一[1-3].有研究表明,若能在软件可靠性建模过程中考虑软件测试过程因素对软件可靠性的影响效果,将会改进现有模型的拟合与预计性能[4-8].测试工作量(testing effort,TE)[6]与不完美排错(imperfect debugging,ID)[9]就是这样 2种重要测试过程因素.

测试工作量指的是在测试过程中所消耗的各类资源,可用人时、测试用例数、CPU时间等信息来度量[10].有研究表明,对软件可靠性增长曲线的形状有着显著影响[11-12].而早期的SRGMs或者不考虑TE或者假设TE随时间的消耗率是一个常值[1,3,13],这显然是不合理的.因此,如何准确地定量描述TE随测试时间的变化情况(即测试工作量函数,testing effort function,TEF),进而建立考虑TEF的SRGMs已成为近些年来软件可靠性建模研究热点之一[6,10,12,14-30].此外在软件可靠性建模过程中对所谓不完美排错现象进行准确描述[9,23-24,29,31-39],也是提高软件可靠性模型拟合与预计精度的重要手段.

在实际测试过程中,由于软件结构特征以及学习因素的综合影响,TE的增长速率随时间会呈现出一种先增后减的S型增长趋势[12].变形S型(inflected S-shaped)函数非常适于描述S型增长趋势,且具有结构简单、灵活性好等优点[33].因此,本文首先提出一种变形S型TEF(IS-TEF)来描述TE随时间的S型增长趋势;在此基础上,将IS-TEF及2种不完美排错假设分别与指数型NHPP类模型相结合,从而给出两种考虑 IS-TEF与 ID的 NHPP类SRGMs(IS-TEFID1与IS-TEFID2).最后在两组真实失效数据集上对新模型进行实例验证.

1 测试工作量函数及建模的相关工作

1.1 若干典型测试工作量函数

1.1.1 威布尔 TEF[14]

Yamada首先利用威布尔型函数来描述测试工作量,并给出如下3种形式的TEF:

式中:W(t)表示时段[0,t]内所消耗的累积测试工作量,Wmax表示最终可消耗的总测试工作量,即Wmax=W(∞),b是刻度参数,m是形状参数.

1.1.2 指数威布尔[15]TEF

上述2种威布尔类的TEF无法很好地描述S型增长趋势,并且当m>3时,威布尔类型的函数会有较明显的峰值现象[12];

1.1.3 Logistic TEF[12]

式中:α表示测试工作量消耗率,A是一个常数.

当t=0时,根据式(3)计算出的W(0)不为0,这个结论与直觉不相符合,有时难以解释.

1.2 考虑TEF的指数型NHPP类建模框架

式中:m(t)是时刻t的探测失效数均值,r表示缺陷探测率,N表示软件中潜在的总缺陷数.

若将缺陷总数N视为随时间变化的函数N(t),即软件排错会引入新的缺陷,则可以描述所谓的不完美排错现象.由此,将式(4)重写,得到考虑不完美排错与TEF的NHPP类建模框架如下:

文献[10]提出如下的考虑TEF的建模框架:

将2.1节中介绍的各种TEFs代入式(4),即可得到不同的TEF-SRGMs.同理,将各种TEFs与不同的缺陷总数函数N(t)代入式(5),则可得到不同的IDTEF-SRGMs.表1中汇总了若干经典 SRGMs、TEF-SRGMs以及 IDTEF-SRGMs.

表1 相关软件可靠性模型汇总Table 1 A summary of various SRGMs

续表1

2 考虑S型TEF的软件可靠性建模

2.1 变形S型测试工作量函数

假设利用变形S型函数描述测试工作量随时间的变化情况,则[0,t]内的累积测试工作量为

式中:b表示测试工作量消耗率,ψ是一个常量.

根据式(6),可知:1)W(0)=0,即初始测试工作量为0;2)W(t)非负且随时间t单调递增,这与测试过程中测试工作量不断增长的行为相符;3)将W(t)对时间t求导,则可得测试工作量增长速率函数w(t)为

由式(7)可知,w(t)是一个随测试时间先增后减的函数,在t=lnψ/b时,其达到最大值.

2.2 两种重要的不完美排错假设

关于不完美排错的假设有很多种表达形式,比较常见且重要的为如下2种形式:

1)引入缺陷数与测试时间成正比[9,34-36,39]:

式中:β为缺陷引入率,N为软件初始缺陷总数.

2)引入缺陷数与探测缺陷数成正比[6,23]:

本文将分别采用形式1)与形式2)来描述不完美排错现象,进而得到考虑变形S型TEF以及2种不完美排错假设的NHPP类软件可靠性模型(ISTEFID).

2.3 IS-TEFID SRGMs

考虑S型测试工作量函数与不完美排错的NHPP 类 SRGM 模型假设列举如下[6,9,11,14]:

1)软件的缺陷探测过程服从NHPP过程.

2)当前软件的失效是由残存缺陷引发的.

3)当前探测到的缺陷数均值与残存缺陷数均值成正比.其比值是缺陷探测率,本文设其为常值.

4)利用变形S型测试工作量函数(式(6))来描述测试工作量随时间的消耗情况.

5)缺陷一旦被发现,立即被排除.

6)排除缺陷过程可能会引入新缺陷,新缺陷引入率设为β.缺陷总数函数为式(8)和(9).

边界条件为m(0)=0,W(0)=0,将式(6),(8)与(9)代入式(5),对微分方程求解,可得到如下2种考虑TEF与不完美排错的模型.

下面以IS-TEFID2为例,讨论此类模型的若干性质.

根据式(11),可进一步得到

根据式(11)~(12),可得最终残留缺陷数为

式(13)表明,即使测试的时间很长,软件中的初始缺陷也不可能全部被排除,这是因为测试阶段中的测试工作量消耗总量是有限的(Wmax).

3 IS-TEFID模型的实例验证

3.1 实例概述

1)选取表1中的21个SRGMs作为对比模型.

2)选用最小二乘估计(LSE)作为模型参数估计方法,LSE产生的估计结果具有无偏性.

3)选取均值误差平方和[6](MSE),回归曲线方程的相关指数[9](R-Square)来评价模型拟合效果.

式中:mi为真实的观测数据,m(ti)为模型计算出的对应mi的拟合值.MSE值越小,则模型拟合效果越好,即表明模型的可靠性拟合性能越好.

式中:mave表示观测数据mi的均值.R-Square值越接近于1,则模型拟合效果越好.

4)选择相对误差RE值[40]评价模型预计效果.

假设测试结束的时刻为tn,此时共观测到mn个失效.使用截止到时刻te(te≤tn)的失效数据来估计模型me(t)的参数值.将参数估计值代入模型me(t),从而获得tn时刻的失效数预计值为me(tn).然后将预计值me(tn)与tn时刻的真实失效数mn进行对比,即计算式(16)中的 RE值.取不同的te(te≤tn)值,重复上述过程,可获得不同的RE值.将不同的RE值制成RE图,可用来检验模型的预计能力.RE图中接近于横轴的点越多,模型预计能力越好.

5)实例验证选择2组真实失效数据集,Ohba[41]与Wood[42],用于估计对比模型的参数值并计算模型的拟合结果.这2组数据集均是用于软件可靠性模型拟合性能比较的经典范例[43].需要说明的是,这2组数据集均包含测试时间(t),测试工作量(W)以及探测的缺陷数(m)信息.本实例将Wood数据集中的测试工作量数据缩小100倍,这样做的目的是为了提高模型参数的估计质量,这种缩放处理不会对模型拟合性能对比结果产生影响[6].

3.2 实例计算结果与分析

表2中列出23个模型在2组失效数据集上的参数估计值和模型拟合结果.其中,加粗数字表示在该列评价准则上的最佳计算结果.

3.2.1 Ohba数据集上的拟合结果分析

1)在Ohba数据集上,模型IS-TEFID2的拟合结果为最优(MSE值最小,为69.47;R值最接近于1,为0.993),显著好于其他模型.2)拟合结果最好的5 个模型依次为:IS-TEFID2,PNZ1,SEWE-TEF,SEWE-TEFID以及GGO.3)图1描述了上述5个拟合结果最优模型对Ohba数据集中每个失效数据的拟合值(m(ti))与实际观测值(mi)的对比情形.4)值得注意的是,本文提出的IS-TEFID1的拟合结果虽然比较不错(MSE值为 107.05,R值为 0.990),但却明显不如IS-TEFID2等5个最优模型.5)对于Ohba数据集,表2中的几个不完美排错模型的缺陷引入率β都接近于0但却不等于0(例如ISTEFID2的β值为0.003 624).这表明Ohba数据集的缺陷排除过程不是完美的.因此,在可靠性建模时,应当尽量考虑不完美排错这一因素.

图1 Ohba数据集上各对比模型的拟合结果Fig.1 The actual data and fitting results for Ohba

3.2.2 Ohba数据集上的预计结果分析

图2中绘制了5个拟合结果最优模型的预计RE图.与其他模型相比,在Ohba数据集上,IS-TEFID2模型的RE曲线向横轴(图中横线)接近的速度是最快的,也即表明IS-TEFID2模型在Ohba数据集上具有优秀的预计结果.

图2 Ohba数据集上的模型RE图Fig.2 The RE figure for Ohba

3.2.3 Wood数据集上的拟合结果及分析

1)在Wood数据集上,IS-TEFID2的拟合结果依然为最优(MSE值最小,为7.62;R值最接近于1,为0.991).

2)拟合结果最好的5个模型依次为:IS-TEFID2,IS,PNZ1,IS-TEFID1 与 GGO.

3)图3描述了上述5个拟合结果最优模型对Wood数据集中每个失效数据的拟合值(m(ti))与实际观测值(mi)的对比情形.

4)IS-TEFID1对于Wood数据集的拟合结果表现非常不错(MSE 值为 9.64,R 值为0.988),但依然较IS-TEFID2的拟合结果差.

5)对于Wood数据集,表2中的几个不完美排错模型的缺陷引入率β也都接近于0但却不等于0(例如IS-TEFID2的β值为0.019 1).这表明Wood数据集的缺陷排除过程也不是完美的,对其进行可靠性建模时应当尽量考虑不完美排错这一因素.

图3 Wood数据集上各对比模型的拟合结果Fig.3 The actual data and fitting results for Wood

3.2.4 Wood数据集上的预计结果分析

图4中绘制了5个拟合结果最优模型的预计RE图.由图4可看出,在Wood数据集上,本文提出的IS-TEFID2模型的RE曲线向横轴(图中横线)接近的速度依然是最快的.也即表明IS-TEFID2模型在Wood数据集上也具有最为优秀的预计结果.

图4 Wood数据集上的模型RE图Fig.4 The RE figure for Wood

3.2.5 基于上述结果的分析

1)IS-TEFID2模型在2组失效数据集上的拟合与预计结果均是最优秀的.2)与IS-TEFID2相比,IS-TEFID1的拟合与预计性能稍差.这表明在这两组数据集上,第2种不完美排错形式较第1种不完美排错形式可能更合理.3)IS-TEFID2中所考虑的不完美排错假设与变形S型TEF可更精确描述不完美排错与测试工作量对软件可靠性的影响效果.

4 结束语

本文首先提出一种新的变形S型测试工作量函数,在此基础上分别提出考虑变形S型测试工作量函数与2种不完美排错假设的指数型NHPP类软件可靠性模型(即IS-TEFID1与IS-TEFID2).实例计算结果表明:本文提出的IS-TEFID2模型的拟合与预计性能均显著优于其他对比模型.本文的研究成果推进了考虑测试工作量函数的软件可靠性建模理论研究的进展,同时其对于提升现有模型在工程实践中的拟合与预计精度也具有重要的意义.

[1]LYU M R.Handbook of software reliability engineering[M].[s.l.]:McGraw Hill,1996:102-110.

[2]GOKHALE S S,LYU M R.A simulation approach to structure-based software reliability analysis[J].IEEE Trans on Software Engineering,2005,31(8):643-656.

[3]PHAM H.Software reliability[M].Singapore:Springer-Verlag,2000:210-223.

[4]GANA A,HUANG S T.Statistical modeling applied to managing global 5ESS-2000 switch software development[J].Bell Labs Technical Journal,1997,2(1):144-153.

[5]KRUGER G A.Validation and further application of software reliability growth models[J].Hewlett-Packard Journal,1989,40(4):75-79.

[6]HUANG C Y,KUO S Y,LYU M R.An assessment of testing-effort dependent software reliability growth models[J].IEEE Transactions on Reliability,2007,56(2):198-211.

[7]SHIBATA K,RINSAKA K,DOHI T.Metrics-based software reliability models using non-homogeneous Poisson processes[C]//Proc of the 17th IEEE International Symposium on Software Reliability Engineering(ISSRE).Washington DC:IEEE Computer Society,2006:52-61.

[8]CAI X,LYU M R.Software reliability modeling with test coverage experimentation and measurement with a fault-tolerant software project[C]//ISSRE2007.Washington DC:2007:17-26.

[9]谢景燕,安金霞,朱纪洪.考虑不完美排错情况的NHPP类软件可靠性增长模型[J].软件学报,2010,21(5):942-949.

XIE Jingyan,AN Jinxua,ZHU Jihong.NHPP software reliability growth model considering imperfect debugging[J].Journal of Software,2010,21(5):942-949 .

[10]KUO S Y,HUANG C Y,LYU M R.Framework for modeling software reliability,using various testing-efforts and fault-detection rates[J].IEEE Transactions on Reliability,2001,50(3):310-320.

[11]FENTON N E,NEIL M.A critique of software defect prediction models[J].IEEE Transactions on Software Engineering,1999,25(5):675-689.

[12]HUANG C Y,KUOS Y.Analysis of incorporating logistic testing-effort function into software reliability modeling[J].IEEE Transactions on Reliability,2002,51(3):261-270.

[13]MUSA J D,IANNINO A,OKUMOTO K.Software reliability, measurement, prediction and application[M].America:McGraw Hill,1987:135-139.

[14]YAMADA S,HISHITANI J,OSAKI S.Software reliability growth model with Weibull testing effort:a model and application[J].IEEE Transactions on Reliability,1993,42(1):100-106.

[15]AHMAD N,BOKHARI M U,QUADRI S M K,KHAN M G M.The exponentiated Weibull software reliability growth model with various testing-efforts and optimal release policy[J].International Journal of Quality& Reliability Management,2008,25(2):211-235.

[16]QUADRI S M,AHMAD K,PEER M A,et al.NHPP process software reliability growth model with generalized exponential testing effort function[J].RAU Journal of Research,2006,16(2):159-163.

[17]AHMAD N,KHAN M G M,QUADRI S M K,et al.Modeling and analysis of software reliability with Burr type X testing-effort and release-time determination[J].Journal of Modeling in Management,2009,4(1):28-54.

[18]LIN C T,HUANG C Y.Enhancing and measuring the predictive capabilities of testing-effort dependent software reliability models[J].The Journal of Systems and Software,2008,81:1025-1038.

[19]HUANG C Y.Cost-reliability-optimal release policy for software reliability models incorporating improvements in testing efficiency[J].The Journal of Systems and Software,2005,77:139-155.

[20]HUANG C Y,LYU M R.Optimal release time for software systems considering cost,testing-effort,and test efficiency[J].IEEE Transactions on Reliability,2005,54(4):583-591.

[21]BOKHARI M U,AHMAD N.Analysis of a software reliability growth models:the case of log-logistic test-effort function[C]//Proceedings of the 17th IASTED International Conference on Modeling and Simulation.Montreal,Canada,2006:540-545.

[22]CHATTERJEE S,MISRA R B,ALAM S S.Joint effect of test effort and learning factor on software reliability and optimal release policy[J].International Journal of System Science,1997,28(4):391-396.

[23]AHMAD N,KHAN M G M,RAFI L S.A study of testingeffort dependent inflection S-shaped software reliability growth models with imperfect debugging[J].International Journal of Quality& Reliability Management,2010,27(1):89-110.

[24]KAPUR P K,GOSWAMI D N,BARDHAN A,SINGH O.Flexible software reliability growth model with testing effort dependent learning process[J].Applied Mathematical Modeling,2008,32:1298-1307.

[25]KAPUR P K,SHATNAWI O,AGGARWAL A G,RAVI K.Unified framework for developing testing effort dependent software reliability growth models[J].WSEAS Transactions on Systems,2009,4(8):521-531.

[26]JHA P C,GUPTA D,YANG B.Optimal testing resource allocation during module testing considering cost,testing effort and reliability[J].Computers& Industrial Engineering,2009,57:1122-1130.

[27]HUANG C Y.Performance analysis of software reliability growth models with testing-effort and change-point[J].The Journal of Systems and Software,2005,76:181-194.

[28]KAPUR P K,GUPTA A,OMAR S.Testing effort control using flexible software reliability growth model with change point[J].International Journal of Performability Engineering,2006,2(3):245-262.

[29]KAPUR P K,GROVER P S,YOUNES S.Modelling an imperfect debugging phenomenon with testing effort[C]//ISSRE1994.Washington DC,1994:178-183.

[30]LIN C T,HUANG C Y,CHANG J R.Integrating generalized Weibull-type testing-effortfunction and multiple change-points into software reliability growth models[C]//Proceedings of the 12th Asia-Pacific Software Engineering Conference.Washington DC,2005:431-438.

[31]CHANG Y C,LIU C T.A generalized JM model with applications to imperfect debugging in software reliability[J].Applied Mathematical Modeling,2009,33:3578-3588.

[32]SHYUR H J.A stochastic software reliability model with imperfect-debugging and change-point[J].The Journal of Systems and Software,2003,66:135-141.

[33]OHBA M.Inflection S-shaped software reliability growth models[M]//Stochastic Models in Reliability Theory.Berlin:Springer,1984:144-162.

[34]PHAM H,ZHANG Xuemei.NHPP software reliability and cost models with testing coverage[J].European Journal of Operational Research,2003,145(2):445-454.

[35]PHAM H.An imperfect-debugging fault-detection dependent-parameter software[J].International Journal of Automation and Computing,2007,4(4):325-328.

[36]PHAM H,NORDMANN L,ZHANG X.A general imperfect-software-debugging model with S-shaped fault-detection rate[J].IEEE Transactions on reliability,1999,48(2):169-175.

[37]BARGHOUT M.Predicting software reliability using an imperfect debugging Jelinski Moranda non-homogeneous poisson process model[J].Model Assisted Statistics and Applications,2010,5:31-41.

[38]XIE M,YANG B.A study of the effect of imperfect debugging on software development cost model[J].IEEE Transaction on Software Engineering,2003,29(5):471-473.

[39]YAMADA S,TOKUNO K,OSAKI S.Imperfect debugging models with fault introduction rate for software reliability assessment[J].International Journal of Systems Science,1992,23(12):2241-2252.

[40]MUSA J D,IANNINO A,OKUMOTO K.Software reliability measurement,prediction and application[M].[s.l.]:McGraw Hill,1987:87-99.

[41]OHBA M.Software reliability analysis models[J].IBM Journal of Research and Development,1984,28(4):428-443.

[42]WOOD A P.Predicting software reliability[J].IEEE Computer,1996,30(1):69-77.

[43]HUANG C Y,LIN C T.Software reliability analysis by considering fault dependency and debugging time lag[J].IEEE Transactions on Reliability,2006,55(3):436-450.

猜你喜欢
软件可靠性集上工作量
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
分形集上的Ostrowski型不等式和Ostrowski-Grüss型不等式
软件可靠性工程综合应用建模技术研究
一个兼顾教学科研的高校教师绩效考核模型及其应用
思科发布云计算市场发展报告
数控系统软件可靠性设计与故障分析技术
网上互动教学工作量管理的困境及对策
儿科病房护理工作量与护理人员配置调查研究
简谈使用BoundsChecker进行计算机联锁系统人机界面软件可靠性测试