CN104503913B - 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 - Google Patents
一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 Download PDFInfo
- Publication number
- CN104503913B CN104503913B CN201410833962.5A CN201410833962A CN104503913B CN 104503913 B CN104503913 B CN 104503913B CN 201410833962 A CN201410833962 A CN 201410833962A CN 104503913 B CN104503913 B CN 104503913B
- Authority
- CN
- China
- Prior art keywords
- component
- software
- probability
- path
- reliability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Stored Programmes (AREA)
Abstract
本发明一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,包括如下步骤,(1)通过分析软件结构,得到状态转移概率矩阵,绘制构件动态迁移图,分析各构件的危害程度,并找出所有存在的迁移路径;(2)使用不少于最低测试用例的用例数量对软件进行测试,统计各构件的被执行次数、失效数和失效修复数,得到各构件执行概率;(3)根据构件间转移概率和各构件执行概率计算得到各构件占用率;(4)计算各构件失效率;(5)根据各构件危害程度计算得到各构件重要度;(6)根据状态转移概率矩阵P计算得到各迁移路径的出现概率;(7)评估各构件在各迁移路径中的可靠性;(8)评估各迁移路径的可靠性;(9)评估软件可靠性。
Description
技术领域
本发明属于软件工程领域,涉及到软件评估方法,具体为一种基于迁移路径和改进马氏链的构件软件可靠性评估方法。
背景技术
大型实时软件系统在随着软件规模不断扩大和功能不断更新,软件结构也越来越复杂,对其可靠性的要求也越来越高,故需要建立软件可靠性评价模型,对实时软件进行可靠性评价。目前的大型实时软件系统由许多软件构件组成,而且每个构件的使用频率和关键程度都不一样,因此需要从软件内部架构和软件构件的角度去评估软件可靠性。典型的构件软件评估方法有三种:基于剖面的方法、基于状态的方法和基于路径的方法。基于剖面的方法主要通过分析不同的软件输入数据集,计算不同剖面出现的概率和各构件间的转移概率来评估软件可靠性;基于状态的方法假设软件系统的运行过程为各构件间的状态转移过程,利用随机过程理论评估软件系统可靠性;基于路径的方法主要针对测试用例所经历的路径,统计迁移路径上各构件的使用频率和失效率,计算迁移路径的可靠性,进而求得软件系统可靠性。
主要的基于路径的软件可靠性模型主要有以下几种:Shooman模型,该模型假设构件的执行频率和失效概率已知,且构件失效相互独立,通过计算总的失效率计算软件可靠性,但该模型假设条件太严格;Krishnamurthy and Mathur模型,该模型通过计算每次测试运行时执行的构件序列的路径可靠性评估,然后将它们进行平均得到系统可靠性评估,但该模型不能适应运行路径中有多个循环体构件的情况;Yacoub,Cukic and Ammar模型采用树遍历的算法对软件体系结构图的所有分支进行了遍历形成路径,但该模型的结束条件不容易确定。也有研究者提出将非齐次泊松模型用于构件失效密度计算,再结合基于路径的方法对软件进行可靠性评估,但在该模型中构件在各路径的执行时间却无法统计。
现有的基于路径的软件可靠性建模方法中未考虑也没有使用马尔科夫链(以下称马氏链)模型分析构件可靠性,其次也未突出软件体系结构和构件可靠性对软件系统可靠性的影响,对各路径中各构件执行时间也未进行过理论估计,无法全面准确的进行分析,直接影响软件可靠性分析的结果。
发明内容
针对现有技术中存在的问题,本发明提供一种评估的精确性高,评估全面,评价指标和模型合理的,基于迁移路径和改进马氏链的构件软件可靠性评估方法。
本发明是通过以下技术方案来实现:
本发明一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,包括如下步骤,
(1)进行软件结构和功能性分析;通过分析软件结构,得到状态转移概率矩阵,绘制构件动态迁移图,分析各构件的危害程度,并找出所有存在的迁移路径;其中状态转移概率矩阵P由构件间的转移概率pij组成,pij指的是构件i到构件j的概率,矩阵的维数为软件构件的总数;
(2)使用不少于最低测试用例的用例数量对软件进行测试,统计各构件的被执行次数、失效数和失效修复数,得到各构件执行概率;在最低测试用例的数量下软件中所有构件执行数不少于2次;失效构件在测试过程中将会被实时修复,并得到修复成功概率;
(3)根据步骤(1)中得到的构件间转移概率和根据步骤(2)中得到的各构件执行概率计算得到各构件占用率;
(4)计算各构件失效率;构件的失效率指的是构件从正常状态到异常状态的概率,具体求解步骤如下:
步骤4.1:设构件有正常和异常两种状态,形成构件级马氏链,建立由gi,j组成的状态转移概率矩阵G;gi,j表示由状态i转移到状态j的概率,可由步骤(2)中的被执行次数、失效数、失效修复数计算得到;
步骤4.2:计算构件k在T个周期后的状态概率向量B(T):B(T)=B(0)G(T),其中,初始概率向量B(0)=[0 1],G(T)表示矩阵G的T次方。根据平稳马氏链的性质,B(T)将会收敛至固定值;
步骤4.3:计算构件k的失效率;T个周期后的失效率等于收敛后的状态概率向量B(T)的第二个元素,即
(5)根据步骤(1)中得到的各构件危害程度计算得到各构件重要度;
(6)根据步骤(1)中得到的状态转移概率矩阵P计算得到各迁移路径的出现概率;
(7)评估各构件在各迁移路径中的可靠性;根据构件k在路径lj中的可靠性模型得到各构件在各路径上的可靠性,形成可靠性评估值矩阵R;模型如下,
其中,λk为构件k的失效率,μk为构件k的重要度,γk为构件k的占用率,取t=tkj,表示构件k在路径lj中运行的时间;
(8)评估各迁移路径的可靠性;根据步骤(7)中得到的可靠性评估值矩阵R,得到各迁移路径的可靠性评估值;
(9)评估软件可靠性;根据软件可靠性模型得到软件的可靠性评估值,对软件的可靠性进行评估;其中,为迁移路径lj的可靠性评估值,由步骤(8)得到;为迁移路径lj出现的概率,由步骤(6)得到。
优选的,步骤(1)中,构件动态迁移图是以构件为点,以迁移路径为边的有向图。构件危害程度指的是构件对整个软件的关键程度,分为四个等级:高、中、低、无危害四个等级;当构件故障将引起软件崩溃,造成巨大损失的危害程度为高;当构件故障将引起软件的主要功能失效,但不会导致软件崩溃的危害程度为中;当构件故障将引起软件某功能失效,但不影响软件的主要功能的危害程度为低;当构件故障不会影响软件的正常运行的危害程度为无。
进一步,步骤(5)中,将构件危害程度的四个等级随机赋予递减的值,高、中、低和无分别对应为lev4~lev1,则构件k的重要度为:
优选的,步骤(3)中,占用率指的是构件在任务中被执行的比例,构件k的占用率其中,bi表示执行构件i的概率,pik表示由构件i执行到构件k的概率。
优选的,步骤(6)中,迁移路径lj出现的概率为:且(cs∈lj∧ct∈lj∧p(cs,ct)≠0),式中,p(cs,ct)为构件cs迁移到构件ct的迁移概率,即pst,由状态转移概率矩阵P得到。
优选的,步骤(7)中,构件k在路径lj中运行的时间其中,χkj为路径lj中构件k执行的次数,其值通过分析步骤(1)中的所有路径分析得到;为路径lj出现的概率,其值由步骤(6)得到。
优选的,路径可靠性评估值如下;路径lj的可靠性评估值为,且ci∈lj,其中,R(ci,lj)为可靠性评估值矩阵R中的元素,表示构件ci在运行路径lj中的可靠性评估值,由步骤(7)得到。
与现有技术相比,本发明具有以下有益的技术效果:
本发明通过使用马尔科夫链模型分析构件可靠性,突出软件体系结构和构件可靠性对软件系统可靠性的影响,对各路径中各构件执行时间进行理论估计。在整个基于迁移路径的软件可靠性分析过程中,引入了优先级和指数模型结合的重要度评价指标,提出了基于构件迁移概率的构件执行时间分配模型,提高构件的可靠性评估的精确性,从而将改进马氏链与迁移路径两种方法相结合,形成了构件软件可靠性评估方法;又在软件构件可靠性建模的基础上,借鉴基于迁移路径的软件可靠性评估方法,通过状态转移概率矩阵计算所有迁移路径出现的概率,得到软件的总体可靠性。通过构件级和软件系统级的可靠性评估模型建立,最终形成一种完整的软件可靠性评估方法。避免了任工赋值的主观干扰,能够全面完整的对软件进行可靠性分析,适用范围广,便于工程应用。
附图说明
图1是本发明所述评估方法的流程图。
图2是本发明实例中所述的构件级马氏链示意图。
图3是本发明实例中所述软件系统的构件动态迁移图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
将本发明所述的方法应用到某大型实时软件可靠性的评估当中,充分考虑了构件特点对软件可靠性的影响,提出了优先级和指数模型结合的重要度评价指标,避免了人工赋值的主观干扰;提出了基于构件迁移概率的构件执行时间分配模型,提高了构件的可靠性评估的精确性。
如图1所示,具体步骤如下。
步骤(1),通过分析某大型软件的软件结构,得到状态转移概率矩阵,绘制构件动态迁移图,分析各构件的危害程度,并找出所有存在的迁移路径。其中状态转移概率矩阵P由构件间的转移概率pij组成,pij指的是构件i到构件j的概率,矩阵的维数为6;构件动态迁移图是以构件为点,以迁移路径为边的有向图,如图3所示;构件危害程度指的是构件对整个软件的关键程度,分为四个等级:高、中、低、无危害。统计结果如表1-1所示;而构件危害程度的划分和对应的序号如表1-2所示。
表1某软件结构分析表
表1-2该软件中构件危害程度分类表
步骤(2),使用1932例的测试用例对软件进行测试,统计各构件的被执行次数、失效数、失效修复数。其中,失效数指的是构件在测试中发生错误的次数;通过引入失效修复机制,使得失效构件在测试过程中将会被实时修复,从而能够得到其修复成功概率,失效修复数指的是构件失效后成功修复的次数。统计结果如表2所示。
表2用例测试记录表
步骤(3),计算各构件占用率。统计在该测试阶段内各构件执行数占总执行数的比例,由表2可计算得当前时刻各构件在系统中的占用率为γ=(1,0.2,0.56,0.748,0.252,1)。
步骤(4),计算各构件失效率。构件的失效率指的是构件从正常状态到异常状态的概率,具体求解步骤是:
步骤4.1:设构件有正常和异常两种状态,形成2态的构件级马氏链,如图2所示。建立由gi,j组成的状态转移概率矩阵G,gi,j表示由状态i转移到状态j的概率,可由步骤(2)中的被执行次数、失效数、失效修复数计算得到。6个构件的状态转移概率矩阵为:
步骤4.2:计算构件k在T个周期后的状态概率向量B(T),其方法为:B(T)=B(0)G(T),其中,初始概率向量B(0)=[01],G(T)表示矩阵G的T次方。6个构件n个周期后的状态概率向量为:
步骤4.3:计算构件k的失效率。T个周期后的失效率等于收敛后的状态概率向量B(T)的第二个元素,即则各构件T个周期后失效率组成的失效率向量λ(T)=(λ1 (T),λ2 (T),…,λ6 (T))=(0.0154,0.0026,0.0146,0.0296,0.051,0.0031);
步骤(5),计算各构件的重要度。构件重要度与构件危害程度有关,将构件危害程度的四个等级随机赋予递减的值,分别为lev4~lev1,赋值及对应的重要度如表3所示,则构件j的重要度计算公式为:
表3构件重要度分配表
故各构件的重要度组成的向量为:μ={μj;j=1...n}=(0.6412,0.5134,0.4111,0.5134,0.4111,0.3679)。
步骤(6),计算各迁移路径的频率。迁移路径lj出现的概率为:且(cs∈lj∧ct∈lj∧p(cs,ct)≠0),式中,p(cs,ct)为构件cs迁移到构件ct的迁移概率,即pst,可由状态转移概率矩阵P得到。结果如表4所示。
表4迁移路径出现概率统计表
步骤(7),评估各构件在各迁移路径中的可靠性。构件k在路径lj中的可靠性模型是:模型中μk、γk的值均已在步骤(3)到(6)中求得,统计情况如表5所示。
表5构件使用情况表
模型中取其中,χkj为路径lj中构件k执行的次数,其值可通过分析步骤(1)中的所有路径分析得到;为路径lj出现的概率,其值由步骤(6)得到。通过此步骤,可以得到各构件在各路径上的可靠性,形成可靠性评估值矩阵R:
步骤(8),评估各迁移路径可靠性。路径lj的可靠性评估值为:且ci∈lj,式中,R(ci,lj)为可靠性评估值矩阵R中的元素。得到各路径可靠性评估值组成的向量为:
步骤(9),评估软件系统可靠性。由软件系统的可靠性模型可知该软件系统可靠性评估值为:
Claims (8)
1.一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,包括如下步骤,
(1)进行软件结构和功能性分析;通过分析软件结构,得到状态转移概率矩阵,绘制构件动态迁移图,分析各构件的危害程度,并找出所有存在的迁移路径;其中状态转移概率矩阵P由构件间的转移概率pij组成,pij指的是构件i到构件j的概率,矩阵的维数为软件构件的总数;
(2)使用不少于最低测试用例的用例数量对软件进行测试,统计各构件的被执行次数、失效数和失效修复数,得到各构件执行概率;在最低测试用例的数量下软件中所有构件执行数不少于2次;失效构件在测试过程中将会被实时修复,并得到修复成功概率;
(3)根据步骤(1)中得到的构件间转移概率和根据步骤(2)中得到的各构件执行概率计算得到各构件占用率;
(4)计算各构件失效率;构件的失效率指的是构件从正常状态到异常状态的概率,具体求解步骤如下:
步骤4.1:设构件有正常和异常两种状态,形成构件级马氏链,建立由gi,j组成的状态转移概率矩阵G;gi,j表示由状态i转移到状态j的概率,可由步骤(2)中的被执行次数、失效数、失效修复数计算得到;
步骤4.2:计算构件k在T个周期后的状态概率向量B(T):B(T)=B(0)G(T),其中,初始概率向量B(0)=[0 1],G(T)表示矩阵G的T次方,根据平稳马氏链的性质,B(T)将会收敛至固定值;
步骤4.3:计算构件k的失效率;T个周期后的失效率等于收敛后的状态概率向量B(T)的第二个元素,即
(5)根据步骤(1)中得到的各构件危害程度计算得到各构件重要度;
(6)根据步骤(1)中得到的状态转移概率矩阵P计算得到各迁移路径的出现概率;
(7)评估各构件在各迁移路径中的可靠性;根据构件k在路径lj中的可靠性模型得到各构件在各路径上的可靠性,形成可靠性评估值矩阵R;模型如下,
其中,λk为构件k的失效率,μk为构件k的重要度,γk为构件k的占用率,取t=tkj,表示构件k在路径lj中运行的时间;
(8)评估各迁移路径的可靠性;根据步骤(7)中得到的可靠性评估值矩阵R,得到各迁移路径的可靠性评估值;
(9)评估软件可靠性;根据软件可靠性模型得到软件的可靠性评估值,对软件的可靠性进行评估;其中,为迁移路径lj的可靠性评估值,由步骤(8)得到;为迁移路径lj出现的概率,由步骤(6)得到。
2.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(1)中,构件动态迁移图是以构件为点,以迁移路径为边的有向图。
3.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(1)中,构件危害程度指的是构件对整个软件的关键程度,分为四个等级:高、中、低、无危害四个等级;
当构件故障将引起软件崩溃,造成巨大损失的危害程度为高;
当构件故障将引起软件的主要功能失效,但不会导致软件崩溃的危害程度为中;
当构件故障将引起软件某功能失效,但不影响软件的主要功能的危害程度为低;
当构件故障不会影响软件的正常运行的危害程度为无。
4.根据权利要求3所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(5)中,将构件危害程度的四个等级随机赋予递减的值,高、中、低和无分别对应为lev4~lev1,则构件k的重要度为:
5.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(3)中,占用率指的是构件在任务中被执行的比例,构件k的占用率其中,bi表示执行构件i的概率,pik表示由构件i执行到构件k的概率。
6.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(6)中,迁移路径lj出现的概率为:且(cs∈lj∧ct∈lj∧p(cs,ct)≠0),式中,p(cs,ct)为构件cs迁移到构件ct的迁移概率,即pst,由状态转移概率矩阵P得到。
7.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,步骤(7)中,构件k在路径lj中运行的时间其中,χkj为路径lj中构件k执行的次数,其值通过分析步骤(1)中的所有路径分析得到;为路径lj出现的概率,其值由步骤(6)得到。
8.根据权利要求1所述的一种基于迁移路径和改进马氏链的构件软件可靠性评估方法,其特征在于,路径可靠性评估值如下;路径lj的可靠性评估值为,且ci∈lj,其中,R(ci,lj)为可靠性评估值矩阵R中的元素,表示构件ci在运行路径lj中的可靠性评估值,由步骤(7)得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410833962.5A CN104503913B (zh) | 2014-12-27 | 2014-12-27 | 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410833962.5A CN104503913B (zh) | 2014-12-27 | 2014-12-27 | 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503913A CN104503913A (zh) | 2015-04-08 |
CN104503913B true CN104503913B (zh) | 2017-06-13 |
Family
ID=52945312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410833962.5A Expired - Fee Related CN104503913B (zh) | 2014-12-27 | 2014-12-27 | 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503913B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102943B (zh) * | 2017-04-05 | 2021-03-16 | 中国电力科学研究院 | 一种智能电能表软件可靠性测试方法及系统 |
CN107315684B (zh) * | 2017-06-27 | 2020-10-27 | 北京神舟航天软件技术有限公司 | 一种基于基本块的软件可靠性评估方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576847A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件的可靠性检测方法 |
CN102708016A (zh) * | 2012-05-17 | 2012-10-03 | 工业和信息化部电子第五研究所 | 基于任务剖面的软硬件可靠性测试方法及系统 |
CN102831064A (zh) * | 2012-09-04 | 2012-12-19 | 北京航空航天大学 | 一种面向可靠性评估的软件自适应测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253839A1 (en) * | 2005-03-30 | 2006-11-09 | Alberto Avritzer | Generating performance tests from UML specifications using markov chains |
-
2014
- 2014-12-27 CN CN201410833962.5A patent/CN104503913B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576847A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件的可靠性检测方法 |
CN102708016A (zh) * | 2012-05-17 | 2012-10-03 | 工业和信息化部电子第五研究所 | 基于任务剖面的软硬件可靠性测试方法及系统 |
CN102831064A (zh) * | 2012-09-04 | 2012-12-19 | 北京航空航天大学 | 一种面向可靠性评估的软件自适应测试方法 |
Non-Patent Citations (1)
Title |
---|
基于构件软件的可靠性评估模型;邓勇进,王海军;《电子产品可靠性与环境试验》;20090630;第27卷(第3期);第9-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104503913A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055729A (zh) | 一种基于蒙特卡洛仿真的故障树分析方法 | |
Bartocci et al. | Localizing faults in Simulink/Stateflow models with STL | |
CN104597892A (zh) | 一种用于电子信息装备层次化故障诊断方法 | |
CN103150446A (zh) | 临近空间飞行器模型验证与仿真实现方法 | |
CN111291486B (zh) | 一种数控机床系统组件可靠性评估方法 | |
CN102360333B (zh) | 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 | |
CN105243245A (zh) | 一种基于Petri网的电路模块故障机理相关关系的可靠性建模方法 | |
Honda et al. | A generalized software reliability model considering uncertainty and dynamics in development | |
CN104503913B (zh) | 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 | |
CN113626267A (zh) | 复杂电子系统不确定性故障诊断效能评估方法 | |
Engström | Regression test selection and product line system testing | |
CN106125713B (zh) | 一种区间删失情况下可靠性增长的评估与预测方法 | |
CN106886620B (zh) | 航天器测试资源优化配置方法 | |
CN104572455B (zh) | 一种基于马尔科夫链的构件化软件可靠性评估方法 | |
Zong et al. | Embedded software fault prediction based on back propagation neural network | |
Fazlollahtabar | Triple state reliability measurement for a complex autonomous robot system based on extended triangular distribution | |
CN116432442A (zh) | 航天发射场地面设施设备三性一体化评估方法 | |
CN112849429B (zh) | 一种民机系统测量参数的溯源方法 | |
Darwish et al. | A controlled experiment on coverage maximization of automated model-based software test cases in the automotive industry | |
Basagiannis | Software certification of airborne cyber-physical systems under DO-178C | |
CN110362939B (zh) | 基于Monte carlo的网络靶场装备体系可靠性建模系统及方法 | |
CN107315684B (zh) | 一种基于基本块的软件可靠性评估方法 | |
CN111339627A (zh) | 计算流体动力学分析异常症候预测系统及方法 | |
AT509930A2 (de) | Modellbasiertes verfahren zur quantifizierung der qualität der resultate von co-simulationen | |
Frank et al. | From common strategies and approaches to virtual integration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170613 Termination date: 20181227 |