▼目次 |
概要SRATSとはSRATS (Software Reliability Assessment Tool on Spreadsheet Software) は,ソフトウェアの品質を高めるために作られたテスト工程管理支援ツールです.背景と目的NHPP モデルに代表されるソフトウェア信頼性モデルは 1970 年代に初期のモデルが提案されて以来,多くのソフトウェアフォールトデータへの適合性が検証されています.しかし,実務レベルにおいてソフトウェア信頼性評価が活発に実践されていない理由として,次にあげる 4 つの要因が考えられます.1 つ目の要因は,実際に記録するデータと確率モデルで使用するデータがかけ離れていることです.実際のソフトウェア開発工程では,テストを実施した日時やテストによって発見された障害をすべてを記録しています.しかし,NHPP モデルをとりまく学術的な分野では抽象的な議論が行われており,使用するデータはフォールトが発見された時間(単位を示さない)とする場合が多く見受けられます.すなわち,現場では 2003/5/5 のような年月日で管理されている記録を,ある基準日時からの累積日時へ変換する作業が必要となります. 2 つ目の要因は,実際のデータに適合させるための推定手続きの煩雑さであると考えられます.確率・統計理論に基づいたソフトウェア信頼性評価では,記録したフォールトデータをもとに,モデルパラメータを推定する必要があります.これには最尤法と呼ばれる統計的な推定手法を用います.しかしながら,この作業は数学的には制約のある非線形計画問題を解くことと等価であり,数理に関する専門技術者においても,フォールトデータの種類によっては多くの労力を必要とする厄介な作業です. 3 つ目の要因は,いくつかの確率モデルから適切なモデルを矛盾なく選択することが困難な点にあります.過去 30 年間に発表されたソフトウェア信頼性モデルだけでその数は 250 以上にも及びます.開発現場では,多くのモデルを比較した上で最も適合するものを選択することが理想的ですが,この作業はかなりの専門的な知識を必要とします. 最後の要因は,ソフトウェア信頼性モデル用いてどのようにして信頼性評価を行うかという点です.NHPP モデルでは,最終的にソフトウェア信頼度を通じてソフトウェアの品質を定量的に評価します.この物理的な意味は「規定の時刻までに次のフォールトが発見されない確率」ですが,開発者とってはイメージのつかみにくい尺度となっているため,信頼性尺度を出してみたもののどのような管理を行うべきかと言った問題が生じます. これらの問題点から,開発すべきソフトウェア信頼性評価支援ツールにおける要件を以下のように設定します.
要件 (iii) は推定技術に関する技術です.従来から用いられている Newton 法やそれに準じた手法によるパラメータ推定では,初期値の決定に対して経験則や専門的な知識が必要となります.そこで,本ツールでは EM アルゴリズムを用いたパラメータ推定手法を採用しました.これは大域的な収束性をもつという性質から初期値の決定を神経質に行う必要がなくなり,専門的な知識なしにどのようなデータに対しても推定値の算出が可能となります. 要件 (iv) はモデルの分類に関する問題です.NHPP モデルは数多く提案されているため,そのすべてを網羅することは不可能です.従って,いくつかの代表的なモデルを選択する必要があります.ここでは,単一フォールトの発見時間分布がモデルの違いを表現することに着目して,フォールトの発見時間が以下の理論分布に従うモデルを扱います.
要件 (v) により,既存の評価尺度が算出できるだけでなく,モデル間の比較が容易に行える構造を取り入れる必要があります.そこで,本ツールではユーザが所望するモデルをいくつでも追加して比較が行える仕組みを取り入れました.これを実現するための技術的な基盤は,オブジェクト指向によるプログラミングであり,具体的には,1 つの確率モデルを単一のオブジェクトとみなす設計を行いました.また,評価尺度としては従来の研究でも多く用いられている AIC,BIC,KS 統計量,MSE を算出します. 要件 (vi) は,ソフトウェア信頼度だけではなく,他の尺度を同時に算出する必要があることを示しています.そこで,現時点でソフトウェア内に潜在するすべてのフォールが除去されている確率を表す Fault-Free 確率と,次のフォールトが発見されるまでの平均時間の代替尺度である条件付き MTBF,およびソフトウェア信頼度が 0.1 に低下する時刻 Be-Ten-Life を算出します.これらの尺度は,時間的なふるまいを検証する必要のあるソフトウェア信頼度よりも,開発者にとっては利用しやすい尺度であると思われます.また,時間経過を見る必要のある累積期待フォールト発見数やソフトウェア信頼度も,Excel のグラフ作成機能を用いて自動的に描画する機能を実現しました. ツールの特徴SRATS の特徴を以下に列挙します.
設計概要本ツールは Excel の VBA (Microsoft Visual Basic for Application) で構築された部分と動的リンクライブラリ (DLL) 部分から構成されます.DLL は,WindowsOS において,プログラムの実行時にリンクされる外部プログラムです.推定などの計算処理を DLL 内で行うことによって,より高速な数値計算を可能にします.なお,DLL の開発には Microsoft Visual C++ を使用しました.VBA から呼び出される DLL の関数を以下に示します.
ライセンス
|