版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
**软件可靠性建模模型概述1.1软件可靠性的定义1983年美国IEEE计算机学会对“软件可靠性”作出了明确定义,此后该定义被美国标准化研究所接受为国家标准,1989年我国也接受该定义为国家标准。该定义包括两方面的含义:谢谢阅读(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率;(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;精品文档放心下载其中的概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,系统输入将确定是否会遇到已存在的故障(如果故障存在的话)。精品文档放心下载软件失效的根本原因在于程序中存在着缺陷和错误,软件失效的产生与软件本身特性、人为因素、软件工程管理都密切相关。影响软件可靠性的主要因素有软件自身特性、人为因素、软件工程管理等,这些因素具体还可分为环境因素、软件是否严密、软件复杂程度、软件是否易于用户理解、软件测试、软件的排错与纠正以及软件可靠性工程技术研究水平与应用能力等诸多方面。感谢阅读1.2软件可靠性建模思想建立软件可靠性模型旨在根据软件可靠性相关测试数据,运用统计方法得出软件可靠谢谢阅读性的预测值或估计值,下图给出了软件可靠性建模的基本思想。精品文档放心下载**图软件可靠性建模基本思想从图中可以看出软件失效总体来说随着故障的检出和排除而逐渐降低,在任意给定的精品文档放心下载时间,能够观测到软件失效的历史。软件可靠性建模的目标如下:(1)预测软件系统达感谢阅读到预期目标所还需要的资源开销及测试时间;(2)预测测试结束后系统的期望可靠性。感谢阅读1.3软件可靠性建模基本问题软件可靠性建模需要考虑以下基本问题:(1)模型建立模型建立指的是怎样去建立软件可靠性模型。一方面是考虑模型建立的角度,例如从时间域角度、数据域角度、将软件失效时刻作为建模对象,还可以将一定时间内软件故障数作为建模对象;另一方面是考虑运用的数学语言,例如概率语言。精品文档放心下载(2)模型比较在软件可靠性模型分类的基础上,对不同的模型分析比较,并对模型的有效性、适用性、简洁性等进行综合权衡,从而确定出模型的适用范围。精品文档放心下载(3)模型应用软件可靠性模型的应用需要从以下两方面考虑:一是给定了软件的开发计划,如何选择适当的模型;二是给定了软件可靠性模型,如何指导软件可靠性工程实践。感谢阅读软件系统的失效历史可以通过对测试得到的失效数据分析获得,而实际情况中,人们精品文档放心下载**最为关注的是软件未来的失效趋势。软件可靠性模型基本都是建立在一定的假设基础之上,谢谢阅读所以,即使花费了大量的时间和精力对软件的可靠性进行预计,也只是一种预测,这种预感谢阅读测的不确定性是许多未知原因交互作用的结果,根据软件可靠性模型的预测只能以概率形谢谢阅读式表示。1.4软件可靠性模型的特点(1)与使用的程序设计语言无关。软件可靠性的应用与选用什么程序设计语言来编写软件之间没有什么直接关系。但对于根据同一个规格说明书,不管你用什么程序设计语言软件来编写软件,同一个软件可靠性模型应给出同样的估测结果。感谢阅读(2)与具体用到的软件开发方法无关。软件开发是一个十分复杂的过程,涉及到许多的人为因素,从而使得对软件的质量难以进行预测。为了保证预测的精度,不妨假设待估测的软件系统是用最坏的软件开发方法开发出来的。谢谢阅读(3)测试方法的选择问题。实际上是无法通过彻底的测试来获得完全可靠的软件,所以不得不采用有限的测试,那么目标就是用最少的测试以求最大限度的软件可靠性。可以用例如边界值测试法、分类测试法、路径测试法等方法来达到。几乎所有的软件可靠性模型都假定测试环境就是将来软件的运行环境,这限制了高可靠性估计情况下的这些模型的可用性。感谢阅读(4)改错过程。实际上改正老的错误时往往会引人新的错误。感谢阅读(5)模型要表述的内容。模型应该指出测试的输入是否已足够地覆盖了输入域,测试的条件和数据是否已准确地模拟了操作系统、是否已足以查出那些类似的错误等。软件可靠性模型假定测试的条件和数据与操作环境有着同样的分布,也就简捷地假设了上述要表述的内容。感谢阅读(6)输入的分布问题。可靠性估计紧密地依赖于模型假设的输入分布。作为一个极端的情况,如果输入是一个常数(比如说只用到一个输入),软件将或者出错或者成功谢谢阅读**的执行,于是就给出可靠性相应地为0或为1。(7)关于软件复杂性问题。大多数现有的软件可靠性模型都没有考虑这个问题。谢谢阅读实际上,复杂的软件应该比简单的软件要求更多的测试。(8)模型的验证问题。常常由于缺乏实际可用的足够数据,使得对模型的验证无法进行,且在整个软件寿命周期内,软件几乎呈常数倍数地增加,导致可靠性也相应地变化,软件可靠性的验证工作也就更加复杂化。精品文档放心下载(9)关于时间问题。在软件可靠性量测与硬件可靠性量测综合起来对一定的系统环境进行考核时,将CPU时间作为时间单位是必要的。谢谢阅读(10)考虑模型所要求的数据是否容易收集。否则,由于数据问题,将会限制软件可靠性的应用范围。感谢阅读1.5软件可靠性模型的分类到目前为止,软件可靠性模型的研究已有40多年的历史,国内外已发表的软件可靠精品文档放心下载性模型有近百种,但由于对软件可靠性模型的研究还处在一个初步阶段,目前并没有一个感谢阅读完整、系统的科学分类方法。为了从宏观上研究、掌握和理解这些模型,不少学者提出不谢谢阅读同的分类方法。(一)根据建模对象分类根据建模对象将模型分为两种:静态模型和动态模型,如图:谢谢阅读图根据建模对象分类**1、静态模型静态模型的建模对象是与运行时间无关的数据或信息,如软件的各种复杂性参数,特感谢阅读点是不需要进行软件测试即可进行软件缺陷估计,应用与软件开发的早期阶段。随着软件谢谢阅读可靠性设计逐渐被重视,这种模型的重要性也体现出来。2、动态模型动态模型的建模对象主要是与运行时间相关的数据或信息。如 Shooman模型、谢谢阅读Jelinski-Moranda模型、Schick-Wolverton模型,Musa执行时间模型、G-O模型、谢谢阅读Moranda几何Poission模型。(二)根据模型假设分类根据模型假设将模型分为随机过程模型和非随机过程模型,如图所示。感谢阅读图依据模型假设分类1、随机过程模型(1)马尔科夫过程模型这类模型认为在t时刻,软件系统的失效过程是一个马尔科夫过程。有代表性的模感谢阅读型有Jelinski-Moranda模型,Schick-Wolverton模型。感谢阅读(2)非齐次泊松过程模型这类模型把时间划分为0,t1,t2,…t时间间隔,每个间隔内发现的失效数是泊松随机精品文档放心下载**变量,代表性的模型有G-O模型。(3)Musa执行时间模型这类模型以CPU时间为标准描述软件系统的可靠性,建立CPU时间与日历时间,程序的可靠性特征与测试过程资源消耗的关系。谢谢阅读2、非随机过程模型(1)贝叶斯类模型这类模型中有代表性的是L-V模型。(2)种子法模型其思想是事先在软件中植入一定数量的缺陷植,收集到的缺陷包含植入的和软件本身的,用它们之间数量关系估算软件系统的缺陷数,即动态模型中的缺陷播种模型。精品文档放心下载(3)基于数据域的模型这类模型的代表是1973年提出的Nelson模型。谢谢阅读(4)其他方法其他的模型还有非参数分析、时间序列分析模型等模型。(三)根据故障过程的特性分类AmritL.Goel将模型分为4类:1、故障间隔时间模型这类模型研究的是故障的间隔时间。最常用的方法是假设第i-1个和第i个故障之间的时间服从某种分布,从观测到的间隔时间来估计参数,进而估计软件可靠性和故障间隔时间MTBF(MeanTimeBetweenFailure)等软件性能度量。谢谢阅读2、故障计数模型这类模型关注的是一定时间间隔内发生故障的次数,假定故障计数服从一种已知的随机过程。可以通过观测的故障数或失效时间估计失效率参数,NHPP类软件可靠性增长模型属于这类模型。精品文档放心下载**3、故障播种模型这类模型类似于种子法模型。4、基于输入域模型根据程序的使用情况从输入情况的分布生成一组测试用例。由于获得这个分布比较困难,所以一般把输入域划分为几个有代表性的等价类,每个等价类都与一个程序路径有关。从执行这些从输入域抽取的测试用例,观测软件故障数,从而估计软件可靠性。感谢阅读(四)Trivedi分类及其他分类KishorS.Trivedi 划分模型方法如图所示谢谢阅读图2图Trivedi分类软件可靠性模型其他常用的软件可靠性模型分类方法还有Musa和Okumoto给出的基于模型五种不同属性的模型分类方法和HoangPham给出的分类体系。感谢阅读常见的软件可靠性建模模型2.1软件可靠性解析模型软件可靠性解析模型主要通过对软件失效数据行为进行假设,并在该假设的基础上依感谢阅读靠数学解析方法对软件可靠性进行建模。该类模型可分为指数模型、对数模型、感谢阅读Littlewood-Verrall模型、数据域模型、Markov链模型、随机Petri网模型等。谢谢阅读**2.1.1指数模型(1) J-M模型J-M软件可靠性模型于1972年由Jelinski和Moranda创建,属于二项分布有限错误模型。其基本假设如下:1)测试未运行时软件失效为0;当测试进行时,软件错误将被检出,其失效率函数与软件当前的残留故障数成正比;同时,软件中存在的总故障数是固定的;2)失效率在每个失效间隔内是常数,其数值正比于残留的错误数;3)软件错误引发的故障是相互独立的;4)每次只修正一个错误,且当软件故障出现时,引发故障的错误将被立即排除,并不会引入新的错误。感谢阅读J-M模型中软件第i次失效强度函数为 =ϕ( −+1),其中为软精品文档放心下载件中错误总数,ϕ为失效率。J-M模型软件可靠性函数为:精品文档放心下载R( )=e−J-M模型以一种较为简单的方式,将软件故障视为测试时间的函数,主要缺点在于假设条件过于理想,实际情况中很难满足。谢谢阅读(2) G-O模型Goel-Okumoto软件可靠性模型(G-O模型)于1979年由Goel和Okumoto提出,属于NHPP有限错误模型,其基本假设如下:1)测试未运行时的软件失效为0;当测试精品文档放心下载()的泊松分布;2)当△t→0时,测试时间(,+)内进行时,软件失效服从均值为m产生的失效与软件残留错误成正比;3)对于任一组有限时间点,在对应时间段分别发生的失效次数相互独立;4)每次只修正一个错误,当软件故障出现时,引发故障的错误被立即排除,并不会引入新的错误。感谢阅读G-O模型在测试区间[0.]内的累计失效数期望函数为m()= (1−−),t为软件累谢谢阅读计测试时间。可靠性函数为:R(|)= (−(+)−−)=e−m(s)e−bt感谢阅读**(3) Musa基本执行时间模型Musa基本执行时间软件可靠性模型(Musa模型)中,软件测试时间使用了更为精确的CPU占用时间作为度量基础,并给出了CPU时间与日历时间的转换关系,但软件由于运行环境的差异导致CPU执行时间可能大不相同。感谢阅读(4) 超指数增长模型超指数增长模型对经典指数模型进行了扩展,属于NHPP有限错误模型。由于编程人员的差异、新旧代码的差异、实现语言的差异等因素导致了软件不同部分的失效率各有不同,因此软件的不同部分将分配不同的失效率。超指数增长模型可用于拥有新模块和重用模块的复杂系统中。超指数增长模型在测试区间[0.]内的累计失效数期望函数为:谢谢阅读m(t)=∑=1
(1 )式中,n表示具有相似特征模块构成的簇数量;表示在第i个簇中存在的错误总数;表示谢谢阅读在第i个簇的失效率。该模型在应用中如何确定大型复杂系统中模块簇的划分是该模型的关键问题之一。谢谢阅读(5) S-Shape模型S-Shape模型主要分为YamadaDelayedS-Shaped模型和InflectedS-Shaped模型。S-Shape模型使用Gamma分布取代了G-O模型的二项分布,属于NHPP有限错误模型。S-Shape模型认为错误发现曲线应该体现出两个特征:1)软件测试者对测试软件的了解程度;2)软件残余缺陷随测试过程的进行,其发现难度变得越来越大。谢谢阅读YamadaDelayedS-Shaped模型认为软件失效在测试开始时增大,在测试结束时减小。在该模型中,软件失效数据随测试时间呈S曲线变化,体现出由于测试初期测试者对测试对象的不熟悉以及测试后期失效数据难于发现导致失效发现率下降这一现象。YamadaDelayedS-Shaped模型在测试区间[0.]内的累计失效数期望函数为:谢谢阅读m()= (1 (1+) )**式中,a表示最终被检测出的失效总数的期望值;b表示失效率。谢谢阅读InflectionS-Shaped模型认为错误发现率在整个测试周期中呈现递增的趋势。Inflection谢谢阅读S-Shaped模型在测试区间[0.]内的累计失效数期望函数为:精品文档放心下载m(t)=(1−−)=1−1+−式中,a表示最终被检测出的失效总数的期望值;b表示失效率;r表示可以检测的失效数占软件系统总失效数的比例。谢谢阅读2.1.2对数模型(1)Geometric模型Geometric模型属于对数无限错误模型,其基本假设如下:1)失效发现率随软件检谢谢阅读测过程递减;2)系统中错误是无限的。该模型认为较早发现的错误对失效发现率的影响大于较晚发现的错误,其错误发现间感谢阅读隔时间为指数分布,错误发现间隔时间密度为f(Xi)=D∅i−1Xi,其中D和∅为常量参数,Xi为第i个失效数据发送时的观测数据.Geometric模型中从第(i−1)个错误开始,发现第感谢阅读1[]内的累计失效数期∅−1望函数为:1 式中, =−ln(∅)且0<∅<1。精品文档放心下载(2)Musa-Okumoto对数泊松模型Musa-Okumoto对数泊松模型属于对数无限错误模型。该模型构建于指数递减的失谢谢阅读效强度函数之上,其失效强度伴随失效期望递减成指数递减,即λ(t)=λe−bm(t),b>0为精品文档放心下载失效率衰减参数,,λ>0为初始失效率。**2.1.3Littlewood-Verrall模型感谢阅读Littlewood-Verrall可靠性模型(L-V模型)考虑了发现缺陷不被完全剔除的情况。该精品文档放心下载模型基本假设如下:1)相邻错误间隔时间X为相互独立指数随机变量ξ,其中i=精品文档放心下载i0,1……n;2)ξ构成独立随机变量序列,并服从参数为α和ψ(i)的Gamma分布,ψ(i)为精品文档放心下载i增函数,用于描述程序员的素质以及软件开发难度;3)软件使用情况近似于设计预期。增函数ψ(i)综合了程序员素质β以及软件开发难度β两个因素,在L-V模型中ψ(i)的感谢阅读0 1线性表达式和二次表达式分别为:ψ(i)=β+βi和ψ(i)=β+βi,其中,β,β>0。010101L-V模型的累计失效数期望函数为:m(t)=1(−+√2+2)1001L-V模型与前面讨论的模型相比,最主要的不同在于前面的模型仅考虑了错误的发生对软精品文档放心下载件可靠性的影响,而没有考虑软件稳定运行这一现象对软件可靠性的影响。谢谢阅读2.1.4数据域模型Nelson模型是数据域软件可靠性模型的代表,也是最重要的软件可靠性模型之一。该模型最早于1973年由Nelson提出,并于1978年得以完善。Nelson模型中,软件的可靠性通过对软件运行的输入数据进行测量,这些输入数据从集合E=Ei:i=1,2,……N中谢谢阅读随机选取。随机选取的n个输入数据概率分布为(Pi:i=1,2,…..N)。感谢阅读Nelson模型基本假设如下:1)程序被认为是集E上的一个可计算函数F的一个规谢谢阅读范,一个输入数据E对应一个程序执行回合并产生一个输出F(E);2)由于程序包含缺陷,感谢阅读i i程序实际确定函数F‘,该函数不同于希望函数F;3)对于某些Ei,程序实际输出F‘(Ei)在谢谢阅读希望输出F(Ei)的容许范围之内,即|F‘(Ei)−F(Ei)|≤△i;但对另一些Ej程序实际输出谢谢阅读F‘(Ej)超出容许范围,即|F‘(Ej)−F(Ej)|>△j,这时认为程序发生一次失效;4)测试过感谢阅读程中不剔除程序缺陷。**若n为导致软件产生故障的输入数据,则软件可靠性可以表示为Rne1n软件可靠性计算公式NfjpEj,其中nj为输入子域E中元素的数量,f为n次运行后软件出R2=1−∑j=1njjjj现故障的次数。Nelson模型存在的问题主要表现在输入数据集较大和输入数据的随机选取具有盲目谢谢阅读性和局限性。2.1.5Markov链模型基于Markov链的软件可靠性模型主要用于评估预测基于构件的软件系统。构件是指封装了数据和功能的,在运行时能够通过参数进行配置的模块。通常构件由第三方开发,具有清晰的接口描述。随着软构件技术的快速发展,聚集软构件设计大型复杂软件系统的软件开发方法日趋成熟,基于构件的可靠性模型研究也得到越来越多的关注。感谢阅读(1)Cheung模型Cheung模型属于基于Markov链的软件可靠性模型。Cheung模型将软件的控制结谢谢阅读构转化成有向图G,并规定图中每一个节点N表示一个构件,构件N到N的转移用一个谢谢阅读i i j矢量边N,N表示。定义R为的可靠性N的可靠性,P为N,N的转移概率。根据有向图ijiiijijG,构造出构件转移矩阵M,其中Mi,j=RPMi,j,表示从N成功到达N的可能性。iijijCheung模型基本假设如下:1)构件间的可靠性是相互独立的;2)构件间的控制转移是马尔科夫过程;3)构件间连接逻辑完全可靠。Cheung模型中,具有n个构件的软件系统可靠性表示为R=S1,n×R,其中R为第n个构件的个体可靠性,S为n×n矩阵,谢谢阅读n n具体为:∞S=I+Q+Q2+ 3+⋯=∑谢谢阅读=0式中,I为nxn单位矩阵<Q为转移概率矩阵P的变形。Cheung模型只能处理单输入/谢谢阅读**单输出系统,没有考虑连接件的可靠性,而且把构件的可靠性假设为固定不变的参数。(2)Krishnamurthy模型感谢阅读Krishnamurthy模型遵守Cheung模型的假设条件,属于Markov链软件可靠性模型。该模型将软件中的构件视为独立节点,将任意一个测试用例运行中经过的节点序列视为路径。基于这一基本概念,该模型认为基于构件的软件系统的可靠性可以由路径的可靠性予以描述。精品文档放心下载(3)Yacoub模型Yacoub模型属于Markov链软件可靠性模型。该模型用构件依赖图来描述构件间的组装交互关系,构件依赖图是一个有向图,用于描述构件的可靠性、连接与接口的可靠性、构件间控制的转换及转换的概率等方面内容。该模型认为构件间连接逻辑并非完全可靠,并引入RT进行量化,但模型中并未对此做深入分析和讨论,而仅作为固定不变的参感谢阅读数值加以使用。(4)毛晓光通用模型毛晓光通用模型认为软件可靠性的计算是软件中所有运行路径出现频度与该路经可感谢阅读靠性乘积的累加R=∑PiϵφRPi×FPi/∑PiϵφFPi,R为可靠性,φ为所有运行路径的集合,RPi和F分别为路径P的可靠性和出现频度。该模型没有对连接件的可靠性进行分析,并且没感谢阅读Pi 有涉及敏感度计算,不利于对软件早期开发的指导。(5)Wang模型Wang模型对Cheung模型进行了改进,允许软件具有并发、异构、多输入/输出特感谢阅读性。该模型将输入和输出分别定义为I=〈Si1,Si2….,Sim〉和F=〈Sf1,Sf2….,Sfm〉,同时增加精品文档放心下载了超级初态SI和超级终态SF,SI和SF的可靠性均为1。Wang模型对不同结构的软件体系结精品文档放心下载构分别进行可靠性分析,在状态转移概率中考虑了连接件的可靠性,但这样处理的连接件感谢阅读的可靠性并不符合实际。**2.1.6随机Petri网模型随机Petri网作为软件可靠性建模的一种工具能较全面地描述系统的动态变化行为,当系统发生变化时,只要增加相应位置中的标记数即可,可以大大减少工作量。该模型将具体系统转化为随机Petri网模型;并构造出与该随机Petri网模型同构的Markov链;最后基于Markov链状态概率进行系统可靠性分析。状态S代表可能发生的局部故障状态;感谢阅读变迁T代表使系统状态变化的事件;弧R表示S和T间的关系。随机Petri网的软件可靠性模型示意图如图所示。谢谢阅读图随机Petri网的软件可靠性模型示意图2.2软件可靠性启发模型软件可靠性启发模型不同于解析模型,该模型利用软件历史失效数据对自身进行训练、谢谢阅读更新,逼近实际可靠性。启发模型可分为基于神经网络的软件可靠性模型和基于遗传编程精品文档放心下载的软件可靠性模型。**2.2.1神经网络模型神经网络具有强大的非线性输入输出映射能力,出色的容错性和泛化能力,可以对现感谢阅读有知识归纳学习,继而进行预测。神经网络模型应用于软件可靠性建模,突出优点在于无谢谢阅读需对软件系统的失效进行假设约束。在建立模型的过程中,关键是解决这样的几个问题:精品文档放心下载失效数据预处理;网络结构和算法;评估预测的方法。2.2.2遗传编程模型遗传编程(geneticprogramming,GP)是最近几年提出并得以发展的软件可靠性建谢谢阅读模方法。GP模型采用遗传算法的基本思想,采用树形结构表示失效数据表达式,叶节点感谢阅读是失效的原始变量,中间节点为失效数据函数,根节点是最终输出的失效数据曲线表达式。感谢阅读通过使用交叉、变异等遗传操作和选择操作动态地改变这些树结构,并迭代演化直至找到精品文档放心下载失效数据曲线的优化表达式。软件可靠性建模方法3.1软件可靠性模型评价的主要准则(1)有效性模型根据软件现在和过去的故障行为(即失效数据)预估将来故障行为的能力称为预精品文档放心下载测的有效性。软件可靠性模型预测的有效性可以通过故障数方式或故障时间方式表示出来。谢谢阅读(2)适用性模型的适用性强弱,应该利用大小、结构、功能各异的软件产品对其进行判定。同时,精品文档放心下载一个适用性强的模型应该能适用于不同的软件产品开发环境、不同的软件产品生命周期阶精品文档放心下载段、不同的应用场景。但是,一个可靠性增长模型对于某一特定的软件产品或者开发环境,精品文档放心下载得到的预测结果可能不是很理想,并不能说这个模型就完全没有其适用性。精品文档放心下载**(3)模型能力模型能力指的是软件可靠性模型对给定软件产品的可靠性预测和评价的能力。一般情况下,一个能力强的模型能对以下的可靠性指标进行很好的测量和评价:①当前的可靠性,平均无故障时间(MTTF),或故障密度;②期望达到规定可靠性目标的日期,即期望MTTF,或故障密度目标的日期;③与达到规定目标有关的人力和计算机资源以及成本要求。精品文档放心下载4)简捷性模型简捷性主要体现在以下三个方面:①模型所需要的数据收集简单并且经济代价低;②模型概念简单直观。只有做到概念简单直观,软件工程师们才能清楚的判定在什么情况下模型是可用的,什么情况下模型已脱离了工程实用性;③模型参数解释清楚,这样软件工程师们在数据不充足的情况下,对参数的估计才具有可行性。同时,模型所包含参数个数应该是尽量的少。精品文档放心下载(5)模型假设质量软件可靠性模型的建立是基于一定的假设条件的,应该从逻辑正确性及软件工程师的经验等方面考查假设的合理性和显然成立的程度。感谢阅读3.2软件可靠性建模流程为了满足软件可靠性指标要求,需要对软件进行测试-可靠性分析-再测试-再分析-精品文档放心下载修改的循环过程。软件可靠性建模的目标是为了对软件中失效趋势和可靠性进行有效预测,谢谢阅读来判断软件是否达到发布要求。软件可靠性模型的建模过程如下图:感谢阅读**软件失效数据收集数学模型建立模型参数估计得到拟合模型N
获得性能度量的估计Y获得性能度量的估计判断(1)软件失效数据收集软件失效数据是进行软件可靠性分析和预测的基础,收集到的软件失效数据质量好坏谢谢阅读直接影响到模型预测的准确性。在失效数据收集前需要对时间和数据做如下解释:精品文档放心下载关于时间,在软件可靠性模型研究中,一般都把时间大致分成了两类,即日历时间和谢谢阅读执行时间。尽管Musa模型坚持认为只有对执行时间进行测量才是唯一有效的,但是根谢谢阅读据实际经验,对软件运行时间的测量,并非非执行时间不可,而且执行时间需要操作系统精品文档放心下载得出,这无疑增加了软件失效数据收集的难度和工作量。相比之下,日历时间具有很大的感谢阅读灵活性及优势,它便于测量记录,而且不会影响到后续的分析。因此在本文模型中,失效感谢阅读时间记录采用的是日历时间。关于数据,软件失效数据可分为完全数据和非完全数据两类。它们的定义是:感谢阅读∀(〈1,2,….,〉→()−(−1)=1),那么数据集合〈()|(0)=0,=谢谢阅读0,1,2,…〉为完全数据集合;∃(〈1,2,….,〉→()−(−1)>1),那么数据集合〈()|(0)=0,=0,1,2,…〉为非完全数据集合,其中y(i)是时间t(i)时刻的累计故障数。由上述定义可知完感谢阅读**全数据即故障时间间隔数据,非完全数据便为各个时间间隔内的累计故障数据。精品文档放心下载失效数据的收集具体包括:故障发生时间、相邻故障的间隔时间、各个时间谢谢阅读间隔内的累计故障数。失效数据收集完成后,可画出软件故障数随时间变化的散点图或直方图。感谢阅读(2)数学模型建立通过分析收集得到的软件失效数据提出合理假设,依据这些假设列出数学表达式,建立软件可靠性模型。谢谢阅读(3)模型参数估计在使用模型进行软件可靠性分析前,需要先求出模型中未知参数的估计值。常用的参数估计方法有:最大似然估计法、最小二乘法、贝叶斯估计法等。感谢阅读(4)得到拟合模型求出模型中未知参数的估计值后就可以建立拟合模型,可通过Matlab工具画出拟合曲线,拟合效果取决于软件失效数据质量及所选用的模型形式。感谢阅读(5)拟合效果测试通过测试来检查所获得的模型是否与实测数据拟合?如能很好拟合,就说明拟合模型可很好的描述所观察的故障情况。则可仅需进行下一步。若不拟合,就必须检查或重新选择更恰当的模型。谢谢阅读(6)获得性能度量的估计通过此步骤可对包括软件可靠性在内软件系统的性能作出定量的度量;谢谢阅读(7)做出判定通过判定以确定系统是否需要继续进行测试,是否可以交付使用。精品文档放心下载3.3常见参数估计方法最小二乘法**最小二乘法作为一种数学优化技术,是通过最小化误差的平方和来寻找数据的最佳函精品文档放心下载数匹配。利用最小二乘法,可以简便地求得未知数据,使得这些数据与实际数据间误差的感谢阅读平方和为最小。设有随机变量 Y由k个参数 和k个变量 组成,并且谢谢阅读根据数据 可对k个参数 进行估计。求的最小二乘估计就是寻找一组令结果等于零,可得:可 以 证 明,若
,使得:其中,。那么,称
为
的值最小。对其求导并记 ,,即的一致最小二乘无偏估计。最大似然估计法最大似然估计法,也叫极大似然法,是最为常用的经典统计方法。它最早由德国大数学家C.F.Gauss提出,1912年,英国统计学家R·A·Fisher在其一篇文章中重新提出,并且证明了最大似然估计法的一些性质。精品文档放心下载最大似然估计法的基本思想是:由样本值选择参数,使得该样本发生的概率最大。具感谢阅读体做法如下:设总体X概率密度函数为,其中为未知参数,为来自总体X的一个给定的子样,则似然函数:感谢阅读为参数θ的函数。求 使似然函数 的值达到最大, 为参精品文档放心下载数 的最大似然估计值。最大似然估计的求法包括以下步骤:(1)根据总体分布导出样本联合密度(或联合概率函数);精品文档放心下载(2)将样本联合密度(或联合概率函数)中的参数θ看作自变量,自变量看成已知常谢谢阅读**数,得到似然函数 ;(3)通常对似然函数 做对数变换得到 ,求得 的最大值点,精品文档放心下载即θ的最大似然估计;(4)在最大值点的表达式中将样本值代入即可得到参数的极大似然估计值。感谢阅读贝耶斯估计由贝耶斯统计学理论可知,对总体的特征数进行推断时,除了使用到总体信息和样本谢谢阅读信息外,还应该使用到先验信息,即抽样(试验)之前有关统计问题的一些信息。精品文档放心下载(1)先验分布将总体中的未知参数
看成一取值于参数空间ℜ
的随机变量,它有一概率分布,记为 ,称为参数θ的先验分布。当θ是参数空间ℜ上的连续型随机变量时,称θ的谢谢阅读密度函数为先验密度。(2)后验分布在贝耶斯统计学中,把总体信息、样本信息及先验信息归纳起来的最好形式是在总体精品文档放心下载分布基础上获得的样本 和参数θ的联合密度函数:谢谢阅读,在这个联合密度函数中,当样本给定之后,未知的仅是参数θ了,我们关心的是样本给定后,θ的条件密度函数,依据密度的计算公式,感谢阅读容 易 获 得 这 个 条 件 密 度 函 数这就是贝耶斯公式的密度函数形式, 称为θ的后验密度函数,或后验分布。其中,谢谢阅读称为样本的边际分布,或称样本的无条件分布,它的积分区域就是参数θ的取值范围,根据具体情况而定。感谢阅读归纳起来贝耶斯估计法的过程为,人们根据先验信息对参数θ已有一个认识,这个认精品文档放心下载**识就是先验分布 。然后通过试验,获得样本,从而对θ的先验分布进行调整,调整谢谢阅读的方法就是使用上面的贝耶斯公式,调整的结果就是后验分布 后验分感谢阅读布是总体信息、样本信息及先验信息这三种信息的综合。获得后验分布使人们对θ的认识感谢阅读又前进一步,可以看出,获得样本的的效果是把我们对θ的认识由 调整到感谢阅读所以对θ的统计推断就应建立在后验分布 的基础上。3.4常见软件可靠性建模方法3.4.1基于黑盒的可靠性模型基于“黑盒”的软件可靠性模型将软件看成一个单一的整体,没有内部结构的建模。感谢阅读这类模型使用统计方法对软件可靠性进行建模,利用软件测试时获得的错误数据来估计模谢谢阅读型参数或者校准模型。3.4.2基于体系结构的可靠性建模使用结构化方法来量化软件可靠性的动机主要有如下几个因素:(1)对于现有很多由可重用构件以及COTS构件组成的软件系统,可以通过结构化的方法来进行全系统的可靠性分析;(2)通过结构化可靠性模型,可以将软件系统的可靠性与软件系统结构以及单个构件的可靠性联系在一起;(3)研究组成软件系统的各个构件对系统整体可靠性的敏感性,从而可以对系统的可靠性瓶颈进行分析;(4)结构化可靠性模型适用于软件设计与开发的全生命周期,而不像软件可靠性增长模型那样只能在测试阶段使用。感谢阅读(1)基于构件的软件系统结构建模构件是基于结构的软件可靠性浮估的基本单元,可以理解为在软件系统中能够实现特定功能的逻辑上独立的模块,同时该模块可以被单独的实际,实现及测试。设计者需要根感谢阅读**据软件系统的功能性能要求等,将系统分解为—个个的构件,在此基础上对系统中构件之间的交互关系以及系统中构件的使用方式进行建模。精品文档放心下载(2)系统失效模式建模在获取软件系统的体系结构之后,要在其基础上定义错误行为。错误可能在模块执行的时候发生,或者是两个模块之间状态转移的时候发生。模块以及模块之间接口的错误行为可以通过他们的可靠性及错误率(恒定的或者是与时间有关的)来确定。精品文档放心下载(3)软件系统可靠性建模系统可靠性建模由两方面因素决定,一方面是软件的组成及运行方式,即软件系统结构模型;一方面是系统的失效模式,即系统出现故障的方式。由于融合结构与错误行为的方法不同,目前主要有4种结构化可靠性建模方式:基于状态的建模、基于路径的建模、可加模型以及基于操作剖面的模型。下面将对这4类建模方法中的典型模型进行详细的介绍。谢谢阅读基于状态的模型该类模型主要使用软件的控制流图来描述软件的体系结构,并假设模块间的转移具有感谢阅读马尔可夫属性,这就意味如果已知任何时间下模块的状态,那么系统将来的行为独立于过去的行为,仅和当前的行为状态有关。这些模型中软件结构主要使用离散时间马尔可夫链(DTMC)、连续时间马尔可夫链(CTMC)、半马尔可夫过程等过程进行建模。这可以进一步分为吸纳和不可分解两类,前者适用于那些可以清楚地划分软件运行时操作与软件终结操作的那些应用,后者适用于连续运行的软件应用。基于状态的模型也可以被划分为组合或者层次模型。组合模型将软件结构和失效行为融合进—个组合模型,并以此模型来预测应用的可靠性。层次模型首先建立结构模型,然后将失效行为添加进结构模型中来计算可靠性。基于状态的模型中比较著名的有Littlewood-Verrall模型、Laprie模型、Ledoux模谢谢阅读型、Cheung模型、Wang模型、Kubat模型等。感谢阅读基于路径的模型**从软件运行的意义上讲,软件失效是发生在某些特定的执行路径上,而与软件可靠性谢谢阅读计算密切相关的软件可靠性测试,也可以看成是对软件某些路径的执行过程。谢谢阅读可加模型该类软件可靠性模型主要利用构件的失效数据来计算软件的可靠性。此类模型假设构谢谢阅读件的可靠性可以建模为非奇次泊松过程,系统的失效强度可以表示为构件的失效强度之和,感谢阅读因此称之为可加模型。基于操作剖面的模型该模型考虑到了在不同的操作剖面下,同一构件的可靠性有可能不同的问题。在构件感谢阅读的开发者不能事先知道构件的使用情况下,它从构件开发者和使用者综合的角度来考虑软件系统可靠性的度量工作。构件的开发人员通过度量得出构件的可靠性信息,然后通过操作剖面和子域映射以及操作剖面传递映射的方式,让构件的使用人员通过计算得出构件的可靠性和系统的可靠性。本方法基于两个创新:(1)剖面映射。软件开发入员提供的数据手册中必须要以操作剖面作为参数,提供在不同的操作剖面下的可靠性参数。(2)构件的输入域划分成一组不同的功能子域,以这些子域为基准,每个操作剖面都可以表示为在这些子域上的一组加权向量。精品文档放心下载假设构件C的输入域D划分成了n个不重叠的子域:=∪∪…..每个子域都有它自己的操作剖面和它的失效概率。表示D中C会失效的子域集合,那么=|∩|。构件C的操作剖面P可以表示为:P=(ℎ,ℎ,….ℎ),其中ℎ表示P对应的输入域落在子域中的概率。那么构件的可靠性可以表示为:R=∑ℎ(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术课标的心得体会(8篇)
- 俄语专业生求职信
- 企业停电停水的应急预案范文(7篇)
- 中秋佳节致辞(8篇)
- 设计课件网站教学课件
- 谚语讲解课件教学课件
- 盲目从众课件教学课件
- 天桃实验学校八年级上学期语文1月月考试卷
- 环境应急预案的编写要点
- 自建房屋建筑施工合同(2篇)
- 《高空抛物行为的侵权责任(论文)8000字》
- 分子标记及其在植物遗传育种中的应用课件
- 二年级数学22-分物游戏-优秀课件
- 猴痘诊疗指南(2022年版)PPT
- 驻外人员补助标准
- 危大工程巡视检查记录
- 《科学社会主义的理论与实践》课件
- ACS患者随访管理表1-3-16
- 经典诵读《满江红》课件
- 工业X射线探伤室设计简述
- 微景观制作课件
评论
0/150
提交评论