• 沒有找到結果。

第二章 文獻探討

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)=ab(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)=ab(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αtb(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) 故障內容函數為一指數型函數,即測試過程中,一開始的錯誤數目會較測

相關文件