第一章 緒論
第一節 研究背景與動機
可靠度技術目前已轉為一般民用產業,特別是現代商業應用,當設備進步快 速,設備就越複雜,發生失效的機率就越高,然而使用時間越長,可靠度就越低
(彭鴻霖,2000)。軟體可靠度在開發及測試新軟體產品中已經越來越重要,而錯 誤的程式碼是造成軟體失效的原因之一,且錯誤數會隨程式碼的增加而呈現倍數 成長,發生失效還需要等到執行含有錯誤程式碼才會被發現,假如沒有執行到含 有錯誤程式碼時,那這錯誤可能永遠都不會被發現,當含有錯誤的軟體發佈到市 場上,會為軟體開發公司帶來高額損失。
過去許多學者提出各種軟體可靠度成長模型(Software Reliability Growth Models, SRGMs),其主要目的為評估軟體可靠度,即評估在一套軟體系統尚未偵 測除錯前,系統中會存在多少錯誤,以及測試除錯後,還會剩下多少錯誤。目前 現有研究中的軟體可靠度模型,多以觀察軟體產品在測試中的失效次數,其中又 以非齊次卜瓦松過程(Non-Homogeneous Poisson Process , NHPP)為基礎所建立 的軟體可靠度成長模型最符合實際情形,雖然發佈前軟體的除錯及測試能有效降 低錯誤內容,但也會增加開發成本,因此,開發人員若能在時間內找到軟體最佳 停止測試時間點是很重要的。
但因為軟體可靠度相較於硬體可靠度來說發展得比較晚,也還沒有一套完整 的標準可以準確預測軟體測試過程中的失效行為,因此本研究期望藉由文獻的收 集,可以找出一套可有效預測軟體失效的軟體可靠度模型,可做為評估軟體參考。
2
第二節 研究目的與範圍
過去學者提出的軟體可靠度成長模型中多以非齊次卜瓦松過程為基礎所建立 的模型,因為此模型的概念相較於現況是符合的。其中又考慮到不同概念,有完 美除錯(Perfect Debugging)環境下的 NHPP 可靠度成長模型、不完美除錯
(Imperfect Debugging)環境下的 NHPP 可靠度成長模型、考慮測試覆蓋率(Testing Coverage)環境下的 NHPP 可靠度成長模型(Pham, 2006),除錯過程可分為完美 除錯與不完美除錯。前者為失效發生時,偵測到的錯誤會立即被移除,且不會產 生新的錯誤;後者為失效發生時,偵測到的錯誤被移除時仍會產生新的錯誤。根 據以上,本研究希望藉由以非齊次卜瓦松過程為基礎,結合不完美除錯假設條件 來建構可靠度模型。
目前大多的研究以單一概念及因素作探討,鮮少結合多種概念及因素做研究,
現有的軟體可靠度模型也多將故障內容函數區分為指數型函數與線性函數兩者,
因此,本研究期望以非齊次卜瓦松過程為基礎,結合指數型函數、線性函數與不 完美除錯中的 S 型特性概念於故障內容函數,並考量過程中不同錯誤偵測率的軟 體可靠度成長模型,評估是否能夠更準確地預測軟體失效行為。
第三節 研究方法與流程
本研究提出以非齊次卜瓦松過程為基礎,結合指數型函數、線性函數與 S 型 特性的概念於故障內容函數中,並考量不完美除錯過程和不同錯誤偵測率的軟體 可靠度成長模型。模型建構完成後,利用最小平方估計法求得模型所需參數值,
並透過多組實際失效資料集,評估本研究所提出之模型適合度,最後與過去專家 學者提出之模型進行比較,評估本研究提出之模型在預測軟體失效行為上是否更 具有精確結果。
本研究流程一開始先針對問題找出研究動機及目的,接著蒐集整理可靠度與
3
不可靠度、軟體可靠度、軟體可靠度成長模型、完美除錯與不完美除錯與學習曲 線之相關文獻,從中尋找問題解決方法。從過去公開發表的論文當中蒐集適合資 料集,模型建構則以 NHPP 模型為基礎,結合指數型函數、線性函數與 S 型特性 的概念於故障內容函數中,並考量不完美除錯過程和不同錯誤偵測率。模型建構 後,透過參數估計值與多組實際失效資料集進行模型測試,評估本研究所提出之 模型數據結果是否合適,若結果不合適則針對參數估計值進行重新試算並修正,
直到符合模型所需的數值範圍為止,最後進行模型評估比較,並提出結論與建議。
本研究流程如圖 1 所示。
圖 1 研究流程圖
4