




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 7 0 年代初期,在j e l i s k i m o r a n d a 提出第一个软件可靠性模型后,有关软件可靠性的 研究就一直是软件工程领域的热点问题。经过近几十年的研究和发展,软件可靠性和软 件可靠性工程的理论逐渐成熟,其中最重要的研究方向之一就是组件软件可靠性以及组 件软件可靠性的优化问题。 组件软件l u 靠性一般无法准确测量,所以如何准确估计或预测组件软件可靠性是组 件软件可靠性研究中的重要问题。由于用来估计组件软件可靠性的可靠性数据来源各 异,使得组件软件可靠性估计结果存在着不可靠性,组件软件可靠性估计必定会产:生估 计方差。我们在实际环境中分析组件软件可靠性的时候,应该考虑到可靠性估计方差因 素,这样才能够保证可靠性估计结果的f 确性和完备性,开发和应用真正有意义的组件 软件可靠性估计模型和组件软件可靠性优化模型。 组件软件可靠性优化的主要任务就是在提高可靠性的同时,还需要考虑测试代价的 以及可靠性估计方差的最小化。然而,传统的r p p 组件软件可靠性优化策略并没有考虑 到测试代价对优化结果的影响。可靠性估计方差最小化问题虽然已引起人们的注意,但 也一直缺乏比较简单和准确的解决方法。 本文的创新之处首先在于提出了一种改进的r p p 组件软件i 叮靠性优化策略:r p p c 组件软件可靠性优化策略。r p p c 优化策略在降低r p p i 值高的组件软件可靠性估计方 差的同时,增加考虑了与该组件软件相关的额外的测试代价因素。其最终解应该由组件 软件的r p p i 值和额外测试代价共同决定,即在较低的成本水平下选取对软件系统整体 可靠性估计贡献较大的组件软件进行额外测试,以便提高整个软件系统可靠性水平。本 文简单给出r p p c 组件软件可靠性优化策略的算法实现思想。 本文的另一个创新之处是提出采用交叉熵方法解决最小化组件软件可靠性估计方 差的方案。为了减少可靠性估计方差给组件软件可靠性研究带来的各种影响,最小化可 靠性估计方差的任务迫在眉睫。交叉熵方法为处理呵靠性优化问题提供了一种快速、实 用并且行之有效的方法。我们利用交叉熵的概念和特性,通过拟合方法和重要抽样方法, 提出用交叉熵方法最小化可靠性估计方差的改进方案。本文具体给出交叉熵最小化可靠 性估计方差的算法实现步骤。 关键词:组件软件可靠性估计方差组件软件可靠性优化r p p c 策略交叉熵 东南大学硕十学位论文 a b s t r a c t 1 e nj e l i s k i m o r a n d ap r e s e n t e dt h ef i r s tm o d e lo fs o f t w a r er e l i a b i l i t yi nt h ee a r l yd a y s o f7 0 s ,t h er e s e a r c ha b o u ts o f t w a r er e l i a b i l i t yi st h eh i g h l i g h to f s o f t w a r ee n g i n e e r i n ga l lt h e w h i l e 。b yr e c e n ti n v e s t i g a t i o n ,s o f t w a r er e l i a b i l i t ya n ds o f t w a r er e l i a b i l i t ye n g i n e e r i n g b e c a m eg r a d u a l l ym a t u r i t y ,a n dt h em o s ti m p o r t a n ta s p e c ti st h er e s e a r c ha b o u tc o m p o n e n t s o f t w a r e 。 b e c a u s ew ec a nn o te x a c t l ym e a s u r er e l i a b i l i t yo fc o m p o n e n ts o f t w a r e ,h o wt og i v et h e p r e c i s i o nr e l i a b i l i t ye s t i m a t i o no fc o m p o n e n ts o f t w a r ei st h em a i np r o b l e m 。t h ed a t as o u r c e u s e dt oe s t i m a t ev a r y ,s ot h eu n c e r t a i n t yo fc o m p o n e n ts o f t w a r er e l i a b i l l t ym u s te x i s t ,a n d t h e r ea r ee s t i m a t i o nv a r i a n c ei nc o m p o n e n ts o f t w a r er e l i a b i l i t y 。t h u s ,i ti sg r e a tn e e dt o c o n s i d e rt h ef a c t o ro fe s t i m a t i o nv a r i a n c et od e v e l o pt r u l vu s e f u lr e l i a b i l i t ye s t i m a t i o nm o d e l s a n dr e l i a b i l i t yo p t i m i z a t i o no fc o m p o n e n ts o f t w a r e 。 t h e r eh a v et w oi n n o v a t i o n si nt h et h e s i s :r p p cs t r a t e g ya n dt h eu s eo fc r o s s e n t r o p yt o s o l v e l ep r o b l e mo f m i n i m i z i n ge s t i n a a t i o nv a r i a n c eo f e o m p o n e n ts o f t w a r e t h et r a d i t i o n a lr p ps t r a t e g yo fc o m p o n e n ts o f t w a r er e l i a b i l i t yo p t i m i z a t i o nd o e sn o t c o n s i d e rt h ec o s to f t l l ea d d i t i o n a lt e s t i n gr e q u i r e dt od e c r e a s ec o m p o n e n t e s t i m a t ev a r i a n c e 。 s ow ep u tf o r w a r dam o d i f i e dr p p s t r a t e g y :r p p cs t r a t e g y 。w js h o u l dn o to n l yt h i n ko v e r h o wt od e c r e a s et h ee s t i m a t i o nv a r i a n c eo fc o m p o n e n ts o f t w a r ew i t hh i g h e rr p p i ,b u ta l s o n e e dt oc a l c u l a t et h ei n t e r r e l a t e ds u p e r e r o g a t o r yt e s tc o s t 。t h er p p iv a l u ea n dt h et e s tc o s t d e t e r m i n et h eu l t i m a t e l ys o l u t i o nt o g e t h e r ,n a m e l yw eo u g h tt oc h o o s et h e s ec o m p o n e n t s o f t w a r ew h i c hc a nc o n t r i b u t em u c ht ot h ew h o l es y s t e mr e l i a b i l i t ye s t i m a t i o nu n d e rm u c h 1 0 w e rc o s tl e v e l 。 i no r d e rt or e d u c et h ei n f l u e n c eo fr e l i a b i l i t ye s t i m a t i o nv a r i a n c e ,w em u s tc o n s i d e rt h e p r o b l e ma b o u tm i n i m i z i n ge s t i m a t i o nv a r i a n c e 。i ti sac e l e r i t y 、u t i l i t ya n de f f e c t i v em e t h o dt o u s ec r o s s e n t r o p yt od e a lw i t hr e l i a b i l i t yo p t i m i z a t i o n 。w i t ht h e o r yo f i m p o r t a n ts a m p l e ( i s ) a n dc r o s s - e n t r o p y ( c e ) ,w eb r i n gf o r w a r dt h ep r o j e c tt om i n i m i z ee s t i m a t i o nv a r i a n c e 。a t 1 a s t ,w eg i v et h ec ea l g o r i t h ma n de x p e r i m e n tr e s u l to f c o m p o n e n ts o f t w a r eo p t i m i z a t i o n 。 k e y w o r d s :e s t i m a t i o nv a r i a n c eo fc o m p o n e n ts o f t w a r e ;c o m p o n e n ts o f t w a r er e l i a b i l i t y o p t i m i z a t i o n ;r p p cs t r a t e g y ;c r o s s e n t r o p y i i 东南大学学位论文独创- 陛声明 本人声明所早交的学位论文是我个人在导师指导下进行的研究丁作及取得的研究成果。尽我 所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得东南大学或其它教育机构的学位或证邶而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 研究生签名: 亟:蜜 日期:z 生二丝2 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和 电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内 容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的 全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 虢边翮躲瓤嘿 第一章绪论 第一章绪论 随着科学技术的飞速发展,软件的功能越来越强大,软件的复杂性也越来越高,从而增加了软 件测试与软件质晕保证和评估的难度。根据i s o i e c9 1 2 6 国际标准的规定,软件质鼍的评估主要从 软件的功能型、可靠性、易用性、效率性、可维护性、可移植性等各方面特性去衡鼋。随着计算机 在安全性等重要应用领城中的迅速推广,特别是软件在尖端领域的应用,软件可靠性日益显示出其 重要性。所以,提高软件可靠性已经成为软件质量保i | e ( s q a ) 和评估活动中一个非常重要的研究方向。 1 1 选题依据 软件可靠性是描述和评价软件质量属性的一个重要特征蕈。通常可表示为:在规定的条件下和 规定的时间内,软件成功地完成规定功能的能力或不引起系统故障的能力,称其为软件可靠性l l i 。 由于软件可靠性的相关概念以及研究内容的提出和起步都比较晚,所以软件可靠性的定阜度鼍方法 还很不完善,并且基本沿袭硬件可靠性度量指标化概念。近年来,软件可靠性的预测和评估等工作 越来越受到重视,也已取得可喜的进展。本论文主要针对软件可靠性中的组件软件可靠性开展了一 系列的研究工作。 考虑可靠性估计方差的组件软件可靠性研究是我们这篇论文的主要研究内容。选择该课题的必 要性如下: ( 1 ) 一般情况下,为了达到规定的可靠性目标,程序员必须对软件进行反复的测试和修改来提 高软件系统可靠性。但是由于软件系统内部结构是非常复杂的,软件系统的各个组成部分( 即组件 软件) 对软件总体可靠性的影响也是互不相同。所以,应该对每个组件软件的可靠性进行具体的分 析和讨论。 ( 2 ) 软件市场竞争的加剧使得开发时间和测试预算都在日益精简和缩短,故而对组件软件可靠 性进行非常精确的测 妻并不可行。通常采用的方法是对组件软件可靠性进行估计:根据测试样本空 间的大小和该时间段内观察到的组件软件运行错误数,通过概率统计的方法估计出组件软件可靠性。 由于组件软件可靠性是估计值,必然会存在估计方差。但可靠性工程师在实际_ 作中常常忽略估计 方差,并把组件软件的可靠性看作是无偏估计量。这样就不能够保证组件软件可靠性值的准确性, 也会为后继的各项组件软件可靠性分析和研究工作带来影响。 ( 3 ) 如果组件软件可靠性估计方差非常大,组件软件本身的传播性还会放大可靠性估计方差。 结果是由组件软件构成的软件系统虽然可靠性估计值非常高,但可靠性估计方差也相当大。显然, 这样的可靠性估计结果就会产生误导作用。因此,软件开发人员必须意识到组件软件可靠性估计方 差是存在的,并且还需要最小化可靠性估计方差。 ( 4 ) 最小化组件软件可靠性估计方差,一般是通过为该组件软件增加额外的测试单元进行测试, 获取更多的和更准确的可靠性数据。在添加额外测试单元的同时,相应的也会引起测试费用的增加。 在总的测试代价受限的情况下,如何降低测试费用是实现上述研究一个重要方面。能否寻求出既保 证组件软件可靠性最大又使组件软件可靠性估计方差最小,还不增加组件软件测试费用的最佳解决 方案,是软件研究人员急待解决的现实问题。关于这方面的研究也尚末见报导。 为了获得准确的组件软件可靠性估计值,我们在研究工作中必须明确考虑组件软件可靠性估计 方差的存在。而且,进一步还需要考虑如何把可靠性估计方差减小到最低,最大稃度的降低可靠性 估计方著对组件软件可靠性的影响。考虑可靠性估计方差的组件软件可靠性优化工作有重要的实用 价值,是当前组件软件可靠性研究工作的热点。 1 2 国内外研究现状 早期的研究者在分析和研究组件软件可靠性方面花费了很多时间。在过去三十多年里,人们提 出了各种组件软件可靠性模型进行组件软件可靠性计算。组件软件可靠性模型主要有n h p p 模型、 b a y e s 模型、h y p e r g e o m e t r i e 模型以及m a r k o v 模型等。现在,科研人员比较关注的是m a r k o v 组件 软件可靠性模型,该模型可以简单而又直接的反映出组件软件的执行路径以及相互关系,便于开展 各项研究工作。 美国的d a v i d w c o i t 和t o n g d a n j i n 在组件软件可靠性的计算和优化的研究中取得了许多重要成 果。2 0 0 1 年,他们在参考文献【4 】和 2 9 1 中详细讨论了在考虑组件软件可靠性估计方差的情况f ,如 何开发出用于计算组件软件可靠性估计值以及软件系统可靠性估计的非参数模型。 2 0 0 1 年,d a v i d w c o i t 在参考文献1 1 ,1 2 1 中提出了一种用于降低组件软件可靠性估计方差的r p p 策略( 可靠性估计值排序策略) 。该策略引入可靠性灵敏度这个概念,用以指示每个组件软件对软件 东南大学硕士学位论文 系统可靠性的相对贡献值和影响作用。利用组什软件的可靠性灵敏度,我们可以对组件软件指定使 用和改进的优先次序。那些可靠性灵敏度高的组件软件的可靠性估计值还需要进一步提高,换而言 之也就是降低可靠性估计方差。唯一的解决方法就是对这些组件软件添加额外的测试,以便获取充 分的可靠性估计数据。但r p p 策略有一个明显的缺点就是没有考虑额外测试所需花费的测试代价。 2 0 0 3 年,j u n g - h u a l o 等人在参考文献【3 2 件给出了基于软件体系结构的组件软件可靠性灵敏度 的解决方案。该方案通过分析组件软件的具体执行路径,确定哪个组件软件对软件系统的影响最大。 进而具体分析和研究该组件软件。这种方法和上述的r p p 策略都可以适用于组件软件可靠性灵敏度 分析。 关于如何在提高组件软件可靠性的同时最小化可靠性估计方差以及测试代价的相关研究文献也 比较多。2 0 0 1 年,t o n g d a nj i n 在参考文献 2 6 】中对组件软件测试代价受到限制的情况下,提出了组 件软件可靠性多目标优化的思想:最大化组件软件可靠性估计值同时最小化组件软件可靠性估计方 差的。但他并没有真正的解决该问题,只是从理论上探讨了多目标优化的可行性。2 0 0 5 年,d e b o e r , p - t 等人在参考文献 1 9 r p 首次提出了交叉熵方法可以应用与软件可靠性优化问题,并取得了一 定的研究成果,为软件可靠性优化以及组件软件可靠性优化提供了一个很好的研究方向。 随着组件软件使_ i = j 的日益广泛,国内近年也开展了组件软件可靠性相关工作的研究,参考文献 【2 3 】对组件软件可靠性模型等作了一般性介绍。参考文献 3 0 3 1 】则对组件软件可靠性的计算进行了 具体的研究。参考文献f 3 2 。3 3 讨论了可靠性与测试代价的优化和平衡问题。这些研究文献都结合了 组件软件本身特点。 关于组件软件可靠性优化的研究,相比国外的研究工作,国内这方面的研究开展的还不够。因 此,如何对组件软件可靠性估计值和估计方差进行优化,也就是降低组件软件可靠性估计方差,是 组件软件可靠性优化中需要重点关注的问题。这也是我们选择该研究课题的可行性所在。 1 3 研究内容 根据国内外在组件软件可靠性估计方差的计算和优化方面的研究、开发现状、以及晟新发展动 态,本论文主要在考虑可靠性估计方差的情况下对组件软件可靠性进行优化方面展开深入研究。具 体而言,论文将围绕下面几个内容展开研究: ( 1 ) 研究当前组件软件可靠性估计技术的基本概念、理论和方法,分析组件软件可靠性估计方 差产生原因,提出解决问题的思路。由于初始测试样本空间不够大,用于组件软件可靠性估计的数 据来源都具有不同程度的不充分性和不可靠性,故而使得组件软件可靠性估计方差必然存在。因此, 我们必须降低可靠性估计方差给组件软件可靠性估计带来的影响。受到现有的研究条件和开发技术 的约束,彻底消除估计方差是不可能,只有最小化组件软件可靠性估计方差是可以实现。 ( 2 ) 针对现已获得的组件软件可靠性估计方若的研究成果,对d a v i dw c o i t 在参考文献 1 1 ,1 2 中提出的r p p 策略进行改进,添加额外测试所需花费的测试代价考虑因素,以便额外的测试能够最 经济和最有效的工作,从而快速降低组件软件可靠性估计方差。首先提出改进思想,在原来的r p p 策略基础上增加测试代价,同时希望达到如下目标:最大化可靠性估计值排序序列和最小化额外测 试代价;然后对该问题建立数学模型,给出最大化性价比的模型形式和算法实现思想,并拟采用动 态规划方法求解该问题;最后,通过实验数据对比说明改进的r p p 策略( 我们称之为r p p - c 策略) 的 优越性和实_ l l j 性。 ( 3 ) 针对t a n g d a n j i n 在参考文献f 2 6 】中讨论的组件软件可靠性多目标优化问题,提出采用交叉 熵方法最小化可靠性估计方差的解决方案。在组件软件测试代价受到限制的情况下,如何对组件软 件可靠性进行多目标优化,这是组件软件可靠性优化中的关键问题。对于组件软件可靠性估计方差 最小化问题,一般是采用传统的多目标优化的三种解决方案( 目标规划、目标权重、p a r c t o 优化) , 但都未取得良好的解决效果。通过使用交叉熵方法,可以把组件软件可靠性估计方著最小化问题转 换为估计稀有事什概率的问题,并且采用重要抽样方法具体解决。首先,建立交叉熵最小化组件软 件可靠性估计方差的数学模型;然后简单给出交叉熵算法实现思想;最后,分析实验数据验证交叉 熵方案的有效性和快速性。 2 第一章绪论 本论文的研究内容可用如下树型图1 1 表示: 图1 1 论文树型结构图 1 4 论文主要成果 整个论文在考虑组件软件可靠性估计方差的情况下,围绕着组件软件可靠性优化这根主线开展 了一定的研究工作。论文的主要研究成果表现在以下几个方面: 提出改进的可靠性估计值排序策略:r p p c 策略。考虑r p p i 的大小的同时,把花费的额外测 试代价列入考虑范围,使得r p p 策略使用真正能够实现。论文建立了r p p - c 模型,并采用动态规划方 法解决。最后给出了算法实现思想和实验数据分析。 提出用交叉熵方法解决晟小化可靠性估计方差问题的方案。通过交叉熵方法,可以把可靠性 估计方差最小化问题转换为解决稀有事件模拟问题,真正解决了组件软件可靠性估计方茅最小化的 问题。论文建立了交叉熵最小化组件软件可靠性估计方差的数学模型,并给出交叉熵算法实现思想 和实验数据对比结果。 1 5 内容安排 本论文各主要章节内容安排如下: 第一章作为整个论文的绪论,阐述此项研究的必要性以及可行性,描述论文的研究内容,研究 成果,并简要地介绍论文结构。 第二章介绍组件软件可靠性估计和组件软件可靠性估计方差的相关概念。包括软件可靠性,组 件软件可靠性,可靠性估计方蒡的产生原因分析以及计算公式。 第三章研究了组件软件可靠性优化t 作之一:额外测试代价最小化。首先分析了现有的r p p 可 靠性优化策略的不足;然后提出了考虑测试代价的优化方案:r p p - c 策略,即展大化组件软件可靠 性值排序的同时也最小化该组件软件需要的额外测试代价,详细探讨了该策略实现的关键技术一测 试单元数的动态规划解决方法,并给出了算法实现思想和实验数据分析。 第四章研究了组件软件可靠性优化工作之二:可靠性估计方差最小化。首先介绍交叉熵的相关 概念。包括熵和交叉熵的基本知识,以及交叉熵的应用:组合优化。然后提出利用交叉熵方法最小 化可靠性估计方差的解决方案,为组件软件可靠性优化提供了另一种新的、快速的解决方法。最后 简单给出算法实现方案。 第五章是对整个论文研究和实践工作的总结,综述我们在组件软件可靠性估计方差与可靠性优 化技术研究方面获得的成果,并且指出我们现有工作的局限性和有待提高和改进的方面。 3 第二章组件软件可靠性估计的理论研究 第二章组件软件可靠性估计的理论研究 随着计算机功能的增强,软件规模越来越大,软什的体系结构也越来越复杂,软件的质晕问题 就变得越来越突出。软件质晕是软件产品的灵魂。在众多的软件质量评估指标( 功能性、可靠性、 易用珲! 、效率、维护性和可移植性) 中,软件可靠性是最重要的指标之一。在软件可靠性研究方面, 早期的研究以软件可靠性模型和软件容错技术为主,并积累了大母的工程经验。随着软件可靠性建 模技术和管理技术的发展,软件可靠性在开发中所占的地位越来越重要。软件可靠性指标除了成熟 性、容错性、易恢复性等主要指标,也逐渐和开发成本、系统效率、软件安全性、可移植性、可维 护性等指标结合起来。软件可靠性工程在软件工程领域正成为一个重要的分支,成为- - i 1 崭新的技 术。本章首先介绍软件可靠性相关知识以及软件可靠性常用计算公式;然后对组件软件可靠性估计 的基本理论加以阐述;最后结合实例讨论了组件软件可靠性估计方差产生原因和计算方法。 2 1 软件可靠性 随着计算机技术的普及和发展,硬件可靠性技术日趋成熟,软件可靠性问题变得日益突出。美 国军用装备中软件成本在总成本中的比重已从1 9 5 5 年的不剑2 0 增加到1 9 8 5 年的9 0 以上。2 0 0 5 年9 月i e e es p e c t r u m 杂志专门报导了企业软件及许多软件失效的问题,这些失效导致公司、政府 等每年损失达剑6 0 0 7 5 0 亿美元。其主要原因就是开发出的这些应用软件质龟不过关,在实际使用 中经常会出现各种软件错误,严重的还会导致软件系统崩溃。所以这类软件可靠性比较低的问题软 件不是中途停止,就是完成后仅使用很短的时间就被抛弃。因此,软件可靠性是当今可靠性工程研 究领域中的新课题。 2 1 1 软件可靠性 j o h nd m u s a 在软件可靠性工程1 1 】一书中曾明确给出软件可靠性的定义如下: 软件可靠性( s o f t w a r er e l i a b i l i t y ) :是指软件在规定的运行环境和运行时间内无失效运行的概率。 因为它是时间t 的函数,可用r ( t ) 表示。 这里规定的运行环境是指软件运行的具体环境,包括该软件实际运行时所需要的一切支持系统 和有关因素。而规定的时间一般有很多种情况,可能是日、周、月、年等计时单位,也可能是从程 序运行开始到运行结束所用的时间等。 通过上述定义的描述,我们可以发现软件可靠性具有以下两个特点:( 1 ) 软件失效呈现随机性; ( 2 ) 导致软件失效的原冈复杂:错误性质、错误发生时间、错误发生部位等众多因素。 软件可靠性是软件质草最重要的一个方面,因为它定量地指出一个软件产品对于用户的需求的 工作好坏程度。软件质量的其他度量指标可能与软件可靠性有些关系,但是相比起来这些指标与软 件可靠性的关系都很不直接。 软件可靠性最重要的作用是检查程序的发展趋势,设定预期目标和预测什么时候可以达到目标, 最终用来判断软件质量是否符合规定要求。没有可靠性就没有质量,软件产品就无法在激烈的竞争 中生存和发展。 2 1 2 可靠性特征量 在软件质晕实际评估中,对于软件可靠性不仅可以使用可靠度r ( t ) 来度量,还可以使用与软件 可靠性相关的其它三个可靠性特征量1 1 1 ( 又可称为可靠性指标) 度量。 软件失效概率:是指失效时间少于或等于t 的概率,又可称为不可靠度,可用f ( t ) 表示。它与软 件可靠性的相互关系可用一f 式表示: f ( i ) = 1 - r ( t ) 软件失效强度;表示在规定时间间隔内检测到的软件缺陷数,可用f i t ) 表示。 d r ( t ) f ( t 户d f “) d t = 一二二二! 。 出 如每小时发现o 0 1 个失效或每1 0 0 个小时检测到1 个失效。如果软件系统运行7 个小时的可靠 性r ( t ) 是o 9 9 3 ,则根据上述特征量的定义可知软件的失效强度f m 就是每1 0 0 0 个小时1 个失效。 软件故障率:指在单位时间内软件发生故障的概率,又称危险率,可刚a ( f ) 表示。 4 东南大学硕士学位论文 矗足( r ) 月,r f l :f c t _ _ 2 :兰盟:一堑一 、。r ( t )r ( f )r ( f ) 求解上述方程,能够得到可靠r ( t ) 和危险率a ( ,) 之间的关系式: 咿d 一司 可见,危险率a ( f ) 在软件可靠性的研究中,受到广泛的关注。只要知道了a ( f ) 则r ( t ) 就可求出, 但在实际工作中却十分令人失望,直剑目前为止,人们还只能对它作出各种假设。 其实这四个可靠性特征量( 可靠度r ( t ) ,软件失效概率f ( t ) 、软件失效强度的和软件故障率名( f ) ) 之间是相互联系的,只要知道其中一个,则其它三个特征量均可求得。 虽然人们可以很容易地定义出软件可靠性的数学计算公式,但是真正的计算工作却有相当大的 难度。因此,如何建立准确而又简单的软件可靠性计算模型一直是软件可靠性研究工作中的重点内 容之一。 2 1 3 影响软件可靠性的因素 软件可靠性是关于软件能够满足需求功能的性质,软件不能满足需求是因为软件中发生的错误 引起了软件运行故障。 引起软件差错的原因主要都是软件开发各阶段潜在的人为错误: ( 1 ) 需求分析定义错误。这种错误是导致软件不可靠的致命因素。如用户提出的需求不完整, 或者是用户的需求变化未及时反映到程序中等等。 ( 2 ) 结构设计错误。主要是指程序的健壮性不够,缺乏对异常情况或错误情况处理的考虑,对 非法输入的容错能力不够,不能及时给出对应的解决措施。 ( 3 ) 程序代码错误。由于程序员在编写程序的过程中对代码的审核不严格,往往会产生语法错 误和变量定义等错误。 ( 4 ) 测试错误。前面的几种软件错误都是与软件程序本身相关,而测试错误则是跟测试员有关, 如测试数据准备不足,测试用例选取不正确。 由上可见,提高软件可靠性的方法从根本上来讲就是减少软件错误和提高软件的健壮性。 2 1 4 提高软件可靠性的方法 软件可靠性是软件质量的重要指标之一,改进软件质量的主要方法提高软件可靠性。既然影响 软件可靠性的因素如上所述,本人认为可以针对性的从以下几方面尝试: ( 1 ) 进行需求分析质荤度蹙。程序员可以在需求分析完成后,根据制定的需求分析质晕度量表 进行对照分析,检查需求分析的定义是否完整和准确,以及有明确的可靠性目标和可靠性管理措施 方案等。只有对需求分析严格把关,才能从根本上提高软件可靠性。 ( 2 ) 选择合适的软件开发方法。r a t i o n a l 开发模式是一种比较优秀的面向对象开发方法,由于 大量使用了具有高可靠性的对象库,其可靠性也就有保证。所以,我们可以采用面向对象的开发方 法,提高软件的可维护性。 ( 3 ) 增加测试力度和准确性。软件开发前期的各阶段工作都完成后,为了进一步提高可靠性, 只有通过加强测试来实现。为了避免程序代码错误这种低级错误的发生,需要对软件进行性能测试。 而测试前还需要确定测试标准、规范,测试中建立完整的测试文档,最大限度地排除测试错误造成 的影响。 尽管软件可靠性研究取得很大进展,建立了许多软件可靠性模型和软件可靠性分析计算方法, 但在实践戍用中仍然存在许多问题。主要有软件可靠性模型的优化和应用问题,可靠性测试数据的 收集,可靠性分析工具的开发与廊用以及软、硬件混合系统的可靠性问题等j 。而且,随着组件软 件技术的迅速发展和应用,组件软件可靠性正受到软件开发人员的日益重视。 2 2 组件软件可靠性估计 所谓组件软件,是指一个数据单元或一个计算单元,它具有特定功能,能够跨越进程边界实现 网络、编程语言、应用稃序、开发工具和操作系统的“即插即用”的独立对象。从某种意义上说, 组件化的软件与硬件十分相像。在由组件软件综合构成的软件系统中,每个组件相对独立地完成一 5 第二章组件软件可靠性估计的理论研究 项任务,其内部的结构对于用户来说是透明的,最终通过各种接口来实现整个系统的协同工作。当 某一部分不再符合用户需求时,可以只对相关的组件进行升级和替换,而无需修改其它所有的组件 2 1 。 随着软件工程的迅猛发展,基于组件软件设计的大型复杂软件系统是近十年来软件工程研究与 开发中的热点问题。由于组什软件技术的发展以及基于组件软件的广泛应用,人们对组什软件可靠 性和通过组件软件的可靠性来评估整个系统的可靠性的技术越来越感兴趣。所以如何保证和提高组 件软件的可靠性估计值显然成为大家关心的问题。 但是,目前的组件软件研究工作更多地是集中在组件软件开发以及组件软件的复用技术等方面, 而组件软件可靠性等质母方面的问题则关注的较少。如何估计组件软件可靠性以及利刚组件软件可 靠性估计软件系统的可靠性成为一个急待解决的问题。 2 2 1 组件软件可靠性估计的作用 组件软件可靠性是评估组件软件本身质量以及由组件软件组合而成的软件系统可靠性和软件质 量的重要指标之一。组件软件可靠性估计的主要目的是: ( 1 ) 评估组件软件是否达到要求的可靠性指标。如果组件软件没有达剑规定的可靠性要求,软件 开发和设计人员就需要对其进行相应的整改措施,避免该组件软件对整个软件系统的质量造成更大 的危害。 ( 2 ) 在软件开发方案论证阶段,通过对各个组件软件进行可靠性估计,可对不同开发方案的可靠 性水平进行比较,为最优开发方案的选择及开发方案优化提供准确的数据依据。 f 3 ) 在软件设计中,通过分析各个组件软件可靠性估计值,可以发现影响软件系统可靠性的主要 因素以及可靠性灵敏度高的组件软件。这样,不仅可以找出软件可靠性设计中的薄弱环节,还可以 知道软件可靠性设计中的重要部分。因此,对软件系统设计改进措施时可以做到有的放矢,快速和 高敛的提高软件系统可靠性。本论文的第三章将会根据组件软件可靠性灵敏度的分析结果对组件软 件可靠性估计值进行优化。 2 2 2 组件软件可靠性问题分析 2 0 世纪9 0 年代以前,关于软件可靠性模型的研究多集中在黑盒方法上,即利用使用模型或操作 剖面对软件与外部环境之间的交互进行建模,软件内部的信息则不可见。这些模型以软件测试或使 用期间获得的失效数据为研究对象,遵循统计学的观点对软件失效过程建模,从而估计或预测软件 的失效行为p 】。随着软件产业的快速发展,尤其是组件软件技术的开发模式应用等,原有的黑盒模 型明显不能适应大犁的基于组件软件的新璋f 软件开发模式,于是关于组件软件可靠性分析的方法得 到重视,成为软件系统可靠性研究的主导方法。 组件软件是- - f - i 新的软件开发技术,有关组件软件的技术研究和开发工具的都还不太成熟。组 件软件可靠性是保证组件软件质荤的关键因素。但组件软件又不同于一般的普通软件,具有许多其 它软件所不具备的特性,最主要的问题就是:组件软件开发者与使用者是互相分离的,两者的分离 为组件软件的可靠性评估带来了新的挑战:组件软件开发者不能预知组件软件具体的使用环境;组 件软件使用者无法明了组件软件的内部细节。 组件软件的这些特性给其可靠性和软件系统可靠性的计算带来了一定的困难,主要体现在以下 两个方面: ( 1 ) 组件软件已知的可靠性估计值会不同程度的具有估计方差。由于软件系统中的各个组什软 件是由不同的软件开发人员和软件开发团队使用不同的软件开发工具进行开发和研制的,使得用于 组件软件可靠性估计的数据来源各异,而且组件软件级别的可用数据一般也是非常有限,所以对可 靠性估计结果的准确性肯定会产生严重的影响。相应的组件软件可靠性估计结果也必然存在着估计 方差; ( 2 ) 组件软件的具体适应能力不同。软件系统是由许多组件软件综合组装而成,当需求性能相 同时,我们可以在不同的软件系统或软件系统的不同位置使用相同类型的组件软件。虽然各个组件 软件可靠性估计值是确定的,但是由于组件软件的实际运行环境各不相同,所以同一个组件软件在 不同的软件系统中体现出来的可靠性可能也丈不相同。 本章内容主要针对第一个方面( 组件软件己知的可靠性估计值会不同程度的具有估计方差) 进 行了详细的分析和讨论工作,探讨了组件软件可靠性估计和组件软件可靠性估计方差的数学计算公 式,初步提出了最小化组件软件可靠性估计方差的解决方案和思路。 6 东南大学硕士学位论文 2 2 3 组件软件可靠性估计的计算 虽然前面我们给出的软件可靠性的数学计算公式形式比较简单,但由于危险率a ( f ) 在软件并不 能够直接获得和通过计算而得,所以2 1 1 中介绍的可靠性计算公式很难真正应用于实际的可靠性计 算中。所以,在软件1 :程实际运用中,对于软件可靠性和组件软件可靠性,程序员和测试员一般都 是采取估计的方法获得。 组件软件可靠性估计是指用统计推理技术对组件软件测试和运行期间所得到的数据进行处理, 以评价组件软件当前的可靠性。根据组件软件在测试过程中的初始性能或以前测试过的类似组件软 件的回归参数,可以估计当前组件软件存在缺陷的数量,并分析得到相应的组件软件可靠性。通过 对以前开发、测试和发布的各种不同大小和类型的组件软件的多重回归分析,可以预测出整个软件 系统中存在的缺陷数晕估计值,同样也可以分析得到整个软件系统的可靠性。 获得组件软件可靠性估计值和组佴软件可靠性估计方差有很多方法。最常用的方法是把失效组 件软件的数量看成是二项式变量,组件软件可靠性就成为一个概率分布参数。例如,系统中使用的 第i 个组件软件,在测试中分配了n 1 个组件软件参加该测试。每个组件软件测试时间为t 4 时,在规定 的测试时间内观察到k 1 个错误( 1 ( i n 1 ) 。每个组件软件的状态( 有效,失效) 则可以被看作一个独立 的具有参数( t ) 的贝努利试验,r l ( t ) 是在任务时间t 时的组件软件可靠性”1 。 根据参考文献 4 】中的相关知识,我们可以给出( t ) 估计值的近似值: ( f ) :1 一生 n j ( 2 2 1 ) t ( f ) 表示为r ( f ) 的估计值。这也就是说当我们在估计组件软件可靠性的时候,如果已知的失效 数据比较少,可以通过组件软件软件测试方法获得一定的失效数据;然后根据测试数据对组件软件 可靠性进行估计。假设在规定的测试时问t d , 时内,如果某一个组件软件在n ,次的测试中被检测出k 个错误,则该组件软件的可靠性估计值可采用等式2 2 1 计算。 b u e h l e r 在可靠性估计的置信区间方面取得不少研究成果,他提出软件系统可靠性的置信上限与 系统中的各个组件软件之间有一定的联系。l l o y d 和l i p o w 扩充了b u e h l e r 的模型,他们提出的新模型 可计算具有任意个组件软件的软件系统可靠性的置信区间。 综合国内外得参考文献,组件软件可靠性估计的方法主要可以划分为以下两种类型: ( 1 ) 分析组件软件的使用模型或操作剖砥,据此实施可靠性测试,最后可靠性模型应用于测试 结果数据,计算软件可靠性; ( 2 ) 分析组件软件及其使用频度,结合组件软件开发者提供的可靠性数据计算软件系统可靠性。 但是这两种方法都存在着一定的不足之处。方法( 1 ) 是在开发阶段后期的可靠性估计方法,此时 设计、开发工作已基本完成,根据“可靠性是设计到软件中的”这一观点,此时发现的可靠性问题带 来的变更成本偏高。方法( 2 ) 对如何获取各组件软件的使_ j 频度缺乏足够的信息来源,也就不能保证 其估计的准确性:因此,这两种方法都不是评估组件软件可靠性的最佳选择i jj 。但就现在的研究状 况而言,也没有更好的组件软件可靠性估计方法。软件测试和开发人员在分析组件软件可靠性时, 通常还是采_ i j 等式2 2 1 进行计算。 2 3 组件软件可靠性估计方差 在软件系统设计中,我们都需要对软件系统可靠性进行估计。但是,由于组件软件级的可用数 据非常有限,加之组件软件测试过程中的测试样本空间大小的限制,就不能保证那些根据组件软件 相关失效数据估计的组件软件可靠性的准确性。而由组件软件构成的软件系统的可靠性肯定也会受 到严重的影响。换而言之,就是这些组件软件可靠性估计值以及软件系统的可靠性估计值存在着估 计方差。在进行组件软件可靠性分析和评估活动时,必须增加可靠性估计方斧考虑冈素。 此外,当软件需求性能相同时,我们可以在不同的软件系统内或软件系统中不同位置使用相同 类犁的组件软件,通常需要对各种软件系统设计结构( 不同组件软件类型,不同系统位置等) 进行 比较,这时就必须明确考虑各个组件软件的可靠性估计方差,否则在使用它们的可靠性估计值就会 导致某些分析结果的不准确,给出错误的软什质晕评估数据。 显而易见,为了获得精确的组件软件可靠性和软件可靠性,我们必须在计算出它们的可靠性估 计值的同时,也相应的计算出可靠性估计方差。当然,可靠性估计方差的存在并不是我们所希望的 结果,最终应该是消除可靠性估计方差。 7 第二章组件软件可靠件估计的理论研究 2 3 1 估计方差的产生原因 对于许多软件系统设计问题,用于评估可靠性的软件运行失效数据一般都很少。因此,进行组 件软件可靠性估计的时候通常会使用各种来源的数据和模型。而它们都具有不同程度的估计不可靠 性。很明显,由于进行可靠性估计的数据本身的准确度就不高,所以由此而得到的可靠性估计值必 定是不可靠的。我们用可靠性估计方差来量化表示这个不可靠性p j 。这些不可靠性主要有以下几种 类型: ( 1 ) 用于估计组件软件可靠性的失效数据通常由软件开发公司给定,一般是根据组件软件测试 结果获得。但由于组件软件测试中的测试样本空间的有限性,这些失效数据会产生统计不可靠。 ( 2 ) 组件软件测试的失效数据结果,除了会产生上述的统计不可靠,还会产生由于实际运行环 境和测试环境之间的差别而造成的额外的不可靠。 ( 3 ) 即使组件软件可靠性的测试样本空间足够大,由此而得的失效数据的统计不可靠的概率会 比较小。但是由于与这些失效数据相关的具体操作等是未知,所以在真j e 的实际使用中又会产生一 些不可预知的不可靠。 由于组件软件可靠性估计方差是必然存在的,所以我们必须清楚的意识到组件软件可靠性估计 存在着估计方差,在分析组件软件可靠性的同时必须把估计方差因素考虑进去。这样才能够保让用 于软件质量分析的可靠性数据正确性。 2 3 2 估计方差的研究内容 早期的研究主要集中在如何计算组件软件可靠性估计方差的问题上。正如2 2 2 节内容所提, b u e h l e r 提出了最初的计算估计方著的置信区间的方法;l l o y d 和l i p o w 对b u e h l e r 的模型进行扩充,使 之可计算具有任意组件软件的软件系统置信上限。但是,由于用于计算的失效数据是离散的,所以 这些估计方差的置信区间的结果通常是比较保守的。 m a d a n s k y 、m y h r e 和r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共领域车辆全面电动化实施方案
- 小说人物塑造的技巧和方法教案
- 一转身我已不再年轻12篇
- 我心儿怦怦跳作文400字13篇
- 社区林业资源经营管理责任书
- 上海建平中学高一(下)期末物理试题及答案
- 专业工作经历与岗位证明书(7篇)
- 写人作文游戏控老爸600字13篇
- 心爱物品的往事回忆作文(8篇)
- 壁虎的启示350字10篇
- 肺炎衣原体医学课件
- 公司销售清单
- 《多边形的面积》课件
- 《行政执法基础知识》课件
- 信息安全保密教育培训课件
- 灯具安装协议
- 工业机器人视觉20
- TL226 大众试验测试标准
- 毛泽东思想和中国特色社会主义理论体系概论(复旦大学)智慧树知到课后章节答案2023年下复旦大学
- 关于退租的申请书
- 吴川市中医院新增数字减影装置(DSA)项目环境影响报告表
评论
0/150
提交评论