第二章 文獻探討
2.4 非齊次卜瓦松過程模型
NHPP 模型主要在於決定一個適合的均值函數(Mean Value Function),來表示 在特定時間內預期出現的失效次數並估計其機率(尾崎俊治,2000)。主要應用於 發生的事件會伴隨著時間而遞增或遞減的情形下,此部份與軟體測試時間愈長發 生錯誤(Bug)的次數會愈來愈少相似,且除了可預測各個時間點的累積錯誤數目 外,還可估計出特定時間點下發生錯誤的機率。因此,許多軟體可靠度成長模型 皆以 HNPP 模型為基礎來描述軟體測試後的可靠度成長情形。
Pham (2007)將 NHPP 模型分為以下四種類型:
1. NHPP 指數型(Exponential-Shaped)模型。
2. NHPP S 型(S-Shaped)模型。
3. NHPP 不完美除錯(Imperfect Debugging)模型。
4. NHPP 不完美除錯 S 型模型。
NHPP 模型為假設失效強度(Failure Intensity)與軟體內剩餘的錯誤數目成正 比,且可透過求解下列微分方程式而獲得(Pham et al., 1999):
[
( )- ( )]
) ) (
( b t a t m t dt
t
dm = (2.3)
其中,m(t)為時間t 時期望偵測到之錯誤數目,即均值函數;a(t)為故障內容函數
(Fault-Content Function),即時間 t 時軟體中的總錯誤數目,包含原有的錯誤數目 與後來產生的錯誤數目;b(t)為每單位時間的錯誤偵測率(Fault Detection Rate)
函數。藉由代入不同的a(t)與b(t)之數值,即可獲得不同的 NHPP 模型(如表 1),
以下將針對幾種 NHPP 模型的基本假設進行說明。
表 1 NHPP 軟體可靠度模型與均值函數之整理
模型名稱 MVF(m(t) )
Goel-Okumoto
)
Delayed S-shaped
)
Inflection S-shaped
)
Yamada Exponential
)
Yamada Rayleigh
)
Yamada Exponential Imperfect Debugging Model Yamada Linear
Imperfect Debugging Model Pham–Nordmann–Zhang
Model
Pham–Zhang Model
)
2.4.1 NHPP 指數型模型
1. Goel-Okumoto 模型
Goel-Okumoto (G-O) 模型的基本假設為(Xie, 1991):
(1) 在時間 t 時,累積偵測到的錯誤數目服從卜瓦松分配(Poisson Distribution)
之形式。
(2) 所有錯誤彼此之間互相獨立且被偵測到的機會皆相同。
(3) 失效發生時,偵測到的錯誤會立即被移除(即忽略移除錯誤的時間)且不 會產生新的錯誤。
假設a(t)=a和b(t)=b,且邊際條件(Boundary Condition)m(0)=0時,可得 到
) -(1 )
(t a e bt
m = − (2.4)
失效強度函數(Failure Intensity Function)則為 abe bt
t m'
t)≡ ( )= −
λ( (2.5)
2.4.2 NHPP S 型模型
1. 延遲 S 型模型
延遲 S 型(Delayed S-shaped, DSS)模型的基本假設為(Yamada et al., 1983):
(1) 軟體在任何時間下的失效行為皆為系統中的錯誤所造成。
(2) 軟體的最初故障內容函數為一隨機變數。
(3) 第(k−1)次與第k次失效發生的間隔時間取決於第(k−1)次失效發生的時 間。
(4) 失效發生時,偵測到的錯誤會立即被移除且不會產生新的錯誤。
假設a(t)=a和b(t)=b2t/(1+bt),且邊際條件m(0)=0時,可得到
]
曲折 S 型(Inflection S-shaped, ISS)模型的基本假設為(Ohba, 1984):
(1) 軟體中的部分錯誤彼此互相依賴(有可能為一組無法偵測到之錯誤)。
Yamada 指數型不完美除錯模型(Yamada Exponential Imperfect Debugging Model, Y-ExpI)的基本假設為(Yamada et al., 1992):
(1) 當偵測到的錯誤被移除時,有可能會產生新的錯誤。
(2) 錯誤偵測率與軟體中剩餘的錯誤數目成正比。
(3) 故障內容函數為指數型函數,而錯誤偵測率為一常數。
假設a(t)=aeαt和b(t)=b,其中,α 為錯誤產生率(Fault Introduction Rate),
且邊際條件m(0)=0時,可得到
) -( )
( e t e bt b
t ab
m −
= + α
α (2.10)
失效強度函數則為
)
(-)
( e t be bt b
t ab + −
= + α α
λ α (2.11)
2. Yamada 線性不完美除錯模型
Yamada 線性不完美除錯模型(Yamada Linear Imperfect Debugging Model, Y-LinI)的基本假設為(Yamada et al., 1992):
(1) 當偵測到的錯誤被移除時,有可能會產生新的錯誤。
(2) 錯誤偵測率與軟體中剩餘的錯誤數目成正比。
(3) 錯誤產生率和錯誤偵測率皆為一常數。
假設a(t)=a(1+αt)和b(t)=b,其中,α 為錯誤產生率,且邊際條件m(0)=0 時,可得到
b at e
a t
m = −bt α +α ) -)(1
-1 ( )
( (2.12)
失效強度函數則為
b a abe
t bt α α
λ( )= − (1- )+ (2.13)
2.4.4 NHPP 不完美除錯 S 型模型
1. Pham–Nordmann–Zhang 模型
Pham–Nordmann–Zhang(P–N–Z)模型的基本假設為(Pham et al., 1999): (1) 故障內容函數為一線性函數。
(2) 在除錯階段中會產生新的錯誤,且每偵測到一個錯誤的錯誤產生率為一常
Pham–Zhang (P–Z)模型的基本假設為(Pham & Zhang, 1997):
(1) 故障內容函數為一指數型函數,即測試過程中,一開始的錯誤數目會較測