📜  软件工程 | Jelinski Moranda 软件可靠性模型

📅  最后修改于: 2022-05-13 01:56:59.488000             🧑  作者: Mango

软件工程 | Jelinski Moranda 软件可靠性模型

Jelinski-Moranda (JM) 模型是最早的软件可靠性模型之一。许多现有的软件可靠性模型是这个基本模型的变体或扩展。

假设:
该模型中的假设包括以下内容:

  1. 该程序包含 N 个初始故障,这是一个未知但固定的常数。
  2. 程序中的每个错误都是独立的,并且在测试期间同样可能导致失败。
  3. 故障发生之间的时间间隔是相互独立的。
  4. 每当发生故障时,相应的故障就会被确定地消除。
  5. 假设导致故障的故障被瞬间排除,在检测到的故障排除过程中不会插入新的故障。
  6. 故障间隔期间的软件故障率是恒定的,并且与程序中剩余的故障数量成正比。

第 i 个失败间隔的程序失败率由下式给出,

    $$  \lambda (t_i)= \phi [N-(i-1)], \; \; i=1, 2, ..., N$$

在哪里
$\phi $ = 一个比例常数,任何一个故障对整个程序的贡献
N = 程序中的初始故障数
$t_i$ = 之间的时间$(i-1)^{th}$$(i)^{th}$失败。

例如,初始失效强度为

    $$\lambda (t_1)=\phi N$$

在第一次失效后,失效强度降低到

    $$\lambda (t_2)=\phi (N-1)$$

等等。
的部分分布函数(pdf) $t_i$

    $$f(t_i)=\phi [N-(i-1)]e^{-\phi (N-(i-1))t_i}$$

的累积分布函数(cdf) $t_i$

    $$F(t_i)=1- e^{-\phi [N-(i-1)]t_i}$$

因此,软件可靠性函数是

    $$R(t_i)=e^{-\phi (N-i+1)t_i}$$