ソフトウェアの信頼性実証試験方式
澤田 清，三通 弘明……＝‖‖‖‖‖＝‖‖＝＝‖＝‖‖‖‖‖‖＝＝＝‖‖＝‖‖‖‖‖‖‖‖‖‖ml川…‖…l……l…………l………川…………l………lll……llll……‖‖‖‖‖‖＝＝＝‖‖‖‖‖‖‖‖‖‖‖‖＝‖‖‖＝＝‖‖‖＝‖‖‖＝‖‖‖‖＝‖‖‖‖＝‖‖‖＝‖‖‖‖＝＝＝‖‖＝‖‖‖＝m……l

フトウェアのように時間に関して離散的に使用される

1．．はじめに
信頼性実証試験（Reliability Demonstration TbstNing）［1，2］は，元々ハードウェアの品質保証の一環として考案されたものであり，その目的は次のとおりである．すなわち，製品の開発段階終了後，それを受注先に納入あるいは市場に開放する前に，目標とする信頼性が十分に実現されているかどうかを実証・確認することである．従って，試験に合格したものは，そのまま納入もしくは市場開放する．しかし，試験に合格しなかった製品については，それを廃棄したり，あるいは設計にフィードバックすることにより，さらに品質向上を目指すことになる．ソフトウェアの品質保証が問題となっている今日，ソフトウェア製品に対しても上述のような信頼性実証試験を実施することは，信頼性という意味での品質向上に貢献すると考えられるソフトウェア（離散型モデル）である．これらの2っのモデルに対して，統計的検定論の考え方に基づいて，試験を実施したときの生産者リスクと消費者リスクを定式化し，これらの上限値を指定することにより試験を設計する方法を示す．さらに，より簡単に試験の設計ができるKullback−Leiblerの分離情報量を用いた方法についても述べる．

3章では，ソフトウェア障害による損失の大きさ（以後，ソフトウェア障害の大きさとよぶ）を考慮した
信頼性実証試験方式を展開する．この方式は，ソフトウェア障害の大きさが定量的に評価可能な場合に，有効である．ここでは，試験中のソフトウェア障害回数があらかじめ設定された値を超えるか，またはソフトウェア障害の大きさの累積が既定値を超えれば，試験に不合格とし，それ以外は合格とする方式について述【3〜6］・

本稿では，ソフトウェアの信頼性実証試験の種々の方式，およびそれらの設計方法について述べる．ソフべる．

2．ソフトウェア障害回数に基づく信頼性

トウェアの信頼性実証試験では，試験中に発生するソ実証試験

フトウェア障害により，対象ソフトウェアの合否を判定する．ここで，信頼性実証試験は，試験中のソフト本章では，試験中に生起するソフトウェア障害回数ウェア障害回数に基づく方式と，ソフトウェア障害にに基づいてソフトウェアの合否を判定する試験方式およる損失の大きさを考慮した方式に分類される【7］・よびその設計方法について述べる．

2章で述べるソフトウェア障害回数に基づく試験

2・1連続型モデル［8］は，試験中に生起するソフトウェア障害の回数を数え，それがあらかじめ定められた値を超えれば，試験計算機のOSや生産システムの制御ソフトウェアのに不合格とするという方式である．ここでは，ソフトようなソフトウェアは，時間に関して連続的に用いらウェアの利用形態に基づいて，ソフトウェアの種類をれる．このようなソフトウェアの信頼性評価は，通常，次の2つに分類している．すなわち，計算機のOSや平均ソフトウェア障害時間（MTTSF：Mean TimeTb

生産システムの制御ソフトウェアのように時間に関しSoftwareぬilure）や平均ソフトウェア障害時間間隔（て連続的に用いられるソフトウェア（連続型モデル）

MTBSF：MeanTimeBetweenSoftwareFai1ures）のよと数値計算ソフトウェアや通常のアプリケーションソうな時間的特性，あるいはソフトウェア障害に対する障害発生率に関してなされる．ここでは，このようなさわだ きよし 流通科学大学情報学部

ソフトウェアを扱うモデルを連続型モデルとよぶことさんどう ひろあき 流通科学大学情報学部とする．

〒651−2188神戸市西区学園西町3−1
1999年8月号

このようなソフトウェアに対して，次のような信頼© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

（19）415

性実証試験方式を考える．すなわち，対象ソフトウェ
アに対してf時間の試験を実施し，試験期間中に生起したソフトウェア障害回数がβ以下ならばそのソフトウェアを合格とし，β＋1以上ならば不合格とする．この試験は，才（才＞0）とβ（β＝0，1，2，…）の値を決定す帰無仮説を採択することに対応する．
このとき，第1種の過言呉および第2種の過書呉の確率，すなわち生産者リスク，消費者リスクはそれぞれ叩潮］＝ト云響e叫恥（1）

壱＝0ることにより，設計される．

ここで，ソフトウェアの生産者（開発者）がその開発を受注したときのソフトウェアのMTBSFに対する契約の値，および消費者（ユーザ）が受け入れ可能な
MTI∋SFの下限値をそれぞれ恥，♂1と書くこととする（β。＞β1）．さらに，f時間の試験中のソフトウェア障となる．したがって，生産者リスク，消費者リスクの上限をそれぞれ，α，βと指定することによって得られる次の連立不等式を（士，β）に関して解くことにより設計可能である．
lを雷1と書くこととする．
ここでは，次のように仮定する．
（i）ソフトウェア障害時間間隔は平均βの指数分布に従う．

（2）i＝0g∑蜘β∑渕

害回数がβ＋1以上あるという事象を且1，β1の余事象叩11叫＝土壁祭e一彿

響e一梱≦α（3）望む朝≦β（4）ただし，上の連立不等式の解は一般には一意に定まら（ii）試験中に発生したソフトウェア障害に対するフォないので，βが非負の整数であることと，試験時間fをールト（ソフトウェア障害の原因となるプログラできる限り小さくするということを考慮して，（亡，β）

ム内の誤り）の検出・修正は，試験終了後にまとの値を決定することとなる．

めて実施する．

2・2 離散型モデル【4，9】（iii）00，01は試験開始時点でのMTBSFに対する値を表す．

数値計算ソフトウェアや通常のアプリケーションソフトウェアのようなソフトウェアは，時間に関して離ソフトウェア開発段階に実施されるテスト工程で散的に用いられる．このようなソフトウェアは，ここは，ソフトウェア障害が発生すると，その原因となるでは離散型モデルとして扱うこととする．離散型モデ

フォールトの検出・修正が即座に行われる．したがっルの場合，MTTSFやMT】〕SFのような時間的特性をて，テスト工程中にMTI∋SFが変化する（一般に大き用いて信頼性を評価することは適切ではない．このたくなる）．しかし，信頼性実証試験では，上の仮定（ii）

め，ソフトウェアの離散型モデルの評価基準として，のように，試験中にフォールトの検出・修正を実施しな次のようなソフトウェアの不信頼度を定義する．

いのが普通である．これは，MTBSFが試験中には変ソフトウェアが必要とする一組の入力変数の値の集化しないことを意味している．また，仮定（iii）は，信合を単に入力とよぶこととすると，ソフトウェアの不頼性実証試験が試験開始時点，すなわち開発段階終了

信頼度は，次のように定量的に定義することができ時点のソフトウェアを評価することを意味している．

る．すなわち，対象ソフトウェアに対する可能な入力以上の仮定により，ハードウェアの信頼性実証試験の数をⅣ，そのうちソフトウェア障害を生起させる入同様，上述したソフトウェアの信頼性実証試験につい力数を〃0と表すこととする．このとき，Ⅳ個の可能ても，以下のように統計的検定論を適用できる．

な入力から任意に選んだ1つの入力に対して，ソフト

ここで，ソフトウェアのMTBSFβを検定対象の未ウェア障害が生起する確率は〃0／Ⅳで与えられる・な

知パラメータとし，♂ ＝ ♂。を帰無仮説，β ＝ β1をお，通常Ⅳ，ノ悔の値は非常に大きく，天文学的な数値対立仮説として考えることとする．このとき，前述しとなる．前述の確率をpで表す，すなわちp＝叫I／Ⅳた信頼性実証試験を実施した結果，試験に不合格となとおくと，pは対象ソフトウェアの不信頼度を表すとる，すなわち事象且1が生起した場合，帰無仮説を棄解釈することができる．

却する（対立仮説を採択する）ことに対応する．また，試験に合格する，すなわち事象否1が生起した場合は，416（20）

上述したような性質を有するソフトウェアに対して，次のような信頼性実証試験を考える．すなわち，© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

オペレーションズ・リサーチ

対象ソフトウェアに対する可能な入力Ⅳ個の中から2つの確率分布れ（∬），筏（∬）の密度関数をそれぞ任意に選んだれ個の入力を用いて対象ソフトウェアをれム（∬），ム（∬）とするとき

試験し，ソフトウェア障害を引き起こした入力の数が珊瑚≡

c以下ならそのソフトウェアを合格とし，C＋1以上な

上∞t抽卜刷log宝掛諾

らば不合格とする．この試験の設計変数は，れ（乃＝（7）1，2，…）とc（c＝0，1，2，…，和一1）である・

をKullback−Leiblerの分離情報量（Divergence）と呼ぶ

ここで，ソフトウェアの生産者（開発者）がその開［11，12】．分離情報量が大きいほど，分布且（∬）と筏（嘉）

発を受注したときのソフトウェアの不信頼度に対するは弁別されやすくなる．すなわち，分離情報量は二つ契約の値，および消費者（ユーザ）が受け入れ可能なの分布間の距離を表す一つの尺度としてとらえるこ

不信頼度の上限値をそれぞれpo，plと書くこととすとができる．

る（po＜pl）．さらに，れ個の入力を用いた試験中に，2．1の記号と仮定の下で，対象ソフトウェアの真のソフトウェア障害を引き起こす入力がc＋1以上あるとMTBSFが契約の値β。であるときに，事象β1，雷1がいう事象を筏，且2の余事象を否2と書くこととする．

起こる確率は，それぞれまた，2．1の連続型モデルと同様の理由により，次のように仮定する．

Pr剛］＝ト響・e−り∂0（i）試験中に発生したソフトウェア障害に対するフォ岬11叫＝史響e瑚

ールトの検出・修正は，試験終了後にまとめて実（8）（9）壱＝0施する．となる．また，対象ソフトウェアの真のMTBSFが受け入れ可能な下限値β1であるときに，事象且1，否1が（ii）po，plは試験開始時点での不信頼度に対する値を起こる確率は，それぞれ表す．

叫圃＝1一堕群e朝

これらの仮定の下で，連続型モデルの場合と同様に統計的検定論に基づいて，生産者リスクPγ【且2lpo】（10）

哺l叫＝土壁禦e−絢と消費者リスクPr［否2Ipl】が定義される・この場合も，

（11）

壱＝0

生産者リスク，消費者リスクの上限をα，βと設定すとなる．

ることによって得られる次の連立不等式を解けばよ

このとき，式（8），（9）および式（10），（11）は，それい．

ぞれ，軌，膏1という2つの事象からなる離散型確率れ姜（p。壱（1−pO）m￣ ≦ α甘 ）きくなる（2つの確率分布が最も弁別される）ような†も（舌，β）を選べば，真のMTBSFに対して誤った試験結果
pl壱（1−pl）n￣盲 ≦ β

亨二分布となるので，これらの分布の分離情報量が最も大（5）豆 ）（6）を下す可能性が最も／小さいこととなる．

上述した2つの分布の分離情報量は

ただし，れは自然数，Cは乃未満の非負の整数であることと，入力数れをできる限り小さくするということを考慮して，（れ，C）の値を決定することとなる．

J（凡，為）＝【A（f，β）−β（才，β）］log

A（f，β）［1−β（土，β）】
β（f，β）［1−A（f，β）］

2．3 Ku11back＿Leiblerの分離情報量に基づ
く設計方法

（12）

であるから，これを最大にするような（孟，β）を求めれここでは，2．1で述べた連続型モデルの信頼性実証ばよい．ただし試験方式に対して，Kullback−Leiblerの分離情報量を皇響e湖用いた設計方法を示す．なお，2．2の離散型モデルに︶
ニOUβ∑拗

底＝0⊥・ん︵月ついてはここでは述べないが，同様の手順で設計可能である［10】・

1999年8月号© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

（21）417

dより大きいという事象である．

Kullback−Leiblerの分離情報量を用いた設計方法は，統計的検定論に基づく設計方法と比べて，生産者リスクや消費者リスクの上限値を指定する必要がないた

雷3 月3の余事象
ここでは，2．1の仮定に加えて，次のような仮定をめ，パラメー タが少なく設計変数の値をより簡単に求設ける．

めることができる．

（i）た番目に生起するソフトウェア障害の大きさズた（た＝1，2，■・・）は，それぞれ独立で同一の確率分布

3．ソフトウェア障害の大きさを考慮した

ダ（∬l〝）に従う・

信頼性実証試験
本章では，試験中に生起するソフトウェア障害の大（ii）抽，仇は試験開始時点での平均ソフトウェア障害サイズに対する値を表す．

きさを考慮した信頼性実証試験方式について述べ，その後で統計的検定論に基づく設計方法を示す．なお，

ここでは，時間に関して連続的に使用されるソフトウ

このとき，生産者リスク，消費者リスクを次のように定義する．

ェアを対象とした信頼性実証試験（連続型モデル）［13】について述べるが，時間に関して離散的に使用されるソフトウェアの場合（離散型モデル）［14］についても，抑］響e・一掬同様の考え方で設計可能である．

ここで，対象ソフトウェアに対して紺寺間の試験を実施し，試験期間中に生起したソフトウェア障害の回

e潮数およびソフトウェア障害の大きさの累積に基づき次β ∑戸（壱）㈲）響
音＝1のような判定を行う．ソフトウェア障害回数がβ以下で，かつソフトウェア障害の大きさの累積がd以下な

響e一梱＋らば合格とする．ソフトウェア障害回数がβ＋1以上，

（15）

．

またはソフトウェア障害の大きさの累積がdより大きPγ［否。lβ1，机］ければ不合格とする．この場合の設計変数は，亡（吉＞ニノ，，l0），β（β＝1，2，…），d（d≧0）である・

方た≦d

ここで，恥h β1については2．1の定義をそのまま用

堕㌢e−軌

た＝1

豆＝1＋e−土／β1

い，それ以外の記号については以下に定義する．

き ∑榊l両壁㌢e朝＋e瑚

ズた た番目に生起するソフトウェア障害の大きさ（（16）

戌＝1

但し，た＝1，2，…）dダ（∬l〃）ソフトウェア障害の大きさの平均（以後，平画王1）（d−∬卜）J（叶）血（17）押針）＝上均ソフトウェア障害サイズとよぶ）が〃の場合の〆1）（d卜）＝ ダ（d卜）ソフトウェア障害の大きさの分布関数（18）

否（盲）（針）＝1−〆宜）（dt・）J（∬t〃）．F（諾l〃）の密度関数である．

この場合も，生産者リスク，消費者リスクの上限を伽 ソフトウェアの生産者がその開発を受注したときの，平均ソフトウェア障害サイズに対する契約それぞれ，α，βと指定することによって，以下のように連立不等式の形で定式化できる．ただし，ここでの値は，障害の大きさとして指数分布を一仮定した．
〃1 消費者が受け入れ可能な平均ソフトウェア障害サイズの上限値（仇＞抽）e一帖］響e叫∂0

岩撃 た＝0且3 ‖寺間の試験中のソフトウェア障害回数がβ＋1以上，またはソフトウェア障害の大きさの累積が418（22）＋云響e一梱≦α（20）© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

壱＝ざ＋1

オペレーションズ・リサーチ（19）

［7］K・SawadaandH・Sandoh：e一帖］生鮮e朝

主上吉二
た＝豆＋e￣招1≦β （21）Asummaryofsoft−

Ware reliability demonstration testing models，

加ゎrmα如れαgJb祝mもαg扉戯g戎αゐ威g軸，Q祝αg軸αれdgq何針助古夕盲乃eer盲氾g，Wl・6，No．1（1999）（to ap−

4．おわりにpear）．

本稿では，ソフトウェアの倍額性実証試験の種々の［8］H．Sandoh＝Reliabilitydemonstrationtestingfor

方式，およびそれらの設計方法について述べた．こSO托ware ，J茸β居封Ⅶ乃β．見egぬあ視野，Vol．R−40，

こで示した設計方法では，設計変数の値は解析的にNo・1，pp・117−119（1991）・は得られていないが，簡単な数値計算により求める【9］H・Sandoh and K・Sawada： Reliability demon−

ことができる．また，本稿で述べた試験方式以外に，

Stration testing払r discrete−type SOftware prod−

試験中に生起した障害回数が0の場合のみ対象ソフト

ucts ，P柑C．扉Jタ鋸A乃仰視α‖‡eg払わ血yα犯d〟α摘−

ウェアを合格とするゼロ障害型信頼性実証試験方式

tainabilitySyrrposium，Orlando，U．S．A．，pp．428がある．ゼロ障害型信頼性実証試験方式については，

432（1991）・

統計的検定論に基づく設計方法［15】，Kullback−Leibler［10］澤田清，三道弘明，藤井進： Kullback−Leiblerのの分離情報量を用いた設計方法［15】以外に，テスト工情報量に基づくソフトウェアの信頼性実証試験に程で得られる事前情報を有効利用することを意図し関する離散型モデル ，電子情報通信学会論文誌，たベイズ論を用いた設計方法もある［1町 これらの試Vbl・J79−A，No・3，pp．830−833（1996）．

験方式および設計方法を，ソフトウェアの種類やユーザの要求によりうまく使い分けることが重要である．

［11］S．Kullback： In払rmationTheoryandStatistics ，JohnWiley＆Sons，NewYork（1959）・［12］宮沢光一： 情報・決定理論序説 ，岩波書店

参考文献（1976）．

［1］N．R．Mann，R．E．SchafbrandN．D．Singpurwalla：【13］K．SawadaandH．Sandoh： Continuousmodelfor
Methods fbr StatisticalAnalysis of Reliability
SOftwarereliabilitydemonstration七estingconsid−

and Lifb Data，John Wiley＆Sons，New Ybrk

eringdamagesizeofsoftwarefail11reS（1974）．

E2］H．F．Martz and R．A．Waller：bility Analysis

Bayesian Relia−，John Wiley＆Sons，New York［3】日本生産管理学会（編）： 生産管理ハンドブック ，日刊工業新聞社，pp．450−460（1999）．
【4］lコ．K．Cho：

AnIntroductiontoSoftwareQuality，JohnWiley＆Sons，NewYork（1980）・／後藤公雄（監訳）： 高品質ソフトウェアーソフ
トウェア品質管理概論 ，近代科学社（1982）．
［5】山田茂： ソフトウェア信頼性モデル一基礎と応用 ，目科技連（1994）．

【14］澤田清，三道弘明： 障害の大きさを考慮したソフ

ウェアの信頼性実証試験方法に関する研究 ，電子情報通信学会論文誌，Wl．J72−A，No．11，pp．18飢一
皿886（1989）．

文誌，Vbl．J81−A，No．1，pp．98−109（1998）．
［15】K．Sawada and H．Sandoh：Zero−failure softp

Ware reliability demonstration七esting based on
Kul1back−Leiblerin払rmation，Stochastic Mod−

ellinginlhnovative Mamddcturing，Lecture

Notesin Economics and Mathematical Sys−
tems VblA45（ed・by A．H．Christer，S．Osaki
and L．C．Thomas），pp．272−280，Springer−Verlag，Berlin（1997）・［6］三道弘明： ハードウェアとの対比によるソフト

1999年8月号

icalandCorTq，uterModellin9（1999）（toappear），

トウェアの信頼性実証試験 ，電子情報通信学会論（1982）．

Control，Mathemat−【16］三道弘明，滞田清： ソフトウェアに対するゼロ

障害型信頼性実証試験に関する研究 ，電子情報通信学会論文誌，Vol．J73−A，No．3，pp．564−569（1990）．

© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

（23）419