▼目次 |
信頼性の基礎ソフトウェア信頼性モデルソフトウェア開発工程は一般に
テスト工程における管理手法の一つとして,ソフトウェア信頼性モデルを用いた工程管理があります.これは,元来,部品の品質管理に用いられてきた統計技術をソフトウェア開発に応用する試みであり,ソフトウェアのテスト工程においては障害発生データからソフトウェアの品質を評価し,その評価に基づいた工程管理を行います. ソフトウェアテスト工程において,ある時刻までに発見される累積のフォールト数を記録するとき,テストの進捗度に伴ってフォールトの発見が収束していく傾向があることが知られています.ソフトウェア信頼性モデルはこの現象に注目します. 以下の仮定を設けます.
また,フォールトが発見される時刻がどのような統計的性質があるか(何分布に従うか)によって,数多くのソフトウェア信頼性モデルが存在します.もちろん,予測精度や評価指標は信頼性モデルに依存するので,どのモデルが一番よくデータに合っているかを判断する必要があります(モデル選択). パラメータ推定ソフトウェアのテスト工程において信頼性評価を行うためには,観測されたフォールトデータに合うようにモデルのパラメータを推定する必要があります.学術的なソフトウェア信頼性理論で最もよく利用されるパラメータ推定法は最尤法と呼ばれる手法であり,これを適用することでデータにモデルをフィットさせることができます.最尤法では通常,暫定的な値から,よりフィットするパラメータを見つけていく繰り返し手順を行うことになります.モデル選択ソフトウェア信頼性評価では,通常複数のモデルに対してパラメータ推定を行い,それらの中で最も適合性の高いものを選択します.選択する際の目安としては適合性と呼ばれ,統計理論に基づいて幾つかの尺度が定義されています.代表的な尺度としては AIC (Akaike's Information Criterion), BIC (Bayesian Information Criterion), KS (Kolmogorov-Smirnov) 統計量,平均二乗誤差(MSE: Mean Square Error)などがあります.これらはいずれも,小さい値をとるモデルがより適合していることを示しているため,通常はこれらの指標が最も小さくなるモデルを選びます.信頼性評価推定されたパラメータおよび選択されたモデルを用いて,ソフトウェアの信頼性を評価します.代表的な評価尺度は「ソフトウェア信頼度関数」と呼ばれ,先の時刻において,次のフォールトが発見される確率を表す曲線です.これは,ハードウェアにおける「信頼度関数」と対応しています.また,次のフォールトが発見されるされるまでの期待時間(予測時間)を表す MTBF (Mean Time Between Failures) も,ハードウェアにおける MTBF と対応しています.ソフトウェア独自の尺度としては,すべてのフォールトが除去された確率を表す「Fault-Free 確率」や,残っている(発見されていない)フォールトの期待数(予測数)を表す「残存フォールト」がある. |