📜  软件工程 | Schick-Wolverton 软件可靠性模型

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

软件工程 | Schick-Wolverton 软件可靠性模型

先决条件 - Jelinski Moranda 软件可靠性模型
Schick-Wolverton (SW) 模型是对 JM 模型的修改。它与 JM 模型类似,只是它进一步假设自上次调试以来,第 i 个时间间隔的故障率随时间 ti 增加。在模型中,第(i-1)次和第i次失败之间的程序失败率函数可以表示为

    $$\lambda (t_i)=\phi [N-(i-1)]t_i$$

在哪里\phi 和 N 与 JM 模型中定义的相同,并且 ti 是自第 (i-1) 次故障以来的测试时间。

的pdf(概率分布函数) t_i可以得到如下:

    $$f(t_i)=\phi [N-(i-1)]t_ie^{\frac{[N-(i-1)]t_i^2}{2}} \; \; for \;i=1, 2, ..., N$$

因此,软件可靠性函数为

    $$R(t_i)=e^{- \int_0^{t_i} \lambda (t_i)dt_i }$$ $$=e^{-\frac{\phi [N-(i-1)]t_i^2}{2}}$$

我们现在希望估计 N 假设\phi 给出。使用 MLE 方法,对数似然函数由下式给出,

     $ln L(N) &=ln\left \{ \prod_{i=1}^nf(t_i)\right \}\\$ $$&=ln\left \{ \prod_{i=1}^n\left [ \phi [N-(i-1)]t_ie^{\frac{[N-(i-1)]t_i^2}{2}\right ]\right \}\\$$ $$&=nln\phi + \sum_{i=1}^nln[N-(i-1)]+\sum_{i=1}^nlnt_i-\sum_{i=1}^n\phi [N-(i-1)]\frac{t_i^2}{2}\\$$ $$

对 N 取一阶导数,我们有,

    $$ \frac{\partial}{\partial N}[ln L(N)]=\sum_{i=1}^n \frac{1}{N-(i-1)}-\phi \sum_{i=1}^n \frac{t_i^2}{2}=0 $$

因此,N 的 MLE 可以通过求解以下方程得到:

    $$\sum_{i=1}^n \frac{1}{N-(i-1)}= \phi \sum_{i=1}^n \frac{t_i^2}{2}$$

接下来,我们假设 N 和 ?是未知的。因此我们得到,

    $$\frac{\partial}{\partial \phi}[ln L(N, \phi )]=\sum_{i=1}^n \frac{1}{N-(i-1)}-\phi \sum_{i=1}^n \frac{t_i^2}{2}=0$$

    $$\frac{\partial}{\partial \phi}[ln L(N, \phi )]=\frac{n}{\phi }-\sum_{i=1}^n [N-(i-1)]\frac{t_i^2}{2}=0$$

因此,N 的 MLE 和\phi 可以通过同时求解两个方程得到如下:

    $$\phi = 2\sum_{i=1}^n \frac{1}{[N-(i-1)]T}$$ $$N=\frac{2n}{\phi T}+\frac{\sum_{i=1}^n (i-1)t_i^2}{T}$$

在哪里

    $$T=\sum_{i=1}^n t_i^2$$