JP2005063208A - ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体 - Google Patents

ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体 Download PDF

Info

Publication number
JP2005063208A
JP2005063208A JP2003293595A JP2003293595A JP2005063208A JP 2005063208 A JP2005063208 A JP 2005063208A JP 2003293595 A JP2003293595 A JP 2003293595A JP 2003293595 A JP2003293595 A JP 2003293595A JP 2005063208 A JP2005063208 A JP 2005063208A
Authority
JP
Japan
Prior art keywords
software reliability
reliability growth
growth model
model
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003293595A
Other languages
English (en)
Inventor
Daisuke Sato
大輔 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003293595A priority Critical patent/JP2005063208A/ja
Publication of JP2005063208A publication Critical patent/JP2005063208A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】試験開始間もない時点において、複数のソフトウェア信頼度成長モデルの中から実測データに最も適合したソフトウェア信頼度成長モデルを効率的に選択することを可能にするソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体を提供する。
【解決手段】実測データを集計した結果を記憶する記憶部を備えたコンピュータが、前記記憶部から読み出した実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求め、この求めた相関係数の絶対値が最大となるソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択する。
【選択図】図1

Description

本発明は、ソフトウェアの信頼度を予測する技術に関するものであり、より具体的には、複数のソフトウェア信頼度成長モデルからソフトウェア試験時に測定される実測データに最も適合するモデルを選択するソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体に関する。
ソフトウェアの完成後の品質を保証するために行われるシステムの動作確認試験においては、ソフトウェアの最終段階での品質予測、いわゆる信頼度予測が行われる。この信頼度予測に関して、従来から各種の手法が提案されている。それらのうち、統計的手法として、ゴンペルツ曲線モデルやロジスティック曲線モデル等に代表されるソフトウェア信頼度成長モデルが知られており、ソフトウェア信頼度成長モデルのパラメータである故障・欠陥数としてのバグ数の試験実績データ(実測データ)から各曲線モデルのパラメータを推定することにより、達成予測値(レベル)、達成期間、予測曲線などを得ている。
図5は、ソフトウェアの信頼度予測を行う信頼度予測装置によって得られる予測曲線の例を示した図である。同図において、Iは試験工程計画時点を表し、IIは実際の試験工程終了時点を表す。予測曲線は試験工程計画時点で求められ、この求められた予測曲線に基づいて、潜在バグ数が推定される。
このようなソフトウェアの信頼度予測においては、実測データに適合するモデルを選択することが重要である。従来、実測データに適したモデルを選択する指標として、例えばバグ数が飽和値(潜在バグ数)に達するまで検出した後にモデルとの適合の度合いを評価する指標や、定性的に評価する指標が用いられてきた(例えば、非特許文献1を参照:この技術を従来技術1とする)。しかしながら、ソフトウェア試験期間のより早期に最適なモデルを選択するための指標はほとんど存在しなかった。
このような状況の中で、試験期間のより早期に、実測データに適合するソフトウェア信頼度成長モデルを選択する技術が開示された(例えば、特許文献1および非特許文献2を参照:この技術を従来技術2とする)。
図6は、この従来技術2に係るソフトウェア信頼度成長モデル選択装置の構成を表すブロック図である。同図に示すソフトウェア信頼度成長モデル選択装置2は、入力部21においてソフトウェアの試験時にソフトウェアにバグが発生したバグ発生期日およびバグ発生件数を入力し、これらの情報を実データ集計部23内の記憶部23aで記憶する。そして、この実データ集計部23において、入力部21から入力されたバグデータから、任意の集計期間内に発生したバグ発生件数を集計する。
モデル分析部25A、25B、・・・は、比較を行うソフトウェア信頼度成長モデルの数だけ用意されており、それらの内部には、実測データに基づいて回帰分析を行ってバグ数等のパラメータを推定する回帰分析部251A、251B、・・・、およびバグ数の実測データと推定値とを用いて最適モデル選択の際の指標をそれぞれ計算する指標計算部253A、253B、・・・を備えている。
回帰分析部251A、251B、・・・は、より詳しくは、連続極限で各ソフトウェア信頼度成長モデルにおけるバグ数の時間変化を表す微分方程式と一致する差分方程式のうち、この差分方程式の厳密解の差分間隔0の連続極限がソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式をそれぞれ用い、バグ件数集計部23bから送られてくる実測データから、対応するソフトウェア信頼度成長モデルのパラメータを回帰分析により推定する。
指標計算部253A、253B、・・・では、各ソフトウェア信頼度成長モデルの指標C(n)を以下の定義に基づいてそれぞれ計算する。
Figure 2005063208
式(1)において、nは現時点での時間ステップ数であり、xは累積バグ数、x^は累積バグ数の推定値を表す。したがって、指標C(n)は、累積バグ数と累積バグ数の推定値の相対推定誤差に他ならない。モデルごとに計算された指標C(n)は、その後、指標比較部27に送信されて比較され、実測データに最も適合するソフトウェア信頼度成長モデルが選択される。
特開2003−186701号公報 J. Musa, A. Iannino and K. Okumoto, "Software Reliability−Measurement, Prediction, Application", McGraw-Hill (1987). D. Satoh and S. Yamada, "Discrete equations and software reliability growth models", Proceedings of 12th International Symposium on Software Reliability Engineering, pp. 176-184, IEEE Computer Society, Hong Kong (2001).
上述した従来技術2では、指標C(n)を選択対象のソフトウェア信頼度成長モデルごとに求める必要があるため、各モデルにおいて、データからそのモデルのパラメータを推定し、さらに得られたパラメータ値を用いて、時間ステップごとに推定値を求めなければならない。しかしながら、通常この計算は最適モデルを選択するためだけになされるものであり、この意味で従来技術2では、最適なソフトウェア信頼度成長モデルを選択するまでの計算量を多くせざるを得なかった。
本発明はこのような事情に鑑みてなされたものであり、その目的は、試験開始間もない時点において、複数のソフトウェア信頼度成長モデルの中から実測データに最も適合するソフトウェア信頼度成長モデルを効率的に選択することを可能にするソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体を提供することにある。
上記目的を達成するために、請求項1記載の発明は、ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するソフトウェア信頼度成長モデル選択方法であって、実測データを集計した結果を記憶する記憶部を備えたコンピュータが、前記記憶部から読み出した実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求めるステップと、このステップで求めた相関係数の絶対値が最大となるソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択するステップとを実行することを特徴とする。
なお、本願発明における「コンピュータ」としては、一つの電子的な装置であるコンピュータによって構成される場合は勿論のこと、各手段または各機能を複数のコンピュータに適宜分割して成るコンピュータシステムから構成される場合も含まれる。
請求項2記載の発明は、請求項1記載の発明において、前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする。
請求項3記載の発明は、ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するソフトウェア信頼度成長モデル選択装置であって、前記実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求める複数のモデル分析手段と、この複数のモデル分析手段でそれぞれ求めた相関係数のうち絶対値が最大となる相関係数を有するソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択する最適モデル選択手段とを備えたことを特徴とする。
請求項4記載の発明は、請求項3記載の発明において、前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする。
請求項5記載の発明は、ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するために、コンピュータを、前記実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求める複数のモデル分析手段、この複数のモデル分析手段でそれぞれ求めた相関係数のうち絶対値が最大となる相関係数を有するソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択する最適モデル選択手段、として機能させることを特徴とする。
請求項6記載の発明は、請求項5記載の発明において、前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする。
請求項7記載の発明は、請求項5または6記載のソフトウェア信頼度成長モデル選択プログラムを記録したプログラム記録媒体である。
ここでいう記録媒体とは、CD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク、DVD(Digital Versatile Disk)、光磁気ディスク、PCカード等のコンピュータ読み取り可能な記録媒体を意味している。
本発明によれば、ソフトウェアの故障・欠陥検出件数が少ない段階、すなわち試験開始間もない時点において、選択対象となる複数のソフトウェア信頼度成長モデルをそれぞれ記述する微分方程式と連続極限で一致する差分方程式のうち、この差分方程式の厳密解の連続極限が対応する微分方程式の厳密解と一致する差分方程式を用いて各モデルのパラメータを求めるための回帰式の説明変数と目的変数の相関係数を求め、その相関係数の絶対値を比較して最も大きな値をとるソフトウェア信頼度成長モデルを選択することにより、各時間ステップの推定値を計算することなく、実測データに最も適合するソフトウェア信頼度成長モデルをより少ない計算量で効率的に選択することが可能となる。
以下、添付図面を参照して本発明の実施の形態を説明する。なお、以下の説明においては、ソフトウェア試験中に発見される故障・欠陥のことを単にバグと称することにするが、本発明の内容がこれによって限定されるわけでない。
図1は、本発明の一実施形態に係るソフトウェア信頼度成長モデル選択装置の構成を示すブロック図である。同図に示すソフトウェア信頼度成長モデル選択装置1は、ソフトウェアの試験時、ソフトウェアにバグが発生したバグ発生期日およびバグ発生件数を入力するとともに各種情報を入力する入力部11、入力された実績累積バグデータ(実測データ)の集計を行う集計手段としての実データ集計部13、モデルごとにバグデータの分析を行うモデル分析手段であるモデル分析部15A、15B、・・・、各モデル分析部で算出される相関係数の比較を行う相関係数比較部17、および相関係数比較部17からの結果に基づいて実測データに最も適合するソフトウェア信頼度成長モデルの表示を行う表示手段である表示部19を備えている。
実データ集計部13は、入力された実測データの集計結果を記憶する記憶部13a、およびバグデータの集計を行うとともに集計結果を後述する各モデル分析部へ送信するバグ件数集計部13bを備えている。
モデル分析手段としてのモデル分析部15A、15B、・・・は、比較を行うソフトウェア信頼度成長モデルの数だけ用意されており、それらの内部には、実測データに基づいて回帰式における説明変数と目的変数を算出する説明変数・目的変数算出部151A、151B、・・・、この説明変数・目的変数算出部151A、151B、・・・で算出した説明変数と目的変数の相関を示す相関係数を算出する相関係数算出部153A、153B、・・・がそれぞれ具備されている。
説明変数・目的変数算出部151A、151B、・・・は、連続極限で各ソフトウェア信頼度成長モデルにおけるバグ数の時間変化を表す微分方程式と一致する差分方程式のうち、この差分方程式の厳密解の連続極限が対応する微分方程式の厳密解と一致する差分方程式をそれぞれ用い、バグ件数集計部13bから送られてくる実測データから、対応するソフトウェア信頼度成長モデルのパラメータを求めるための回帰式の説明変数と目的変数の値を求める。
なお、以上の構成を有するソフトウェア信頼度成長モデル選択装置1は、演算機能および制御機能を備えた中央処理装置(CPU:Central Processing Unit)、プログラムやデータを格納する機能を備えた主記憶装置(メインメモリ)、およびハードディスクドライブ、フレキシブルディスクドライブ、CD−ROMドライブ、DVDドライブ、光磁気ディスクドライブ、PCカードドライブ等の補助記憶装置を備えた電子的な装置であるコンピュータによって構成されている。なお、ここでいう「コンピュータ」としては、一つのコンピュータによって構成される場合は勿論のこと、各手段または各機能を複数のコンピュータに適宜分割して成るコンピュータシステムから構成される場合も含まれるものとする。
次に、以上の構成を有するソフトウェア信頼度成長モデル選択装置1が実行するソフトウェア信頼度成長モデル選択方法の処理内容について、図2のフローチャート図を用いて詳細に説明する。
まず、入力部11の一部を構成するキーボードまたはマウス等を用いて、選択対象とするソフトウェア信頼度成長モデル(図2では単に「モデル」と記載)の総数M(ステップS1)、相関係数を計算するために使用する最少のデータ数K(ステップS3)、および最適なモデルを判定するために必要な連続判定回数Jを順次入力する(ステップS5)。このうちステップS5で入力する連続判定回数とは、後述する一連の処理において、あるソフトウェア信頼度成長モデルを最適モデルとして選択するために必要な最小の判定回数のことである。すなわち、あるモデルをJ回連続して最適と判定したとき、そのモデルを最適モデルとして選択する。このJの値は、選択対象とするソフトウェア信頼度成長モデルにもよるため、経験的に値を決める場合もある。
本実施形態において選択対象とし得るソフトウェア信頼度成長モデルとしては、ゴンペルツ曲線モデル、ロジスティック曲線モデル等を想定することができる(これら以外に適用が想定されるソフトウェア信頼度成長モデルについては、例えば山田茂著「ソフトウェア信頼度モデル−基礎と応用」(日科技連)を参照のこと)。
その後、データ数kを1とおいて(k=1)初期化を行い(ステップS7)、実データ集計部13で一定期間(集計期間)ごとに、k周期目(最初はk=1すなわち1周期目)までに検出された累積バグ数を記録する(ステップS9)。
実データ集計部13では、現時点のkとステップS3で設定したKとの比較を行い(ステップS11)、k<K(ステップS11でNO)ならばkを1増やし(ステップS13)た後、ステップS9の処理を繰り返す。
kが増加してk≧Kとなったとき(ステップS11でYES)、各モデル分析部15A,15B,15C,...において回帰式の説明変数と目的変数の値を求める。そして、求めた回帰式の説明変数と目的変数との相関係数の絶対値の計算を行う(ステップS15)。回帰式における説明変数、目的変数をそれぞれxei,xoiとするとき、両変数の相関の度合いを示す相関係数reoは次式で定義される:
Figure 2005063208
一般に、回帰分析の結果、データが回帰モデルに適合していれば、説明変数と目的変数の間には線形関係が成り立つ。ソフトウェア信頼度成長モデルにおいて、実測データがそのモデルを記述する微分方程式の厳密解を満足する場合には、厳密解を持つ差分方程式のうち、連続極限で対応するソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式から導かれた回帰式の説明変数と目的変数の間に線形関係が成立し、相関係数reoが1または−1となる。したがって、実測データから計算された相関係数reoの絶対値が1に最も近いソフトウェア信頼度成長モデルを、実測データに最も適合するモデルであると結論づけることができる。
なお、比較し得る二つのモデル間には、一般に両者の説明変数同士と目的変数同士が、何らかの関数を用いて関係付けできる必要がある。例えば、モデルAとモデルBの間に、同じ時間ステップに対して、
モデルBの説明変数=fBe(モデルAの説明変数) ・・・(I)
モデルBの目的変数=fBo(モデルAの目的変数) ・・・(II)
という関係式があればよい。ここでfBe およびfBoは適当な関数である。同様に、他のモデルCに対しても、適当な関数fCeおよびfCoを用いて
モデルCの説明変数=fCe(モデルAの説明変数) ・・・(III)
モデルCの目的変数=fCo(モデルAの目的変数) ・・・(IV)
という関係式が成立していれば、相関係数比較部17においてこれら全てのモデルA、B、Cの相関係数の比較を行うことができる。
続くステップS17では、相関係数比較部17において、相関係数の絶対値が最大であるソフトウェア信頼度成長モデル(i(k)とする)を求める(ステップS17)。
その後、データ数kと最初のデータ数Kを再び比較(ステップS19)し、k=Kのとき(ステップS19でNO)は判定回数jを1(ステップS25)としてステップS27に進む。これに対してk>K(ステップS19でYES)のときは、一つ前の(k−1)周期目のステップS17において相関係数が最大であるとして求めたソフトウェア信頼度成長モデルi(k−1)と、今周期のステップS17で求めたソフトウェア信頼度成長モデルi(k)とが一致しているかどうかを判定(ステップS21)し、一致している場合(ステップS21でYES)には、連続して同一モデルが最適と判定されたことになるのでjの値を1増やし(ステップS23)、ステップS27へ進む。
ステップS27では、jの値が連続判定回数Jに達しているかどうかを判定し、Jに達している場合(ステップS27でYES)には表示部19で最適なソフトウェア信頼度成長モデルの表示を行い(ステップS29)、本実施形態に係るソフトウェア信頼度成長モデル選択方法の処理を終了する。
これに対して、jの値がまだJに達していない場合(ステップS27でNO)には、kの値を1増やした(ステップS13)後、ステップS9に戻って処理を繰り返す((k+1)周期目の処理)。
ところで、以上説明した本実施形態に係るソフトウェア信頼度成長モデル選択方法をコンピュータに実行させるためのソフトウェア信頼度成長モデル選択プログラムは、前述した主記憶装置またはハードディスクに格納される一方、コンピュータ読み取り可能な記録媒体に記録して広く流通させることもできる。ここでいう「記録媒体」とは、CD−ROM、フレキシブルディスク、DVD、光磁気ディスク、PCカード等を指している。
以上説明した本発明の一実施形態によれば、選択対象となるソフトウェア信頼度成長モデルを記述する微分方程式と連続極限で一致する差分方程式のうち、この差分方程式の厳密解の連続極限が対応する微分方程式の厳密解と一致する差分方程式を用いて導出される回帰式において、説明変数と目的変数の間の相関係数をモデルごとに求め、その相関係数の絶対値が最大となるソフトウェア信頼度成長モデルを、データに最も適合するモデルとして選択することにより、試験開始間もない時期に、従来法よりも少ない計算量で、データに最適なソフトウェア信頼度成長モデルを選択することが可能となる。
なお、本実施形態においては、選択対象となるソフトウェア信頼度成長モデルを分析する全てのモデル分析部において相対係数の算出を行うことを前提として説明したが、例えばそれ以外にも、信頼度予測を行うソフトウェアの種類や規模などに応じて実際に使用するモデル分析部を適宜選択する機能を具備させておくことも可能である。
また、相関係数の算出自体は全てのソフトウェア信頼度成長モデルに共通する演算なので(式(2)を参照)、相関係数算出部を各モデル分析部内に設ける代わりに、各モデル分析部と相関係数比較部の間に一つだけ設けておき、各モデル分析部から送られてくる説明変数と目的変数を用いて相関係数を求め、その求めた結果を相関係数比較部に順次送る構成にしてもよい。
このように、本発明は、上記一実施形態と同様の効果を奏するさまざまな実施の形態等を含みうるものである。
以下、上述した本発明の一実施形態のさらに具体的な実施例を説明する。本実施例においては、選択対象となるソフトウェア信頼度成長モデルとして、ゴンペルツ曲線モデルとロジスティック曲線モデルを用いる(上記ステップS1でM=2に対応)。まず、これら二つの曲線モデルについて説明する。
<ゴンペルツ曲線モデル>
ゴンペルツ曲線モデルは、微分方程式
Figure 2005063208
によって定義される。ここでtは時間(期間)であり、G(t) はtまでに発見されるバグ数、k,a,bはバグ数の試験実績データから求められるパラメータである。また、本実施例において、logは自然対数を表す。式(3)は、厳密解
Figure 2005063208
を有する(ここで、k>0,0<a<1,0<b<1)。式(4)より、
G(t) → k (t→∞) …(5)
となるので、kは試験開始前に潜在する潜在バグ数を表す。
式(3)は、δを差分間隔として次式のように差分化することができる:
Figure 2005063208
この差分方程式は厳密解を有しており、その厳密解は、
Figure 2005063208
である。式(7)は、差分間隔δが0の連続極限(δ→0)でゴンペルツ曲線の関係式(4)、すなわち微分方程式(2)の厳密解に一致する。このゴンペルツ曲線の差分方程式(6)は、どのような時間間隔δに対しても
n →k (n →∞)
を満たしており、式(4)が有する性質(式(5)参照)を保存している。
回帰分析を行うことにより、式(6)から回帰式
Figure 2005063208
が導出される。ここで、
Figure 2005063208
である。以上のように回帰分析されるゴンペルツ曲線モデルでは、回帰式(8)(および式(9))より、説明変数がlog Gn+1 、目的変数がlog (Gn+1/Gn)であることがわかる。
ちなみに、式(8)を回帰式として回帰分析を行うことによって得られるA,Bの推定値をそれぞれA^,B^とすると、ゴンペルツ曲線モデルのパラメータk,a, bの推定値k^,a^,b^は、それぞれ次のように求められる:
Figure 2005063208
ここで求められる各パラメータの推定値は、時間間隔δの値に関わらず常に同じ値をとる。ただし、b^ については、δlog b^ が時間間隔δによらず同じ推定値をとる。
通常用いる差分方程式は、あくまで対応する微分方程式の単なる近似でしかなく、特に前進差分が用いられる場合には、元の微分方程式を差分間隔の何乗のオーダで近似するかに主眼が置かれる。したがってそのような場合には、差分化がなされた時点で、解の形状や、時間無限大の極限におけるバグ数の一定値への収束性などの性質は一般に保存されない。
これに対して本実施例では、元の微分方程式が有する性質を保つ差分方程式を用いるので、通常用いられる手法より試験期間早期で精度の高いパラメータ推定が可能となる。この点については、次に説明するロジスティック曲線モデルの場合にも同様のことがいえる。
<ロジスティック曲線モデル>
ロジスティック曲線モデルは、次式(13)で定義される:
Figure 2005063208
ここで、ゴンペルツ曲線モデルと同様に、tは時間(期間)であり、L(t)はtまでに発見されるバグ数、m,αはバグ数の試験実績データから求められるパラメータである。
この式(13)は、厳密解
Figure 2005063208
を持つ。式(14)より、
L(t) → k (t→∞) …(15)
となるので、ロジスティック曲線モデルにおいても、kは試験開始前に潜在する潜在バグ数を表す。
式(13)は、δを差分間隔として次式のように差分化することができる:
Figure 2005063208
この厳密解は、差分間隔0の連続極限(δ→0)でロジスティック曲線モデルの微分方程式(13)の厳密解(14)に一致する。さらに、
|1−δα|<1
という条件の下で
n →k (n →∞)
となり、式(14)が有する性質(式(15)参照)を保存していることがわかる。
式(16)から回帰分析によって導出される回帰式は、
Figure 2005063208
である。ここで、
Figure 2005063208
である。したがって、ロジスティック曲線モデルの回帰式(18)では、説明変数がLn+1 、目的変数がLn+1/Lnであることがわかる。
式(18)を回帰式として回帰分析を行うことによって得られるA,Bの推定値をそれぞれA^,B^とすると、ロジスティック曲線モデルのパラメータm,k,αの推定値m^,k^,α^は、それぞれ次のように求められる:
Figure 2005063208
<相関係数の比較>
以上説明した二つのソフトウェア信頼度成長モデルは、説明変数同士(log Gn+1とLn+1)および目的変数同士(log (Gn+1/Gn)とLn+1/Ln)の時間ステップがともに一致している。ここで、ロジスティック曲線モデルをモデルA、ゴンペルツ曲線モデルをモデルBとすると、両者の説明変数と目的変数は、上述した式(I)および(II)における二つの関数fBeおよびfBoがともにlog関数の場合に他ならない。したがって、二つのモデル分析部15Aおよび15Bの相関係数算出部153Aおよび153Bからそれぞれ出力される相関係数の値を相関係数比較部17で比較することができる。
ところで、既に提案されているゴンペルツ差分方程式(D. Satoh, "A discrete Gompertz equation and a software reliability growth model", IEICE Trans., E83-D-7(2000),1508-1513.を参照)
Figure 2005063208
の場合には、差分間隔δ→0の極限で式(4)に一致する厳密解
Figure 2005063208
を有しており、差分方程式(23)から導出される回帰式は、
Figure 2005063208
となる。ここで、左辺のYnは式(9)と同じである。したがって、この回帰式では、説明変数がlog Gn 、目的変数がlog (Gn+1/Gn)となり、ロジスティック曲線モデルと目的変数の時間ステップを揃えると、説明変数の時間ステップが一致しなくなる。すなわち、式(I)および(II)の関係式が両方成立しなくなり、このような二つのモデルを比較して実測データに最も適合するモデルを選択することができなくなる。
この例からも明らかなように、本発明においては、ソフトウェア信頼度成長モデルを記述する微分方程式をどのように差分化して回帰式を導出するかが極めて重要である。
以下、本実施例で説明した二つのソフトウェア信頼度成長モデルを既知のデータに対して適用した場合につき、本発明のソフトウェア信頼度成長モデルの選択結果が正しいかどうかを検証する。
一つ目のデータ(データ1と呼ぶ)は、試験工程終了時点までのデータから、ゴンペルツ曲線モデルよりもロジスティック曲線モデルによく適合することがわかっているものである。この場合、相関係数が−1に近いモデルの方がより適合することがわかっている(文献:D. Satoh and S. Yamada, "Parameter Estimation of Discrete Logistic Curve Models for Software Reliability Assessment", Japan Journal of Industrial and Applied Mathematics, Vol.19-1 (2002) 39-53. を参照)。
このデータ1において、実用的な観点から早期だけのデータしか得られてない状況で、適合するモデルの候補となる上記二つのモデルに対し、時間nステップ目にまでのデータを用いて相関係数をそれぞれ計算した。その計算結果を図3に示す。
図3に示す場合、横軸のデータ数は時系列的に増加していくものであり、時間ステップに対応する。同じデータ数で比較すると、データ数が小さい段階では多少の揺らぎがあるものの、総じて曲線3L(■でプロット)で示されるロジスティック曲線モデルの相関係数の値の方が、曲線3G(●でプロット)で示されるゴンペルツ曲線モデルの相関係数の値よりも小さく、−1に近い値をとる。
したがって、上記一実施形態において、相関係数を算出する最小のデータ数Kおよび連続判定回数Jを十分大きい値として設定することにより(図2のステップS3およびS5)、ゴンペルツ曲線モデルを最適と判断する可能性はほとんどなくなり、選択結果としてロジスティック曲線モデルを選択する可能性の方が十分高くなり、所望の結果を得ることができる。
二つ目のデータ(データ2)は、試験工程終了時点までのデータからゴンペルツ曲線モデルによく適合することがわかっている実データである。この場合も、相関係数が−1に近いモデルの方がより適合することがわかっている(文献:三觜武著「ソフトウェアの品質評価法」(日科技連、1981)を参照)。
このデータ2においても、試験工程早期のデータしか得られてない状況を仮定し、その状態で、適合するモデルの候補となる上記二つのモデルに対し、nステップ目までのデータを用いて相関係数をそれぞれ計算した。図4に、計算結果として、データ2のデータ数と相関係数の関係を示す。
図4に示す場合、データ数20を超える辺りから、曲線4G(●でプロット)で示されるゴンペルツ曲線モデルの相関係数の方が、曲線4L(■でプロット)で示されるロジスティック曲線モデルの相関係数よりも小さく、−1に近い値をとる。したがって、ここでも相関係数を計算する最小のデータ数Kを十分大きく取り、さらに連続判定回数Jも十分大きく設定しておけば、曲線4Lで示されるロジスティック曲線モデルを最適モデルとして選択する可能性はほとんどなくなり、既知の結果と整合してゴンペルツ曲線モデルを最適モデルとして選択することができる。
以上説明した図3および図4では、本発明の効果を確かめるためにロジスティック曲線モデルとゴンペルツ曲線モデルの2つのソフトウェア信頼度成長モデルから実測データに適した方のモデルを選択する場合について説明したが、本発明が適用されるソフトウェア信頼度成長モデルはそれらに限られるわけでない。
本発明の一実施形態に係るソフトウェア信頼度成長モデル選択装置の構成を示すブロック図である。 本発明の一実施形態に係るソフトウェア信頼度成長モデル選択方法の処理手順を示すフローチャート図である。 本発明の一実施形態に係るソフトウェア信頼度成長モデル選択方法を第1の既知のデータに適用して相関係数を計算した結果を示す説明図である。 本実施の一実施形態に係るソフトウェア信頼度成長モデル選択方法を第2の既知のデータに適用して相関係数を計算した結果を示す説明図である。 従来技術におけるソフトウェア信頼度予測曲線および実績累積バグデータを表す説明図である。 従来技術2におけるソフトウェア信頼度成長モデル選択装置の構成を示すブロック図である。
符号の説明
1、2 ソフトウェア信頼度成長モデル選択装置
11、21 入力部
13、23 実データ集計部
13a、23a 記憶部
13b、23b バグ件数集計部
15A、15B、・・・、25A、25B、・・・ モデル分析部
17 相関係数比較部
19、29 表示部
27 指標比較部
151A、151B、・・・ 説明変数・目的変数算出部
251A、251B、・・・ 回帰分析部
153A、153B、・・・ 相関係数算出部
253A、253B、・・・ 指標計算部

Claims (7)

  1. ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するソフトウェア信頼度成長モデル選択方法であって、
    実測データを集計した結果を記憶する記憶部を備えたコンピュータが、
    前記記憶部から読み出した実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求めるステップと、
    このステップで求めた相関係数の絶対値が最大となるソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択するステップと
    を実行することを特徴とするソフトウェア信頼度成長モデル選択方法。
  2. 前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする請求項1記載のソフトウェア信頼度成長モデル選択方法。
  3. ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するソフトウェア信頼度成長モデル選択装置であって、
    前記実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求める複数のモデル分析手段と、
    この複数のモデル分析手段でそれぞれ求めた相関係数のうち絶対値が最大となる相関係数を有するソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択する最適モデル選択手段と
    を備えたことを特徴とするソフトウェア信頼度成長モデル選択装置。
  4. 前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする請求項3記載のソフトウェア信頼度成長モデル選択装置。
  5. ソフトウェアの信頼度を予測する複数のソフトウェア信頼度成長モデルの中から前記ソフトウェア試験時に測定される実測データに最も適合するソフトウェア信頼度成長モデルを選択するために、コンピュータを、
    前記実測データを用いて各ソフトウェア信頼度成長モデルのパラメータを推定するための回帰式における説明変数と目的変数の相関を示す相関係数を選択対象のソフトウェア信頼度成長モデルごとに求める複数のモデル分析手段、
    この複数のモデル分析手段でそれぞれ求めた相関係数のうち絶対値が最大となる相関係数を有するソフトウェア信頼度成長モデルを前記実測データに最も適合するモデルとして選択する最適モデル選択手段、
    として機能させることを特徴とするソフトウェア信頼度成長モデル選択プログラム。
  6. 前記回帰式は、連続極限で各ソフトウェア信頼度成長モデルを表す微分方程式とそれぞれ一致する差分方程式のうち、厳密解を持ち、その厳密解の連続極限が対応する前記ソフトウェア信頼度成長モデルの微分方程式の厳密解と一致する差分方程式を用いた前記実測データに基づく回帰分析を行うことによって導出されることを特徴とする請求項5記載のソフトウェア信頼度成長モデル選択プログラム。
  7. 請求項5または6記載のソフトウェア信頼度成長モデル選択プログラムを記録したことを特徴とするプログラム記録媒体。


JP2003293595A 2003-08-14 2003-08-14 ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体 Pending JP2005063208A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003293595A JP2005063208A (ja) 2003-08-14 2003-08-14 ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003293595A JP2005063208A (ja) 2003-08-14 2003-08-14 ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体

Publications (1)

Publication Number Publication Date
JP2005063208A true JP2005063208A (ja) 2005-03-10

Family

ID=34370485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003293595A Pending JP2005063208A (ja) 2003-08-14 2003-08-14 ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP2005063208A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234094A (ja) * 2007-03-19 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> 予測モデル選択方法、予測方法、およびパラメータ推定装置、ならびにそのプログラム
CN103678101A (zh) * 2012-09-10 2014-03-26 中国科学院软件研究所 高速列车网络控制系统的软件可靠性检测方法
CN103761183A (zh) * 2013-12-29 2014-04-30 哈尔滨工业大学 考虑fde和fce的基于isq的软件可靠性增长模型的建立方法
KR101484290B1 (ko) 2013-11-07 2015-01-20 유넷시스템주식회사 통합 로그 분석 시스템
US9015675B2 (en) 2010-04-13 2015-04-21 Nec Corporation System reliability evaluation device
CN105045719A (zh) * 2015-08-24 2015-11-11 中国科学院软件研究所 基于修复缺陷的变更预测回归测试失效的方法及装置
JP2019040265A (ja) * 2017-08-22 2019-03-14 日本電信電話株式会社 予測装置、予測方法及び予測プログラム
WO2019187341A1 (ja) * 2018-03-30 2019-10-03 Necソリューションイノベータ株式会社 指標算出装置、予測システム、経過予測評価方法およびプログラム
CN112612719A (zh) * 2020-12-31 2021-04-06 山西大学 一种加权标准化优化选择软件可靠性模型方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234094A (ja) * 2007-03-19 2008-10-02 Nippon Telegr & Teleph Corp <Ntt> 予測モデル選択方法、予測方法、およびパラメータ推定装置、ならびにそのプログラム
US9015675B2 (en) 2010-04-13 2015-04-21 Nec Corporation System reliability evaluation device
CN103678101A (zh) * 2012-09-10 2014-03-26 中国科学院软件研究所 高速列车网络控制系统的软件可靠性检测方法
KR101484290B1 (ko) 2013-11-07 2015-01-20 유넷시스템주식회사 통합 로그 분석 시스템
CN103761183A (zh) * 2013-12-29 2014-04-30 哈尔滨工业大学 考虑fde和fce的基于isq的软件可靠性增长模型的建立方法
CN105045719B (zh) * 2015-08-24 2018-06-19 中国科学院软件研究所 基于修复缺陷的变更预测回归测试失效的方法及装置
CN105045719A (zh) * 2015-08-24 2015-11-11 中国科学院软件研究所 基于修复缺陷的变更预测回归测试失效的方法及装置
JP2019040265A (ja) * 2017-08-22 2019-03-14 日本電信電話株式会社 予測装置、予測方法及び予測プログラム
WO2019187341A1 (ja) * 2018-03-30 2019-10-03 Necソリューションイノベータ株式会社 指標算出装置、予測システム、経過予測評価方法およびプログラム
JPWO2019187341A1 (ja) * 2018-03-30 2021-02-12 Necソリューションイノベータ株式会社 指標算出装置、予測システム、経過予測評価方法およびプログラム
JP7140410B2 (ja) 2018-03-30 2022-09-21 Necソリューションイノベータ株式会社 予測システム、予測方法および予測プログラム
CN112612719A (zh) * 2020-12-31 2021-04-06 山西大学 一种加权标准化优化选择软件可靠性模型方法
CN112612719B (zh) * 2020-12-31 2023-09-22 山西大学 一种加权标准化优化选择软件可靠性模型方法

Similar Documents

Publication Publication Date Title
JP6978541B2 (ja) 動的外れ値偏り低減のコンピュータ実装方法、コンピュータシステム及びコンピュータ装置
CN109885469B (zh) 一种扩容方法、预测模型创建方法、装置、设备及介质
JP5982489B2 (ja) 動的外れ値偏り低減システム及び方法
US20080178145A1 (en) Method and System for Generating a Predictive Analysis of the Performance of Peer Reviews
US9760073B2 (en) Technique and tool for efficient testing of controllers in development
US20150309964A1 (en) Dynamic outlier bias reduction system and method
CN111639798A (zh) 智能的预测模型选择方法及装置
US20150025872A1 (en) System, method, and apparatus for modeling project reliability
JP2007108843A (ja) 半導体装置設計支援方法、半導体装置設計支援システム、半導体装置設計支援プログラム
CN107992410A (zh) 软件质量监测方法、装置、计算机设备和存储介质
JP4265296B2 (ja) 変化点検出装置,変化点検出方法および変化点検出用プログラム
JP2005063208A (ja) ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択装置、ソフトウェア信頼度成長モデル選択プログラム、およびプログラム記録媒体
JP4498666B2 (ja) 予測装置、予測プログラム、および記録媒体
US20150160274A1 (en) Method and apparatus for power estimation
KR102172120B1 (ko) 비선형 회귀 모형 기반 소프트웨어 고장 시간의 예측 방법 및 컴퓨터 판독 가능 기록 매체
US20080126029A1 (en) Run-Time Characterization of On-Demand Analytical Model Accuracy
Morozoff Using a line of code metric to understand software rework
Sharp Simple metrics for evaluating and conveying prognostic model performance to users with varied backgrounds
US20130030862A1 (en) Trend-based target setting for process control
JP2003186701A (ja) ソフトウェア信頼度成長モデル選択方法、ソフトウェア信頼度成長モデル選択プログラム及び当該モデル選択プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにソフトウェア信頼度成長モデル選択装置
JP3612428B2 (ja) ソフトウェア信頼性予測方法および装置と記録媒体
JP5201068B2 (ja) 危険度判定プログラム、危険度判定装置及び方法
Pham et al. Software reliability modeling
JP2006195542A (ja) モデル同定装置およびモデル同定プログラム
JP2006079298A (ja) 販売量予測システム