您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页基于多准则决策的软件可靠性模型选择方法

基于多准则决策的软件可靠性模型选择方法

来源:好走旅游网
2013年6月 第34卷第6期 计算机工程与设计 COMPUTER ENGINEERING AND DESIGN Jun.2013 Vo1.34 No.6 基于多准则决策的软件可靠性模型选择方法 韩坤 ,吴 纬 ,何成铭 ,曹军海 (1.装甲兵工程学院技术保障工程系,北京100072;2.北京特种车辆研究所,北京100072) 摘要:针对现有软件可靠性模型选择方法计算复杂和适用性差的问题,提出基于多准则决策的软件可靠性模型选择方 法。定义了指导软件可靠性模型选择的若干准则,包括生命周期阶段准则、模型输入要求准则、模型输出要求准则、模型 假设吻合准则和失效数据趋势准则,将这些准则分为确定性准则和不确定性准则,阐述了基于这些准则进行软件可靠性模 型选择的算法,并实例验证了该方法的简单可行性。指出将这种方法与现有软件可靠性模型选择方法进行综合运用的研究 方向。 关键词:软件可靠性;模型;选择方法;选择准则;多准则决策 中图法分类号:TP311.5 文献标识号:A 文章编号:1000—7024(2013)06—2041—05 Selection of software reliability model based on multi—criterion decision HAN Kun ,WU Wei ,HE Cheng—ming ,CAO Jun-hai (1.Department of Technical Support Engineering,Academy of Armored Forces Engineering,Beijing 100072, China;2.Beijing Institute of Special Vehicle,Beijing 100072,China) Abstract:Aiming at problems of large work load and inconvenience for operation exist in available methods for software retiabili— ty model selection,the method for selecting software reliability model based on multi-criterion decision making is suggested.Sev— eral criterions are proposed to direct software reliability model selection,including life cycle phase,model input requirement, model output requirement,model assumptions fit,failure data trend,and these criterions are classified into certainty and uncer— tainty criterions.The algorithm for software reliability model selection based on these criterions is demonstrated,and an example is presented to verify the feasibility of the method.At last,combination of the proposed method and available methods is dis— cussed. Key words:software reliability;model;selection method;selection criterion;multi-criterion decision making 0引 言 软件可靠性模型在软件可靠性评估和预计方面发挥着 关键作用,但是,数量众多的软件可靠性模型给模型的应 用带来了极大的困难,如何选择合适的软件可靠性模型成 为急需解决的问题l1]。目前所提出的软件可靠性模型选择 方法可分为两类:基于模型评价准则的方法和基于模型聚 类的方法。基于模型评价准则的软件可靠性模型选择方法 首先将失效数据应用于软件可靠性模型,然后用模型评价 准则对模型输出结果进行评价,评价结果作为进行模型选 型聚类方法的思路是,具有相似特征的软件失效数据适用 于相同的软件可靠性模型_3]。建立一个软件可靠性模型选 择平台,包括多组基准软件失效数据,以及每组数据所适 用的软件可靠性模型 通过将目标数据与基准数据进行比 照,如果两组数据特征相同,则基准数据对应的模型同样 适用于目标数据,平台中的基准数据和模型可以动态更新。 以上两种方法都被证明是可行的。但它们都各有缺陷,基 于模型评价准则的方法要求将全部候选模型应用于失效数 据,并对模型结果进行评价,运算量大,且没有提供选择 候选模型的方法;基于模型聚类方法的使用要求积累大量 具有典型特征的失效数据以及所适用的模型。这些约束条 件都在一定程度上限制了这些方法的使用。针对这些问题, 择的依据l2]。常用软件可靠性模型评价准则有模型拟合度、 预计有效性、模型偏差、模型偏差趋势和噪声等。基于模 收稿日期:2012—10—08;修订日期:2012—12—10 基金项目:总装备部科订部技术基础基金项目(2008JC04、2OlOJCl1) 作者简介:韩坤(1985一),男,河南商丘人,博士研究生,研究方向为软件可靠性;吴纬(1962一),男,河北保定人,博士,高工,博士 生导师,研究方向为系统可靠性;何成铭(1972一),男,黑龙江佳木斯人,博士,副教授,研究方向为综合保障工程;曹军海(1972一), 男,陕西咸阳人,博士,副教授,研究方向为软件保障性。E-mail:hankun-2005@163.corn 计算机工程与设计 本文提出直接指导软件可靠性模型选择的若干准则,并阐 2013钲 其中,前三项为确定性准则,所选的模型需要完全符合这 些准,后两项为不确定性准则,所选模型不一定能够完全 符合,优先选用符合程度较高的模型。 2.1生命周期阶段 述基于这些准则进行软件可靠性模型选择的算法,以简化 软件可靠性模型选择工作。 1软件可靠性模型分类 从1972年Jelinski—Moranda模型被提出至今,已经有 一软件可靠性模型被应用在软件生命周期的不同阶段, 因此,有必要确定哪些模型适用于某个特定阶段。适用于 百余种软件可靠性模型公开发表[4j。这些模型可以归为 各个生命周期阶段的典型软件可靠性模型如图1所示 。 两类:可靠性早期预计模型和基于运行的可靠性模型。早 期阶段是指软件在可运行之前的阶段,包括方案论证、系 统定义、需求分析、设计、编码和单元测试阶段。软件可 靠性早期预计模型根据软件生命周期的早期阶段,特别是 测试之前的需求分析和设计阶段的评审结果,对后续阶段 的软件潜在缺陷进行预计,为更早地采取预防和纠正措施, 改进软件开发过程和提高软件产品可靠性提供必要的信息。 由于没有软件运行失效数据,早期阶段的可靠性预计通常 是根据软件可靠性影响因素分析,影响因素有软件的应用 类型(机载、过程控制、开发等),固有特征(应用、任 务、功能、接口等),开发特征(避错、容错措施),开发 方的能力成熟度等级,软件规模和复杂度等。这类模型有 美国空军Rome实验室开发的早期预计模型、Samuel Keene 的开发过程模型(DPPM)和Rayleigh早期预计模型等[5]。 从系统测试开始,软件进入可运行阶段,包括系统测 试、确认测试和使用阶段。基于运行的软件可靠性模型根 据软件系统运行失效数据,对软件系统的失效率进行评价 和预计。这类模型以概率论和数理统计为基础,将软件可 靠性测试和使用中发生失效的过程看作随机过程,使用各 种分布函数来描述软件失效过程。并将软件失效数据视为 随机分布数据,基于软件失效数据对分布函数的参数进行 估计,得到模型的具体表达式,从而评价和预计软件的可 靠性。基于运行的软件可靠性模型一般对故障发现和排除 过程做出诸多假设,如软件测试用例代表软件实际使用剖 面,软件失效率与潜在故障数成正比等,这些假设决定模 型的形式和模型参数的意义 ]。基于运行的软件可靠性模 型是最早应用于软件可靠性工程领域的传统分析模型,具 有坚实的理论基础和丰富的实践经验,现有的软件可靠性 模型也大多属于这类模型。目前市场上发行的软件可靠性 计算机辅助分析软件,如计算机辅助软件可靠性评估 (CASRE)和软件可靠性统计建模和评估(sMERFS)等, 都是应用该类模型进行软件可靠性分析的_7]。通过对现有 软件可靠性模型进行梳理分类,能够帮助我们更快找到所 需的模型。 2软件可靠性模型选择准则 基于使用需求和软件可靠性模型的特点,提出五项软 件可靠性模型选择准则,包括生命周期阶段、模型输入要 求、模型输出要求、模型假设吻合和失效数据趋势准则, 软件开发寿命周期阶段 需求I l设计l f编码f l测试l I确认 DPPM模型 Jelinski—Moranda模型 Rome laboratory模型 Duane模型 Musa prediction模型 God—Okumoto模型 elson模型 aleigh模型 Musa-Okumoto模型 soukalas模 7eiss&Weyuker模 rishnamurthy and Mathur模 Littlewood—Verall模型 acoub,Cukic and Ammai模 Yamada S-shaped模堡 图1适用生命周期各阶段的典型软件可靠性模型 (1)在软件论证和需求分析阶段,只有软件应用类型 和开发方能力成熟度等级等少量信息,可选用Rome实验 室早期预计模型、DPPM模型等E93; (2)在设计和编码阶段,根据阶段审查和评审得出的 错误报告信息对可靠性进行预计,可选用Raleigh模型等; (3)在测试阶段,软件中的错误不断被发现和排除, 可选用软件可靠性增长模型; (4)在确认阶段,对发现的错误不做更改,因此可以 认为软件的失效率是固定的,可选用Nelson模型等。 2.2模型输入要求 不同的软件可靠性模型对输人数据的要求可能不同, 根据收集到的数据类型,选用适合的模型。 (1)软件可靠性早期预计模型的输入要求为软件可靠 性影响因素,如软件规模、复杂度、重用代码比例、编程 语言、开发方的能力成熟度等级等; (2)基于失效时间序列的软件可靠性模型输入要求为 软件每次失效的时刻; (3)基于失效时间间隔的软件可靠性模型输入要求为 相邻失效的时间间隔; (4)基于失效计数的软件可靠性模型输入要求为单位 时间内的失效次数。 另外,有些软件可靠性模型要求输入基于日历时问的 失效数据,其它一些模型则要求输入基于CPU时间的失效 数据等[1 。 2.3模型输出要求 不同的软件可靠性模型用户可能期望不同的输出。 (1)在进行软件可靠性测试之前,希望得到软件潜在 故障数,以便合理安排测试时间和测试所需资源; (2)在软件可靠性增长测试期间,希望得到达到某预 第34卷第6期 韩坤,吴纬,何成铭,等:基于多准则决策的软件可靠性模型选择方法 ・2043・ 期可靠性目标所需的时间; (3)在软件可靠性验证测试期间,希望得到软件失效 率或平均故障间隔时间(MTBF); (4)对规定的时间内,不允许发生工作失效的重要系 统,即对可能因故障中止工作而造成人员伤亡或重大经济 损失的软件产品,要求失效率()数据; (5)对软件发生故障时,只影响系统部分非关键功能 但系统不失效、且允许并预定要维修的软件,输出一般要 求MTBF或可导出MTBF的数据。如果对模型输出的要求 为MTBF,则不可选用Goel Okumoto NHPP模型l1 。 2.4模型假设吻合 软件可靠性模型都是基于各种假设。然而,并不是所 有假设都可以完全吻合。假设条件吻合程度高的模型应优 先选择。基于假设条件的不同,软件可靠性模型可以划分 为以下四类ll : (1)马尔科夫模型。基本假设是软件失效服从马尔科 夫过程。这类模型的主要特征是,在某一特定时刻,软件 具有有限的多种状态,各状态之间的转移概率只与当前状 态有关。软件的失效率是基于当前软件状态的离散函数。 这类模型有Jelinski-Moranda模型和Schick-Wolverton模 型等。 (2)非齐次泊松过程模型。基本假设是软件失效过程 为非齐次泊松过程。这类模型的主要特征是,均值函数被 定义为在某给定时刻之前的期望失效数,根据情况选择适 用的均值函数。这类模型有Goel-Okumoto模型和Schnei— dewind模型等。 (3)输入域模型。基本假设是软件测试用例能够代表 软件实际使用剖面。基于软件的实际使用剖面,随机选择 输入数据,研究导致软件失效的概率。根据一系列测试用 例的输入结果,计算软件的可靠性。这类模型有Brown-I i pow模型和Nelson模型。 (4)基于软件工程度量的模型。基本假设是规模越大、 复杂度越高的软件会具有更多的缺陷数,且不同的软件类 型和开发特征会影响软件产品的可靠性。软件工程度量被 用于预计软件的缺陷数。这类模型有基于HaIstead度量的 模型和基于McCabe度量的模型。 2.5失效数据趋势 将失效数据呈现的趋势与软件可靠性模型描述的趋势 相比较,如果两者相似,则此模型的预计精度会相对较高。 失效数据趋势可以分为以下四类。 (1)失效数据趋势为可靠性增长。软件可靠性增长测 试和系统使用期间,随着软件错误的不断排除,并且在不 引进新错误的情况下,软件可靠性呈逐渐增长趋势。这种 情况下,一般选用软件可靠性增长模型,如God—Okumoto 模型和Musa-Okumoto模型。 (2)失效数据趋势为可靠性先下降后增长。在测试初 期,软件存在的错误较多,但由于测试人员对软件本身及 测试环境不熟悉,导致发现的错误较多,得以改正的错误 较少。因此,软件可靠性呈下降趋势。随着测试人员熟练 程度的提高,软件错误不断得到更正,可靠性也随之增 长_1 。推荐选择S型模型,如Yamada S型模型。 (3)失效数据趋势为可靠性稳定。这种情况一般发生 在软件生命周期的后期,随着软件故障的不断排除,软件 缺陷不再频繁引起系统失效,软件失效发生的次数减少, 软件错误排除周期变长,软件可靠性呈现稳定,可以选择 线性模型或泊松模型_】 。 (4)失效数据趋势为可靠性不断下降。这种情况一般 是由于软件错误排除过程中,同时引入了新的错误。此时, 已经失去了应用软件可靠性模型的意义。应该及时审查和 调整软件错误的排除过程,保证不引入新的软件错误。 3软件可靠性模型选择算法 根据上述软件可靠性模型选择准则,基于多准则决策 进行软件可靠性模型选择的基本思路如图2所示。 备选软件可靠性模型 l I 确 运用生命周l期符阶合 段准则l一 舱] ^ + 疋 性 运用模型输入要求准则l一 不符合一舍弃该模型 } ,则rn 运用模型输I出符合 要求准则l 一J l符合 赋予不确定性l l 准 权重 l  l赋予模型假没吻合 赋予失效数据趋势 不确定I 准则应用权重 准则应用权重 性准则I I  _l + 将准则权重与应用权重相乘, 选择得分最高的模型 图2基于多准决策的软件可靠性模型选择算法 首先,运用确定性准则对软件可靠性模型进行筛选。 经过运用生命周期阶段、模型输入要求、模型输出要求三 项确定性选择准则,只有适用于特定生命周期阶段,满足 模型输入和输出要求的模型被保留下来做为候选模型。 其次,对不确定性准则赋予准则权重。根据用户需求 和模型应用特点,按准则的重要程度对模型假设吻合准则 和失效数据趋势准则分别赋予准则权重,要求两准则权重 相加等于1。 再次,对候选模型赋予准则应用权重。将模型假设吻 合准则和失效数据趋势准则分别应用于各候选模型,根据 软件可靠性模型对准则的满足程度,赋予0和1之间的值 ・2044・ 计算机工程与设计 2013正 作为应用权重。 最后,将各候选模型的准则权重和相应的应用权重相 乘,选择得分最高的软件可靠性模型。 选模型基于失效数据趋势准则的应用权重分别为:JM一 0.2,Duane一0.4,GO一0.4,MO一0.5,LV一0.3, YS一0.1。 4实例应用 选用一组某型软件系统测试期间的失效数据,如表1 所示,运用所提出的方法进行软件可靠性模型选择,用于 各候选模型的最终得分分别为:JM一0.25*0.3+ 0.2*0.7—0.215。Duane一0.5*0.3+0.4*0.7— 0.43。GO一0.5*0.3+0.4*0.7—0.43,MO一0.5 *0.3+0.5*0.7—0.5。LV一0.25*0.3+0.3* 评估软件当前的可靠性水平。 表1软件系统测试失效数据 故障故障故障故障TBF故障TBFi ̄Ni TBFTBFTBFTBF 数 数 数 数 数 数 1 2 11 140 21 226 31 237 41 297 51 293 2 25 12 47 22 65 32 75 42 293 52 336 3 98 13 78 23 252 33 166 43 179 53 369 4 70 14 32 24 78 34 59 44 816 54 748 5 88 15 112 25 302 35 437 45 1051 55 432 6 8 16 87 26 19O 36 308 46 148 56 530 7 3 17 172 27 13O 37 97 47 121 57 465 8 93 18 130 28 144 38 264 48 233 58 1222 9 112 19 36 29 201 39 352 49 234 59 543 1O 2O 2O 124 3O 62 40 245 50 357 60 529 注:TBF为故障间隔时间,单位为小时。 (1)此失效数据产生于系统测试阶段,根据软件生命 周期阶段准则,选择适用于系统测试阶段的软件可靠性模 型。系统测试阶段常用的模型有:Jelinski-Moranda(JM) 模型、Duane模型、Goel-Okumoto(GO)模型、Musa- Okumoto(M0)模型、Littlewood-Verall(LV)模型、 Yamada S-shaped(YS)模型等; (2)此失效数据是软件失效时间间隔数据,但能够转 化为软件失效时刻数据和软件失效计数数据。由于第一步 所选模型都属于基于运行的软件可靠模型,满足模型输入 要求准则;且皆可以输出失效率数据,适用于评估软件系 统当前的可靠性,满足模型输出要求准则。所以,保留所 有第一步选择的模型做为候选模型; (3)候选模型皆是对软件失效过程做出假设,这种情 况下失效数据趋势准则更为重要,因此,分别赋予模型假 设吻合准则和失效数据趋势准则的准则权重为0.3和0.7。 (4)根据软件失效过程与模型假设的吻合程度,各候 选模型基于模型假设吻合准则的应用权重分别为:JM一 0.25,Duane一0.5,GO一0.5,MO一0.5,LV一 0.25,YS一0.5。 根据失效数据趋势和模型曲线趋势的相似程度,各候 0.7—0.285,YS一0.5*0.3+0.1*0.7—0.22 Musa-Okumoto(MO)模型得分最高,所以最终选择 Musa-Okumoto(MO)模型。 5 结束语 本文分析了现有软件可靠性模型选择方法,指出它们 存在运算量大、应用不方便等缺点。提出可以直接指导软 件可靠性模型选择的若干准则,阐述了基于这些准则进行 软件可靠性模型选择的算法,并进行了实例应用。相对现 有基于模型评价准则和模型聚类的软件可靠性模型选择方 法,本文所提出的方法计算简单,对经验数据的积累要求 较低,可以大大减少进行软件可靠性模型选择的工作量。 但也应该看到基于模型选择准则方法的不足,基于此方法 选择出来的软件可靠性模型,还需要用模型评价准则对其 应用效果做出最终评价。进一步研究的方向是将三种方法 综合起来,在没有历史数据的情况下,首先基于软件可靠 性模型选择准则,选出适量得分排名靠前的模型作为侯选 模型;其次,将各侯选模型应用于软件失效数据,并基于 软件可靠性模型评价准则对各候选模型的应用效果进行评 价,选择评价结果最好的模型作为最终模型;最后,通过 对软件失效数据和适用模型的积累,建立利于工程化应用 的软件可靠性选择平台。 参考文献: [1]Karanta Ilkka.Methods and problems of software reliability es timation[R].Finland:VTT Technical Research Centre of Fin— land,2006;48—49. [2]TENG Lingling,SHAO Dong,RONG Guoping.Reseach on software reliability model selection[J].Computer Applications and Software,2010,27(6):128—131(in Chinese).[腾灵灵, 邵栋,荣国平.软件可靠性模型选择研究[J].计算机应用与 软件,2010,27(6):128—131.] [3]Kapil S,Rakesh G,Nagpal C K.Selection of optimal software reliability growth models using a distance based approach[J]. IEEE Transactions on Reliability,2010,59(2):266—276. [4]ZHU Lei,YANG D锄,WU Yingbo.Selection of ̄ftware reliabili ty model based on BP neural network[J].Computer Engineering and Design,2007,28(17):4091—4094(in Chinese).[朱磊,杨 丹,吴映波.基于BP神经网络的软件可靠性模型选择_J].计 算机工程与设计,2007,28(17):4091—4094.] 第34卷第6期 韩坤,吴纬,何成铭,等:基于多准则决策的软件可靠性模型选择方法 ・2045・ E53 IEEE Std 1633TM一2008,IEEE recommended practice on soft— ware reliability Es;. [6]SHI Zhu.Software reliability engineering[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2009(in Chinese).[石柱,软件可靠性工程[M].北京:北京航空航天 大学出版社,2009.] [7]Lyu M R.Software reliability engineering:A roadmap[C]// Proceedings of Future of Software engineering,2007:153—170. [83 Pham H.System software reliability[M].London:sr)ringer Publisher,2006:132—134. [9]Wende Kong.Towa ̄s a formal and scalable approach for quan— tifying software reliability at early development stages[D]. Maryland:University of Maryland,2009:12—15. [1o]Norman Schneidewind.Comparison of reliability and testing models[J].IEEE Transactions on reliability,2008,57(4): 607—6l5. [-11]WEI Ying,SHEN Xiangheng.Analysis and establishment of software reliability parameters of astronautics payload software [J].Computer Engineering and Design,2008,29(1O):2564— 2566(in Chinese).[魏颖,沈湘衡.航天载荷应用软件可靠 性参数的分析与确立[J].计算机工程与设计,2008,29 (1 O):2564—2566.] [12]CHAO Bing.The classiftcation of software reliability models and failure analysis of software reliability based on support vec— tor machines[D].Wuhan:Wuhan University,2010:11-19 (in Chinese).[晁冰.基于支持向量机的软件可靠性模型分 类及失效分析[D].武汉:武汉大学,2010:11—19.] [-13]wu Y P,Hu Q P,XIE^,L Modelign and analysis of software fault detection and correction process by considerign time de— pendency[J].IEEE Transactions on Software Reliability, 2007,56(4):629—642. [14]LU Minyaru Software reliability engineerign I-M].Beijign: National Defense Industry Press,2011(in Chinese).[陆民 燕.软件可靠性工程[M].北京:国防工业出版社,2011.] 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务