Goel和Okumoto于1979年开发的模型基于以下假设:
- 时间t经历的故障数量遵循带有平均值函数μ(t)的泊松分布。该平均值方法的边界条件为μ(0)= 0且Limt→∞μ(t)= N < ∞。
- 在(t, t +Δt)中发生Δt→0的软件故障的数量与预期的未检测到的错误数N-μ(t)成正比, 比例常数为?。
- 对于时间t1 < t2 < ···< tn的任何有限集合, 在每个不相交间隔(0, t1), (t1, t2)… (tn-1, tn)中发生的故障数是独立的。
- 每当发生故障时, 立即消除引起故障的故障, 而不会在软件中引入任何新的故障。
假设2指出时间t的失效强度为
dμ(t)/ dt =?[N-μ(t)]
就像Je??linski-Moranda模型一样, 故障强度是单个故障的恒定危险率与软件中剩余的预期故障数的乘积。但是, N本身是期望值。
穆萨的基本执行时间模型Musa的基本执行时间模型基于执行时间模型, 即建模期间花费的时间就是要建模的软件的实际CPU执行时间。该模型易于理解和应用, 并且其预测价值通常被认为是良好的。在对可靠性进行建模时, 模型的目标是失效强度。
假定故障强度随时间减小, 即, 随着(执行)时间的增加, 故障强度减小。该假设通常是正确的, 因为以下假设是关于软件测试活动的, 在此期间收集数据:在测试过程中, 如果观察到故障, 则检测到导致故障的故障, 并删除该故障。
即使可能无法成功执行特定的故障排除措施, 整体故障也可以减少软件中的故障。因此, 破坏强度降低。大多数其他模型都做出类似的假设, 这与实际观察结果一致。
在基本模型中, 考虑到每个故障都会导致相同的故障强度降低量。即, 故障强度随着故障次数而以恒定速率减小。在更复杂的Musa对数模型中, 减少量不假定为线性, 而是对数。
Musa的基本执行时间模型是1975年建立的, 它是第一个明确要求时间测量必须在执行被测应用程序中使用的实际CPU时间(简称为” 执行时间” t)中的模型。
尽管最初并不是像模型那样制定模型, 但可以通过三个特征对其进行分类:
- 在无限时间内可以经历的故障数量是有限的。
- 时间t注意到的故障数量的分布是泊松型的。
- 失效强度在时间上的函数方法是指数的。
dμ(t)/ dt = f K [N-μ(t)]
f可以计算为计算机的平均目标指令执行率r除以被测应用程序的源代码指令数ls乘以每个源代码指令的平均目标指令数Qx:f = r / ls Qx。
故障暴露率将故障速度f [N-μ(t)]与经历的故障强度相关联, 故障速度f [N-μ(t)](如果连续执行所有语句将通过代码的有缺陷部分的速度)。因此, 可以将其解释为在程序的一次线性执行过程中代码中剩余的每个故障所发生的平均故障数。
推荐阅读
- 软件工程学院能力成熟度模型(SEICMM)
- 如何进行功能导向设计(图文解释)
- 软件需求规格是什么()
- 如何编码(编程语言的选择?编码的特征?)
- 软件维护问题的原因是什么()
- 项目监控是什么()
- 什么是软件项目计划(这里有答案。。)
- 什么是风险管理活动(详解——)
- 什么是人事策划(图文详解)