CN102866949B - 一种基于假设检验的嵌入式基础软件可靠性评估方法 - Google Patents
一种基于假设检验的嵌入式基础软件可靠性评估方法 Download PDFInfo
- Publication number
- CN102866949B CN102866949B CN201210319936.1A CN201210319936A CN102866949B CN 102866949 B CN102866949 B CN 102866949B CN 201210319936 A CN201210319936 A CN 201210319936A CN 102866949 B CN102866949 B CN 102866949B
- Authority
- CN
- China
- Prior art keywords
- hypothesis
- basic software
- reliability
- test
- probability
- 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
- Stored Programmes (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及计算机信息处理技术领域,具体涉及一种基于假设检验的嵌入式基础软件可靠性评估方法,本发明用于嵌入式基础软件验收测评中,在没有出现被测软件失效情况下得到有意义的可靠性评估结果。当测试过程中出现一定数量的数据失效时,本发明也能很好地进行评估,具有一致性,并且可靠性评估效率高。
Description
技术领域
本发明涉及计算机信息处理技术领域,具体涉及一种基于假设检验的嵌入式基础软件可靠性评估方法。
背景技术
嵌入式基础软件验收测试中,需要根据测试结果数据评估软件的可靠性。根据目前的有关文献,软件可靠性评估方法一般分为两类,即可靠性增长模型和可靠性验证模型,而前者使用得更为普遍。在可靠性增长模型中,对软件某个版本的可靠性预测是根据其以前版本的可靠性做出的。因为是验收测试,我们希望仅以嵌入式基础软件的最终版本为基础进行可靠性评估,另外希望在测试过程中没有发现失效的情况下能够做出关于嵌入式基础软件可靠性的推测。此外,可靠性增长模型的评估很不精确,因此我们并不希望使用可靠性增长模型进行嵌入式基础软件可靠性评估。
可靠性验证模型是根据对软件一个版本的测试结果来评估软件的可靠性的。在测试过程没有出现失效的情况下,这类模型大多会估计可靠性为1,认为软件完美,没有把成功执行的测试用例数考虑进去。这样的模型不能满足我们的要求,因为我们假设软件嵌入式基础软件最终版本的测试过程中不会发现失效,另外成功执行测试用例数目对嵌入式基础软件最终版本的可靠性评估应该是有影响的。
Miller等[1]提出的可靠性评估方法考虑了测试完全通过的情况,当测试过程中没有发现失效时,能够做出小于1的可靠性评估。在Miller的方法中,认为实际的可靠性为1-θ,其中θ为实际的失效率。通过贝叶斯点估计来对θ进行评估:θ'=a/(N+a+b),其中N为测试用例数,参数a和b包含了关于θ可能值的先验假设,考虑θ的分布为Beta(a,b)。
这个模型不能直接应用于我们设定的情况,因为此模型仅限于无记忆的软件,假设操作剖面为非条件概率分布。另外在Miller的方法中,开始时通过选择a和b的值对θ的分布进行猜测,而后将成功测试用例数N的数值考虑进去来修正初始猜测。初始猜测相对于数值的权重受到参数a和b的影响。因此θ'及可靠性评估结果将总是依赖于初始猜测,依赖于θ的Beta(a,b)分布的假设。目前,在各种软件可靠性评估方法中普遍使用初始猜测。在评估过程开始时还没有测试结果数据,猜测是需要的。当获得了测试结果数据时,可靠性评估就不应再是初始猜测的函数。当然,评估过程收敛直到获得结论的时间仍取决于初始的猜测。在Miller的方法中,即使是已经得到了测试数据,可靠性评估仍然是初始猜测的函数。在没有根据的假设基础上进行可靠性评估,无法相信其评估结果是准确的。
发明内容
针对现有技术的不足,本发明提供一种基于假设检验的嵌入式基础软件可靠性评估方法,以统计假设检验为基础,能够在嵌入式基础软件验收测试过程中,在没有出现失效情况下得到有意义的可靠性评估结果。
本发明的目的是采用下述技术的方案实现的:
一种基于假设检验的嵌入式基础软件可靠性评估方法,所述假设检验指的是根据随机变量的样本接受或拒绝H的过程;其中,假设H是关于随机变量概率分布的命题;其改进之处在于,所述评估方法包括下述步骤:
A、嵌入式基础软件可靠性初步评估;
B、嵌入式基础软件可靠性准确评估。
其中,所述步骤A中,设p为嵌入式基础软件的失效率,即其中U为按照操作剖面选择执行的不同的测试用例总数,Ii为第i个测试用例;如果Ii成功,ω(Ii)=0,如果Ii失败,ω(Ii)=1,P(Ii)为按照操作剖面执行Ii的概率;
其中,所述步骤A中,假定为p选择特定值θ,并对如下假设加以检验:
即嵌入式基础软件的失效率p至多为θ,H0:p≤θ以及H1:p>θ;其中:H0为检验零假设;H1为备择假设;
按照操作剖面随机选择的N个测试用例,其中T个测试失败;如果T≥1,则拒绝H0;
当H0正确时(H0正确时指的是:嵌入式基础软件的失效率p至多为θ,即H0:p≤θ,也就是说实际情况与假设H0相符),拒绝H0的概率为α(p)=P(T≥1|p)=1-P(T=0|p)=1-(1-p)N,p≤θ;对所有的p≤θ时,有如下表达式:
α(p)≤1-(1-θ)N, (1);
当H0不正确时,接受H0的概率为β(p)=P(T=0|p)=(1-p)N,p>θ;对于所有p>θ时,有如下表达式:
β(p)<(1-θ)N, (2);
其中,α(p)和β(p)分别为产生I类和II类错误的概率;N为自然数。
其中,为了检验嵌入式基础软件的可靠性至少为r的假设,检验零假设H0:p≤θ,其中p为嵌入式基础软件的失效率,θ=1-r;
执行N个测试用例,如果没有失效发生,则接受可靠性至少为r的假设;在接受可靠性至少为r的假设下,在检验时可能犯的错误为II类错误,即接受嵌入式基础软件可靠性至少为r的假设,可靠性实际上小于r;根据公式(2)此错误发生的概率小于M=(1-θ)N;考虑如下公式:
(1-θ)N=M (3);
其中:N为N个测试用例;为p选择特定值θ;
由公式(2)得β(p)<M;给定N个成功的测试用例,错误地接受可靠性至少为r的概率小于M;即嵌入式基础软件可靠性小于r而仍然通过N个随机测试用例的概率小于M。
其中,所述步骤B中,结合已执行测试用例占所有测试用例的百分比来准确评估嵌入式基础软件可靠性。
其中,设U为按照操作剖面选择执行的不同的测试用例总数;设n为测试集中不同的测试用例总数;则
其中:Ii为第i个测试用例;如果Ii成功,ω(Ii)=0,如果Ii失败,ω(Ii)=1,P(Ii)为按照操作剖面执行Ii的概率;
测试时没有重复,用超几何分布取代二项式分布,失效率p为a/U;零假设为H0:p≤θ,即H0:a≤Uθ;备择假设为H1:a>Uθ;
设如果测试用例Ii失败,Ti为1,如果测试用例成功,Ti为0;
如果T=0,接受H0;接受H0所犯错误的概率为β(a)=P(T=0|a),a>Uθ;按照超几何分布得:
对于所有a>Uθ有如下表达式:
其中,β(a)为接受H0所犯错误的概率;表示从U-Uθ个不同元素中取出n个元素的组合数,表示表示从U个不同元素中取出n个元素的组合数。
与现有技术比,本发明达到的有益效果是:
(1)与其它绝大多数软件可靠性评估方法相比,本发明所提方法更适合于嵌入式基础软件最终版本的可靠性评估。与本发明所提方法最为相似的是Miller方法,当测试过程没有发现失效时,此方法和Miller方法的效果会比其它方法更好。此时其它方法得到的可靠性评估结果为1,不能揭示评估结果潜在的错误,也没有将成功的测试用例数考虑进去。本发明所提方法和Miller方法能够当测试过程没有发现失效时,得到小于1的有意义的可靠性评估结果。
(2)与其它软件可靠性评估方法相比,本发明所提方法在嵌入式基础软件最终版本可靠性评估中具有更高的准确性。虽然当测试没有发现失效时,此方法和Miller方法都可以得到小于1的软件可靠性评估结果,并说明评估的潜在错误。但是本发明所提方法使用了更为人们所接受的假设检验的统计方法,仍优于Miller方法。Miller方法以观察到的测试结果以及主观的初始猜测为基础,初始猜测始终影响着最终的评估结果。
(3)与其它软件可靠性评估方法相比,本发明所提方法在嵌入式基础软件最终版本可靠性评估中具有更大的适用范围。Miller方法仅能应用在测试过程不出现失效的情况,本发明所提方法不仅能应用在测试过程不出现失效的情况,也能应用在测试过程中出现一定数量失效的情况。
附图说明
图1是本发明提供的基于假设检验的嵌入式基础软件可靠性评估方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
假设(H)是指关于随机变量概率分布的命题。根据该随机变量的样本接受或拒绝H的过程称为假设检验。一般来说,假设与样本越一致,越可能接受H;越不一致,越可能拒绝H。然而,可能会出现错误:当H实际上正确时,可能会拒绝H。或者当H实际上错误时,可能会接受H。这两种错误分别称为I类错误和II类错误。I类错误的概率表示为α,II类错误的概率表示为β。希望检验的假设H称为零假设,表示为H0。拒绝H0也意味着接受某个备择假设。为了确切起见,也应该确定备择假设,备择假设表示为H1。在简单假设中,为具有假定概率分布的未知参数给出确切值。在合成假设中,规定值的范围。
设p为嵌入式基础软件的失效率,即其中U为按照操作剖面选择执行的不同的测试用例总数,Ii为第i个测试用例,不失一般性,假设测试用例是有序的。如果Ii成功,ω(Ii)=0,如果Ii失败,ω(Ii)=1,P(Ii)为按照操作剖面执行Ii的概率。必须保证必要时可以进行归一化。
假定为p选择某特定值θ,并对如下假设加以检验,即失效率至多为θ,因此H0:p≤θ以及H1:p>θ。假定执行了有重复的N个测试用例,这些测试用例是按照操作剖面随机选择的,其中T个失败。因为测试的是嵌入式基础软件的最终版本,假定不允许测试发生失效。因此如果T≥1,拒绝H0。那么当H0正确时,拒绝H0的概率为α(p)=P(T≥1|p)=1-P(T=0|p)=1-(1-p)N,p≤θ。注意对于所有p≤θ有如下表达式:
α(p)≤1-(1-θ)N (1);
与此相似,当H0不正确时,接受H0的概率为β(p)=P(T=0|p)=(1-p)N,p>θ。这里,对于所有p>θ:
β(p)<(1-θ)N (2);
α(p)和β(p)为产生所谓的I类和II类错误的概率。由公式(2)知道β(p)<(1-θ)N。因此给定N个成功的测试用例,错误地接受可靠性至少为r的概率小于(1-θ)N。换句话说,软件可靠性小于r而仍然通过N个随机测试用例的概率小于(1-θ)N。
在上述评估中,假定嵌入式基础软件测试过程可以通过二项式分布来描述。这个假设是完全现实的,因为测试过程满足二项式分布要求的条件:测试用例可以重复;各测试用例是随机选择且相互独立;一个测试用例只有两种可能的结果(成功,失败);在测试过程中失效率不会变化。
实施例
本发明提供的基于假设检验的嵌入式基础软件可靠性评估方法流程如图1所示,该方法包括下述步骤:
(1)嵌入式基础软件最终版本可靠性初步评估:
针对嵌入式基础软件最终版本,按照软件操作剖面选择并执行N个测试用例。每个测试用例的执行只有两种可能的结果,成功或失败。
为了检验嵌入式基础软件最终版本的可靠性至少为r的假设,检零假设H0:p≤θ,其中p为嵌入式基础软件的失效率,而θ=1-r。执行N个测试用例,如果没有失效发生,则接受可靠性至少为r的假设。在这些假设下,可能犯的错误只能是II类错误,即接受嵌入式基础软件可靠性至少为r的假设,而可靠性实际上小于r。根据公式(2)此错误发生的概率小于M=(1-θ)N。考虑如下公式:
(1-θ)N=M (3);
其中N和θ如上所述。由公式(2)知道β(p)<M。因此给定N个成功的测试用例,错误地接受可靠性至少为r的概率小于M。换句话说,嵌入式基础软件可靠性小于r而仍然通过N个随机测试用例的概率小于M。
(2)嵌入式基础软件最终版本可靠性准确评估:
如果将已执行测试用例占所有可能测试用例的百分比考虑进去,就可以得到更准确的嵌入式基础软件可靠性评估结果,但是提高准确性是以大量运算为代价的。设U为符合操作剖面描述的不同测试用例的总数。设n为测试集中不同的测试用例总数。设其中Ii为第i个测试用例,P(Ii)为按照操作剖面执行Ii的概率,而如果Ii成功,ω(Ii)=0,如果失败,ω(Ii)=1。
假定进行测试时没有重复。可以对假设检验模型加以修改,用超几何分布取代二项式分布,失效率p为a/U。此时零假设仍然为H0:p≤θ,其等同于H0:a≤Uθ。与此相似,备择假设为H1:a>Uθ。设其中如果测试用例Ii失败,Ti为1,如果成功为0。如果T=0,接受H0。接受H0所犯错误的概率为β(a)=P(T=0|a),a>Uθ。按照超几何分布:
因此对于所有a>Uθ,有如下表达式:
在U和θ已知的情况下,使用超几何分布比使用二项式分布能得到更准确的评估结果,因为二项式分布只是对超几何分布的近似,对于相同的θ,可以得到更小的M。
减少误差的代价是计算可能的测试用例总数U和执行的不同测试用例总数n。因为操作剖面中条件概率分布的性质,U的计算量会很大。一般来说,随着样本空间的增大,二项式分布的近似会更加准确。即U越大,嵌入式基础软件可靠性评估就越准确。此外,嵌入式基础软件评估的准确性在某种程度上也取决于θ和n的值。
本发明用于嵌入式基础软件验收测评中,在没有出现数据失效情况下得到有意义的可靠性估算结果。当测试过程中出现一定数量的数据失效时,本发明也能很好地进行评估,具有一致性,并且可靠性评估效率高。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种基于假设检验的嵌入式基础软件可靠性评估方法,所述假设检验指的是根据随机变量的样本接受或拒绝H的过程;其中,假设H是关于随机变量概率分布的命题;其特征在于,所述评估方法包括下述步骤:
A、嵌入式基础软件可靠性初步评估;
B、嵌入式基础软件可靠性准确评估;
所述步骤A中,设p为嵌入式基础软件的失效率,即其中U为按照操作剖面选择执行的不同的测试用例总数,Ii为第i个测试用例;如果Ii成功,ω(Ii)=0,如果Ii失败,ω(Ii)=1,P(Ii)为按照操作剖面执行Ii的概率;
所述步骤A中,假定为p选择特定值θ,并对如下假设加以检验:
即嵌入式基础软件的失效率p至多为θ,H0:p≤θ以及H1:p>θ;其中:H0为检验零假设;H1为备择假设;
按照操作剖面随机选择的N个测试用例,其中T个测试失败;如果T≥1,则拒绝H0;
当H0正确时,拒绝H0的概率为α(p)=P(T≥1|p)=1-P(T=0|p)=1-(1-p)N,p≤θ;对所有的p≤θ时,有如下表达式:
α(p)≤1-(1-θ)N, (1);
当H0不正确时,接受H0的概率为β(p)=P(T=0|p)=(1-p)N,p>θ;对于所有p>θ时,有如下表达式:
β(p)<(1-θ)N, (2);
其中,α(p)和β(p)分别为产生I类和II类错误的概率;N为自然数;
为了检验嵌入式基础软件的可靠性至少为r的假设,检验零假设H0:p≤θ,其中p为嵌入式基础软件的失效率,θ=1-r;
执行N个测试用例,如果没有失效发生,则接受可靠性至少为r的假设;在接受可靠性至少为r的假设下,在检验时犯的错误或为II类错误,即接受嵌入式基础软件可靠性至少为r的假设,可靠性实际上小于r;根据公式(2)此错误发生的概率小于M=(1-θ)N;考虑如下公式:
(1-θ)N=M (3);
其中:N为N个测试用例;为p选择特定值θ;
由公式(2)得β(p)<M;给定N个成功的测试用例,错误地接受可靠性至少为r的概率小于M;即嵌入式基础软件可靠性小于r而仍然通过N个随机测试用例的概率小于M;
所述步骤B中,结合已执行测试用例占所有测试用例的百分比来准确评估嵌入式基础软件可靠性;
设U为按照操作剖面选择执行的不同的测试用例总数;设n为测试集中不同的测试用例总数;则
其中:Ii为第i个测试用例;如果Ii成功,ω(Ii)=0,如果Ii失败,ω(Ii)=1,P(Ii)为按照操作剖面执行Ii的概率;
测试时没有重复,用超几何分布取代二项式分布,失效率p为a/U;零假设为H0:p≤θ,即H0:a≤Uθ;备择假设为H1:a>Uθ;
设如果测试用例Ii失败,Ti为1,如果测试用例成功,Ti为0;
如果T=0,接受H0;接受H0所犯错误的概率为β(a)=P(T=0|a),a>Uθ;按照超几何分布得:
对于所有a>Uθ有如下表达式:
其中,β(a)为接受H0所犯错误的概率;表示从U-Uθ个不同元素中取出n个元素的组合数,表示表示从U个不同元素中取出n个元素的组合数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210319936.1A CN102866949B (zh) | 2012-08-31 | 2012-08-31 | 一种基于假设检验的嵌入式基础软件可靠性评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210319936.1A CN102866949B (zh) | 2012-08-31 | 2012-08-31 | 一种基于假设检验的嵌入式基础软件可靠性评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102866949A CN102866949A (zh) | 2013-01-09 |
CN102866949B true CN102866949B (zh) | 2015-04-15 |
Family
ID=47445828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210319936.1A Expired - Fee Related CN102866949B (zh) | 2012-08-31 | 2012-08-31 | 一种基于假设检验的嵌入式基础软件可靠性评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102866949B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156312B (zh) * | 2014-08-11 | 2017-07-07 | 浪潮(北京)电子信息产业有限公司 | 一种评估软件可靠性的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050922B1 (en) * | 2005-01-14 | 2006-05-23 | Agilent Technologies, Inc. | Method for optimizing test order, and machine-readable media storing sequences of instructions to perform same |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
CN102541736A (zh) * | 2011-11-30 | 2012-07-04 | 北京航空航天大学 | 一种软件可靠性执行过程加速测试方法 |
-
2012
- 2012-08-31 CN CN201210319936.1A patent/CN102866949B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050922B1 (en) * | 2005-01-14 | 2006-05-23 | Agilent Technologies, Inc. | Method for optimizing test order, and machine-readable media storing sequences of instructions to perform same |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
CN102541736A (zh) * | 2011-11-30 | 2012-07-04 | 北京航空航天大学 | 一种软件可靠性执行过程加速测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102866949A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maydeu-Olivares | Evaluating the fit of IRT models | |
CN103942457A (zh) | 基于关联向量机回归的水质参数时间序列预测方法 | |
CN103646138A (zh) | 基于贝叶斯理论的定时截尾加速验收抽样试验优化设计方法 | |
EP4075281A1 (en) | Ann-based program test method and test system, and application | |
CN110728328B (zh) | 分类模型的训练方法和装置 | |
CN103995780B (zh) | 一种基于语句频度统计的程序错误定位方法 | |
CN104317707A (zh) | 一种基于程序结构影响感知的软件错误定位方法 | |
CN103699939A (zh) | 一种宇航用元器件应用验证流程建立方法 | |
CN103019943B (zh) | 一种面向失败测试用例稀少情况的软件错误定位方法 | |
CN102866949B (zh) | 一种基于假设检验的嵌入式基础软件可靠性评估方法 | |
CN110414086A (zh) | 一种基于灵敏度的综合应力加速因子计算方法 | |
CN107562808B (zh) | 一种异构双链自动化数据的验证方法 | |
CN116743637B (zh) | 一种异常流量的检测方法、装置、电子设备及存储介质 | |
CN105488270A (zh) | 一种变压器结构性故障诊断多属性综合方法 | |
Alvarez‐Iglesias et al. | Summarising censored survival data using the mean residual life function | |
Klar et al. | Specification tests for the response distribution in generalized linear models | |
CN109522595A (zh) | 一种基于核电厂验证平台的功能图导入自动诊断方法 | |
EP3842984A1 (en) | Probabilistic simulation method of a microelectronic device | |
Castrup | A Welch-Satterthwaite relation for correlated errors | |
Sun et al. | Identifying metamorphic relations: A data mutation directed approach | |
CN112541514A (zh) | 事件发布方法、服务器、终端及存储介质 | |
Creus et al. | Automatic evaluation of context-free grammars (system description) | |
Tibshirani et al. | Recent advances in post-selection statistical inference | |
CN113609870B (zh) | 翻译方法、装置、服务器及可读存储介质 | |
CN112395200B (zh) | 一种软件可靠性操作剖面概率的确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20210831 |
|
CF01 | Termination of patent right due to non-payment of annual fee |