JP3612428B2 - Software reliability prediction method and apparatus and recording medium - Google Patents
Software reliability prediction method and apparatus and recording medium Download PDFInfo
- Publication number
- JP3612428B2 JP3612428B2 JP28979998A JP28979998A JP3612428B2 JP 3612428 B2 JP3612428 B2 JP 3612428B2 JP 28979998 A JP28979998 A JP 28979998A JP 28979998 A JP28979998 A JP 28979998A JP 3612428 B2 JP3612428 B2 JP 3612428B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- software reliability
- bug
- equation
- prediction
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ゴンペルツ曲線モデルおよびロジスティック曲線モデルを含むソフトウェア信頼性成長モデルを用いてソフトウェアの信頼性を予測するソフトウェア信頼性予測方法および装置と記録媒体に関する。
【0002】
【従来の技術】
ソフトウェアの完成後の品質を保証するために、一般的にシステムの動作確認試験を行う。動作確認試験において、ソフトウェアの最終段階での品質予測、いわゆる信頼性予測が行われる。この信頼性予測に関して、従来から各種の手法が提案されている。それらのうち、統計的手法として、ゴンペルツ曲線モデルやロジスティック曲線モデルなどが知られていて、ソフトウェアのバグ実績データから、各曲線モデルのパラメータを推定することにより、達成予測値(レベル)、達成期間、予測曲線などを得ている。
【0003】
図2は、こうした統計的手法を用いて実績試験結果データから予測曲線を得る装置の構成概念図で、図3は、それによって得られる予測曲線の例を示した図である。図2において、1は信頼性予測装置、2は入力である試験実績データ、3は予測データを示し、実績データに基づく予測曲線が得られる。
【0004】
まずはじめに、ゴンペルツ曲線モデルとそのパラメータの推定方法について説明する。ゴンペルツ曲線は式(1)の関係式で与えられる曲線である。
【0005】
【数1】
ここで、tは時間(期間)であり、G(t)はtまでに発見される総バグ数、a,bは実績から求められるパラメータである。式(1)から
G(t)→k(t→∞) …(2)
より、kはテスト開始前に潜在するバグ数を表す。また、式(1)は微分方程式
【数2】
の解でもある。このままでは、パラメータa,b,kは求められないので、式(3)の両辺をG(t)で割り、更に対数をとると次式(4)となる。
【0006】
【数3】
とおくと次式(8)が得られる。
【0007】
Y=A+Bt …(8)
現実には、微分値
【数4】
は、求められないので、δをデータ集計期間(発生したバグ数を集計する予め決められた期間)として、
【数5】
とおくと、実際に使用する回帰式は次式(12)となる。
【0008】
Yn =A+Btn …(12)
ここで、Yn として
【数6】
式(12)を回帰式として、回帰分析を行うことにより、A,Bの推定値A^,B^を求める。a,b,kの推定値a^,b^,k^は
【数7】
から得られる。
【0009】
早期のデータによる推定結果は精度が悪いといわれており、少なくとも曲線モデルの変曲点を超えた時点のデータでパラメータ推定を行うことが必要である。三觜武:“ソフトウェアの品質評価法”、日科技連(1981)によれば、ソフトウェアの潜在バグ数の予測値をk〜としてソフトウェアの累積バグ数をy−とすると
【数8】
となれば、その時点までのデータでパラメータ推定を行うとしている。wは経験的にw=0.6〜0.8としている。また、k〜は経験的または統計的に予測する。
【0010】
次に、ロジスティック曲線モデルについて説明する。ロジスティック曲線モデルは式(18)の関係式で与えられる曲線である。
【0011】
【数9】
ゴンペルツ曲線モデルと同様にtは時間(期間)であり、L(t)はtまでに発見される総バグ数、m,αは実績から求められるパラメータである。式(18)より
L(t)→k(t→∞) …(19)
となるからゴンペルツ曲線と同様にkはテスト開始前に潜在するバグ数を表す。式(18)は微分方程式
【数10】
の解でもある。パラメータk,α,mを求めるために式(20)を次のように書き直す。
【0012】
【数11】
とおくと
Y=A+BX …(26)
が得られる。現実には、微分値
【数12】
は、求められないので、δをデータ集計期間(発生したバグ数を集計する予め決められた期間)として、
【数13】
とおくと、実際に使用する回帰式は次式(30)となる。
【0013】
Yn =A+BLn …(30)
ここで、Yn として
【数14】
を利用することもある。
【0014】
式(30)を回帰式として、回帰分析を行うことにより、A,Bの推定値A^,B^を求める。m,k,αの推定値m^,k^,α^は
【数15】
から得られる。
【0015】
ゴンペルツ曲線と同様に、早期のデータによる推定結果は精度が悪いといわれており、少なくとも曲線モデルの変曲点を超えた時点のデータでパラメータ推定を行うことが必要である。どの時点までのデータでパラメータ推定を行うべきかについてはゴンペルツ曲線と同様である。
【0016】
【発明が解決しようとする課題】
前記ソフトウェア信頼性モデルにおけるパラメータ推定方法では、試験早期での推定精度は低く、ある程度の精度を要求するには、変曲点を超えた時点までのデータが必要となる。後述するように、従来手法では実データが各曲線モデルに完全に一致していたとしても、試験開始間もないとき、すなわち潜在バグ件数に対して、発見されたバグ件数の割合が小さい時には正確なパラメータ推定ができず、そのため信頼性分析の結果の精度はかなり低いものとなっている。どの時点までのデータを利用してパラメータ推定を行うかの判定基準に、式(17)があるが、式(17)内のk〜の精度そのものが低く、経験に頼った判定基準になっている。また、従来技術では、実データとモデルによる分析が一致しなかった場合には、パラメータ推定の精度が低いため、その原因はモデルの不適切によるものなのか、パラメータの推定精度によるものなのかがはっきりしなかった。
【0017】
本発明は、上記に鑑みてなされたもので、その目的とするところは、バグ発見件数が少ない段階や試験開始間もない時点からソフトウェア信頼性成長モデルのパラメータを正確に推定し、ソフトウェアの信頼性を適確に予測し得るソフトウェア信頼性予測方法および装置を提供することにある。
【0018】
【課題を解決するための手段】
上記目的を達成するため、第1の本発明は、ゴンペルツ曲線モデル又はロジスティック曲線モデルによるソフトウェア信頼性成長モデルを用いてソフトウェアの信頼性を予測するソフトウェア信頼性予測方法であって、入力手段によりソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力して記憶手段に記憶させ、回帰分析手段により前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、予測手段によりこの推定された値のパラメータをもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測することことを要旨とする。
【0019】
本発明にあっては、厳密解を持ち、差分間隔0の極限でソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用い、ソフトウェアのテスト時のバグ発生日時および件数の入力データからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、このソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測するため、バグ発見件数が少ない段階やテスト開始間もない時点でもパラメータを正確に推定でき、ソフトウェアの信頼性を適確に予測することができる。
【0020】
また、第2の本発明は、ゴンペルツ曲線モデル又はロジスティック曲線モデルによるソフトウェア信頼性成長モデルを用いてソフトウェアの信頼性を予測するソフトウェア信頼性予測装置であって、ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力する入力手段と、前記入力手段により入力されたバグ発生日時およびバグ発生件数を記憶する記憶手段と、前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定する回帰分析手段と、パラメータが該回帰分析手段によって推定された値をもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測する予測手段とを有することを要旨とする。
本発明にあっては、厳密解を持ち、差分間隔0の極限でソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用い、ソフトウェアのテスト時のバグ発生日時および件数の入力データからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、このソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測するため、バグ発見件数が少ない段階やテスト開始間もない時点でもパラメータを正確に推定でき、ソフトウェアの信頼性を適確に予測することができる。
【0021】
さらに第3の本発明は、ゴンペルツ曲線モデル又はロジスティック曲線モデルによるソフトウェア信頼性成長モデルを用いてソフトウェアの信頼性を予測するソフトウェア信頼性予測プログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに対し、ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を記憶手段に記憶させる処理と、前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定する処理と、この推定された値のパラメータをもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測する処理と、を実行させることを要旨とする。
本発明にあっては、ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用い、前記入力されたソフトウェアのテスト時の前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、この推定された値のパラメータをもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測するプログラムを記録媒体として記録しているため、該記録媒体を利用して、そのソフトウェア信頼性予測プログラムの流通性を高めることができる。
【0022】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態について説明する。図1は、本発明の一実施形態に係るソフトウェア信頼性予測装置の構成を示すブロック図である。同図に示すソフトウェア信頼性予測装置は、ソフトウェア信頼性成長モデルのパラメータを推定するために回帰分析に厳密解を持ち、差分間隔0の極限でソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いることを特徴とするものであり、ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力装置4から入力し、この入力されたバグ発生日時および件数を記憶装置5に記憶するとともに、バグ件数集計部6で集計し、回帰分析部7に入力している。
【0023】
回帰分析部7は、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用い、バグ件数集計部6からのバグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、表示出力部8に出力するようになっている。なお、回帰分析部7でソフトウェア信頼性成長モデルのパラメータを推定すると、このソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測することになる。
【0024】
ところで、従来手法では、既に示したようにパラメータ推定を行うための回帰分析の際、微分方程式で表されるソフトウェア信頼性成長モデルを差分方程式に書き直して回帰分析を行う。差分方程式は、あくまで微分方程式の近似でしかない。通常用いる差分方程式は前進差分であり、これは元の微分方程式を差分間隔の何乗のオーダで近似するかに主眼が置かれている。そのため解の形状、ここでは時間を無限大にしたときにバグの数が一定値に収束するという性質などは一般的に保たれない。しかし、本発明で使用する差分方程式では、厳密解を持ち、その解は差分間隔0の極限で微分方程式の解と一致するため、上記のような性質を保存することができる。これにより、従来手法よりも精度の高いパラメータ推定が可能となる。
【0025】
次に、ソフトウェア信頼性成長モデルとしてゴンペルツ曲線モデルを用いた場合について説明する。なお、ゴンペルツ曲線モデルには別の解法もあるので、ここで説明するゴンペルツ曲線モデルをゴンペルツ曲線モデル1として説明する。また、従来技術は、微分方程式を差分方程式に書き直し、回帰式を得て、その回帰式から求めたパラメータの推定値を得ているが、本発明では、微分方程式を従来技術とは異なった差分方程式に書き直している。
【0026】
まず、ゴンペルツ曲線モデル1について説明する。まず、ゴンペルツ曲線モデルの満たす微分方程式を再度次式に示す。
【0027】
【数16】
式(37)はδ→0で式(1)に一致する。更に
|1+δlog b|<1 …(38)
の条件の下で、
Gn →k(tn →∞) …(39)
となり、式(1)が持っている性質を保存していることがわかる。
【0028】
パラメータk,a,bを求めるために式(36)の両辺に対数を2回とる。
【0029】
【数17】
とおくと回帰式
Yn =A+Bn …(46)
が得られる。式(46)を使った回帰分析によって得られるA,Bの推定値をA^,B^とするとa,b,kの推定値をa^,b^,k^は次のように求められる。
【0030】
【数18】
また、別の解法として、ゴンペルツ曲線モデルは、次式の微分方程式の解として表現することもできる。この場合のゴンペルツ曲線モデルをゴンペルツ曲線モデル2と称することにする。
【0031】
【数19】
となり、式(37)と同じである。
【0032】
パラメータk,a,bを求めるために式(51)の両辺をGn で割り、更に両辺に対数を取り、δ=1とおくと
【数20】
log Gn+1 −log Gn−1 =−(log b)(log k)+(log b)log Gn …(53)
ここで、
Yn =log Gn+1 −log Gn …(54)
A=−(log b)(log k) …(55)
B=log b …(56)
とおくと回帰式
Yn =A+Blog Gn …(57)
が得られる。式(57)を使った回帰分析によって得られるA,Bの推定値をA^,B^とするとa,b,kの推定値a^,b^,k^は次のように求められる。
【0033】
【数21】
次に、ロジスティック曲線モデルについて説明する。再度、ロジスティック曲線が満たす微分方程式を次式に示す。
【0034】
【数22】
式(63)はδ→0で式(18)に一致する。更に
|1−δα|<1 …(64)
の条件の下で、
Ln →k(tn →∞) …(65)
となり、式(18)が持っている性質を保存していることがわかる。
【0035】
パラメータk,α,mを求めるために、tn =nδ,δ=1とおいて式(62)を次のように書き替える。
【0036】
Yn =A+BLn …(66)
ここで、
【数23】
式(66)を回帰式として回帰分析を行うことによりA,Bの推定値A^,B^を求める。m,k,αの推定値m^,k^,α^は次のように求められる。
【0037】
【数24】
次に、データがゴンペルツ曲線モデル、ロジスティック曲線モデルに完全に一致しているときの従来手法との精度比較を行う。
【0038】
まず、ゴンペルツ曲線モデル1の場合について説明する。この場合には、k=100,a=0.01,b=0.5として、式(1)から得られるGn の値で、潜在バグ数までのデータ(t=0,1,2,…,25までのデータ)を利用することとする。回帰式は、従来手法が式(12)、本発明手法が式(46)を利用している。この場合において、すべてのデータを利用した時には、次の表1のようになる。
【0039】
【表1】
また、変曲点前までのデータ(t=0,1,2)を利用した場合には、次の表2のようになる。
【0040】
【表2】
ここで、b^における括弧内の値は、1+log b^の値である。データとして、潜在バグ数までのすべてのデータを用いた場合には、従来手法でも十分な精度を持つが、変曲点前までのデータでは、従来手法の精度は低い。それに対し、本発明手法では、高精度で推定されていることがわかる。1+log bを時間連続のときのbに対応するものとみなせば、bについても本発明手法は高精度で推定していることがわかる。
【0041】
次に、ゴンペルツ曲線モデル2の場合について説明する。この場合に使用したデータはゴンペルツ曲線モデル1と同じである。回帰式は、従来手法が式(12)、本発明手法が式(57)を利用している。まず、すべてのデータを利用した時には、次の表3のようになる。
【0042】
【表3】
また、変曲点前までのデータ(t=0,1,2)を利用した場合には、次の表4のようになる。
【0043】
【表4】
ここで、b^における括弧内の値は、1+log b^の値である。データとして、潜在バグ数までのすべてのデータを用いた場合には、従来手法でも十分な精度を持つが、変曲点前までのデータでは、従来手法の精度は低い。それに対し、本発明手法では、高精度で推定されていることがわかる。1+log bを時間連続のときのbに対応するものとみなせば、bについても本発明手法は高精度で推定していることがわかる。
【0044】
次に、ロジスティック曲線モデルの場合について説明する。この場合、k=100,m=99,α=4として、式(18)から得られるLn の値を入力データとする。ここで、潜在バグ数までのデータ(t=0,0.2,0.4,…,3までのデータ)を利用することとする。回帰式は、従来手法が式(30)、本発明手法が式(66)を利用している。この場合において、すべてのデータを利用した時には、次の表5のようになる。
【0045】
【表5】
また、変曲点前までのデータ(t=0,0.2,…,0.8)を利用した時には、次の表6のようになる。
【0046】
【表6】
データとして、潜在バグ数までのすべてのデータを用いた場合には、従来手法でも十分な精度を持つが、変曲点前までのデータでは、従来手法の精度は低い。それに対し、本発明手法では、潜在バグ件数の推定に関して高精度であることがわかる。
上述してきたようなソフトウェア信頼性成長モデルを用いたソフトウェアの信頼性の予測はソフトウェア信頼性予測プログラムにより実施され、該プログラムは記録媒体に記録して提供されるため、該記録媒体を利用して、そのソフトウェア信頼性予測プログラムの流通性を高めることができる。
【0047】
【発明の効果】
以上説明したように、本発明によれば、差分間隔0の極限でソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用い、ソフトウェアのテスト時のバグ発生日時および件数の入力データからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、このソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測するので、バグ発見件数が少ない段階やテスト開始間もない時点でもパラメータを正確に推定でき、信頼性分析の結果の精度を向上させることができるとともに、予測結果と実績値とが不一致の場合にも予測モデルの不適切によるものかパラメータ推定精度によるものであるかの切り分けを適確に行うことが可能である。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るソフトウェア信頼性予測装置の構成を示すブロック図である。
【図2】ソフトウェア信頼性予測装置の概念図である。
【図3】信頼性予測曲線および実累積バグデータ曲線を示すグラフである。
【符号の説明】
4 入力装置
5 記憶装置
6 バグ件数集計部
7 回帰分析部
8 表示出力部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a software reliability prediction method and apparatus for predicting software reliability using a software reliability growth model including a Gompertz curve model and a logistic curve model, and a recording medium.
[0002]
[Prior art]
In order to guarantee the quality after completion of the software, a system operation check test is generally performed. In the operation confirmation test, quality prediction at the final stage of software, so-called reliability prediction is performed. Various methods have been proposed for the reliability prediction. Among them, Gompertz curve model, logistic curve model, etc. are known as statistical methods. By estimating the parameters of each curve model from the software bug record data, the achievement predicted value (level), the achievement period , Getting prediction curves and more.
[0003]
FIG. 2 is a conceptual diagram of a configuration of a device that obtains a prediction curve from performance test result data using such a statistical method, and FIG. 3 is a diagram showing an example of a prediction curve obtained thereby. In FIG. 2, 1 is a reliability predicting device, 2 is test result data as input, 3 is prediction data, and a prediction curve based on the result data is obtained.
[0004]
First, the Gompertz curve model and its parameter estimation method will be described. The Gompertz curve is a curve given by the relational expression (1).
[0005]
[Expression 1]
Here, t is time (period), G (t) is the total number of bugs discovered by t, and a and b are parameters obtained from actual results. From equation (1), G (t) → k (t → ∞) (2)
Therefore, k represents the number of bugs that exist before the test starts. Equation (1) is a differential equation
It is also a solution. Since the parameters a, b, and k cannot be obtained as they are, the following equation (4) is obtained by dividing both sides of the equation (3) by G (t) and further taking the logarithm.
[0006]
[Equation 3]
Then, the following equation (8) is obtained.
[0007]
Y = A + Bt (8)
In reality, the differential value [Expression 4]
Since δ is not required, δ is defined as a data aggregation period (a predetermined period for counting the number of bugs that occurred)
[Equation 5]
Then, the regression equation actually used is the following equation (12).
[0008]
Y n = A + Bt n (12)
Here, Y n is expressed as follows.
By performing regression analysis using equation (12) as a regression equation, estimated values A ^ and B ^ of A and B are obtained. Estimated values a ^, b ^, k ^ of a, b, k are
Obtained from.
[0009]
The estimation result based on the early data is said to be inaccurate, and it is necessary to perform parameter estimation with data at the time when the inflection point of the curve model is exceeded. Takeshi Mine: According to “Quality Evaluation Method for Software”, Nikka Engineering (1981), if the estimated number of potential bugs in software is k and the cumulative number of bugs in software is y −
Then, parameter estimation is performed using data up to that point. w is empirically determined as w = 0.6 to 0.8. In addition, k ~ to predict empirically or statistically.
[0010]
Next, the logistic curve model will be described. The logistic curve model is a curve given by the relational expression (18).
[0011]
[Equation 9]
Similar to the Gompertz curve model, t is time (period), L (t) is the total number of bugs discovered by t, and m and α are parameters obtained from actual results. From equation (18), L (t) → k (t → ∞) (19)
Therefore, like the Gompertz curve, k represents the number of potential bugs before the test starts. Equation (18) is the differential equation
It is also a solution. In order to obtain the parameters k, α, m, equation (20) is rewritten as follows.
[0012]
[Expression 11]
In other words, Y = A + BX (26)
Is obtained. In reality, the differential value
Since δ is not required, δ is defined as a data aggregation period (a predetermined period for counting the number of bugs that occurred)
[Formula 13]
Then, the regression equation actually used is the following equation (30).
[0013]
Y n = A + BL n (30)
Here, as Y n ,
May be used.
[0014]
By performing regression analysis using equation (30) as a regression equation, estimated values A ^ and B ^ of A and B are obtained. Estimated values m ^, k ^, α ^ of m, k, α are
Obtained from.
[0015]
Like the Gompertz curve, it is said that the estimation result based on the early data is inaccurate, and it is necessary to perform parameter estimation at least when the curve model exceeds the inflection point. It is the same as that of the Gompertz curve about which time point should be used for parameter estimation.
[0016]
[Problems to be solved by the invention]
In the parameter estimation method in the software reliability model, the estimation accuracy in the early stage of the test is low, and data up to the time point beyond the inflection point is required to request a certain level of accuracy. As will be described later, in the conventional method, even if the actual data completely matches each curve model, it is accurate when the test is not yet started, that is, when the ratio of the number of detected bugs to the number of potential bugs is small. Parameter estimation is not possible, and the accuracy of the reliability analysis results is very low. There is equation (17) as a criterion for parameter estimation using up to which point of time, but the accuracy of k˜ in equation (17) itself is low, and this is a criterion that depends on experience. Yes. Also, in the prior art, when the actual data and the analysis by the model do not match, the accuracy of parameter estimation is low, so whether the cause is due to inadequate model or the accuracy of parameter estimation It was not clear.
[0017]
The present invention has been made in view of the above, and the object of the present invention is to accurately estimate the parameters of the software reliability growth model from the stage where the number of bugs detected is small or just before the start of the test. It is an object of the present invention to provide a software reliability prediction method and apparatus capable of accurately predicting gender.
[0018]
[Means for Solving the Problems]
To achieve the above object, a first aspect of the present invention is a software reliable method for predicting the software reliability using software reliability growth model by Gompertz curve model or a logistic curve model, the software by the input means The bug occurrence date and time and the number of bug occurrences that occurred in the software during the test are input and stored in the storage means, the data of the bug occurrence date and time and the number of bug occurrences are read from the storage means by the regression analysis means, and the exact solution is obtained have the software reliability growth models and equations in the limit differential interval 0, using a difference equation that matches the exact solution both the parameters of the software reliability growth model from the bug occurrence date and the number of data estimated by regression analysis , parameters of the estimated values by the prediction means Using software reliability growth model with, estimating a prediction curve bug occurs cumulative number, it is summarized in that to predict the reliability of the software from the prediction curve.
[0019]
In the present invention , the difference between the software reliability growth model and the equation, and the exact equation, which has an exact solution and is in the limit of the difference interval 0, is used. In order to estimate software reliability growth model parameters by regression analysis, use this software reliability growth model to estimate the prediction curve of the cumulative number of bug occurrences, and to predict software reliability from this prediction curve, find bugs Parameters can be accurately estimated even when the number of cases is small or when the test has just started, and the reliability of the software can be accurately predicted.
[0020]
The second aspect of the present invention is a software reliability prediction apparatus that predicts software reliability using a software reliability growth model based on a Gompertz curve model or a logistic curve model, and a bug occurs in the software during software testing. Input means for inputting the bug occurrence date and time and the number of bug occurrences, storage means for storing the bug occurrence date and time and the number of bug occurrences inputted by the input means, and data of the bug occurrence date and time and the number of bug occurrences from the storage means reading, have an exact solution, the software reliability growth models and equations in the limit differential interval 0, using a difference equation that matches the exact solution both parameters of the bug occurrence date and number software reliability growth model from the data in A regression analysis means for estimating the A meter has a prediction means for estimating a prediction curve of the cumulative number of bug occurrences using a software reliability growth model having a value estimated by the regression analysis means, and predicting software reliability from the prediction curve. Is the gist.
In the present invention , the difference between the software reliability growth model and the equation, and the exact equation, which has an exact solution and is in the limit of the difference interval 0, is used. In order to estimate software reliability growth model parameters by regression analysis, use this software reliability growth model to estimate the prediction curve of the cumulative number of bug occurrences, and to predict software reliability from this prediction curve, find bugs Parameters can be accurately estimated even when the number of cases is small or when the test has just started, and the reliability of the software can be accurately predicted.
[0021]
A third of the present invention is a computer readable recording medium which records software reliability prediction program for predicting software reliability using software reliability growth model by Gompertz curve model or a logistic curve model, the computer On the other hand, the storage means stores the bug occurrence date and time and the number of bug occurrences when a software bug occurred during software testing , and reads the data of the bug occurrence date and the number of bug occurrences from the storage means and has an exact solution. The process of estimating the parameters of the software reliability growth model by regression analysis from the data of the bug occurrence date and the number of cases , using the difference equation that matches the software reliability growth model and the equation and the exact solution at the limit of the difference interval 0 and, it is this estimate Using software reliability growth model with parameters values to estimate the prediction curve bug occurs cumulative number, it is a process of predicting the reliability of software from the predicted curve, summarized in that for the execution.
In the present invention , a bug occurrence date and time and the number of occurrences of bugs in the software during software testing are input, and there is an exact solution, and the software reliability growth model and equations, exact solution at the limit of zero difference interval Software having a parameter of the estimated value is estimated by regression analysis using a difference equation that coincides with each other, estimating the parameters of the software reliability growth model from the data of the bug occurrence date and the number of cases at the time of the input software test, and the number of cases. Using a reliability growth model, a prediction curve for the cumulative number of bug occurrences is estimated, and a program for predicting software reliability from this prediction curve is recorded as a recording medium. Distribution of software reliability prediction program can be improved.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a software reliability prediction apparatus according to an embodiment of the present invention. The software reliability prediction apparatus shown in the figure has an exact solution for regression analysis in order to estimate the parameters of the software reliability growth model, and the software reliability growth model agrees with the equation and the exact solution at the limit of zero difference interval. A difference equation is used, and a bug occurrence date and time and the number of bug occurrences when a software bug occurred during software testing are input from the input device 4, and the input bug occurrence date and number and the number of cases are stored in a storage device. 5, the number of bugs is counted by the
[0023]
The regression analysis unit 7 has an exact solution, and uses the difference equation that matches the software reliability growth model and the equation and the exact solution at the limit of the difference interval 0. Thus, the parameters of the software reliability growth model are estimated by regression analysis and output to the
[0024]
By the way, in the conventional method, as described above, when performing regression analysis for parameter estimation, the software reliability growth model represented by the differential equation is rewritten to the differential equation and the regression analysis is performed. The difference equation is only an approximation of the differential equation. The difference equation that is usually used is a forward difference, which focuses on the order of the power of the difference interval to approximate the original differential equation. For this reason, the shape of the solution, here the property that the number of bugs converges to a constant value when the time is infinite, is not generally maintained. However, the difference equation used in the present invention has an exact solution, and the solution coincides with the solution of the differential equation at the limit of the difference interval 0. Therefore, the above properties can be preserved. This makes it possible to estimate parameters with higher accuracy than the conventional method.
[0025]
Next, the case where the Gompertz curve model is used as the software reliability growth model will be described. Since there are other solutions for the Gompertz curve model, the Gompertz curve model described here will be described as the Gompertz curve model 1. In the prior art, the differential equation is rewritten as a difference equation, the regression equation is obtained, and an estimated value of the parameter obtained from the regression equation is obtained. In the present invention, the differential equation is differentiated from the differential equation. The equation has been rewritten.
[0026]
First, the Gompertz curve model 1 will be described. First, the differential equation satisfied by the Gompertz curve model is shown again in the following equation.
[0027]
[Expression 16]
Equation (37) is equal to Equation (1) since δ → 0. Further, | 1 + δlog b | <1 (38)
Under the conditions of
G n → k (t n → ∞) (39)
Thus, it can be seen that the property of the formula (1) is preserved.
[0028]
In order to obtain the parameters k, a, and b, logarithms are taken twice on both sides of the equation (36).
[0029]
[Expression 17]
In other words, regression equation Y n = A + Bn (46)
Is obtained. If the estimated values of A and B obtained by regression analysis using equation (46) are A ^ and B ^, the estimated values of a, b, and k are obtained as follows. .
[0030]
[Expression 18]
As another solution, the Gompertz curve model can be expressed as a solution of a differential equation of the following equation. The Gompertz curve model in this case is referred to as
[0031]
[Equation 19]
And is the same as equation (37).
[0032]
To obtain parameters k, a, and b, divide both sides of Equation (51) by G n , further logarithmize both sides, and set δ = 1.
log G n + 1 −log G n−1 = − (log b) (log k) + (log b) log G n (53)
here,
Y n = log G n + 1 -log G n ... (54)
A =-(log b) (log k) (55)
B = log b (56)
In other words, regression equation Y n = A + Blog G n (57)
Is obtained. If the estimated values of A and B obtained by regression analysis using Expression (57) are A ^ and B ^, the estimated values a ^, b ^, k ^ of a, b, and k are obtained as follows.
[0033]
[Expression 21]
Next, the logistic curve model will be described. Again, the differential equation that the logistic curve satisfies is shown in the following equation.
[0034]
[Expression 22]
Equation (63) matches δ → 0 and Equation (18). Further, | 1-δα | <1 (64)
Under the conditions of
L n → k (t n → ∞) (65)
Thus, it can be seen that the property of equation (18) is preserved.
[0035]
In order to obtain the parameters k, α, and m, Equation (62) is rewritten as follows with t n = nδ and δ = 1.
[0036]
Y n = A + BL n (66)
here,
[Expression 23]
The estimated values A ^ and B ^ of A and B are obtained by performing regression analysis using the equation (66) as a regression equation. Estimated values m ^, k ^, α ^ of m, k, α are obtained as follows.
[0037]
[Expression 24]
Next, the accuracy is compared with the conventional method when the data completely matches the Gompertz curve model and the logistic curve model.
[0038]
First, the case of the Gompertz curve model 1 will be described. In this case, k = 100, a = 0.01 , a b = 0.5, the value of G n from Equation (1), data up potential bug number (t = 0, 1, 2, ..., data up to 25). As for the regression equation, the conventional method uses equation (12), and the method of the present invention uses equation (46). In this case, when all the data is used, the following table 1 is obtained.
[0039]
[Table 1]
Further, when the data before the inflection point (t = 0, 1, 2) is used, the following Table 2 is obtained.
[0040]
[Table 2]
Here, the value in parentheses for b ^ is the value of 1 + log b ^. When all data up to the number of potential bugs is used as data, the conventional method has sufficient accuracy, but the data up to the inflection point has low accuracy. On the other hand, it can be seen that the method of the present invention is estimated with high accuracy. If 1 + log b is regarded as corresponding to b in time continuity, it can be seen that the method of the present invention also estimates b with high accuracy.
[0041]
Next, the case of the
[0042]
[Table 3]
Further, when the data before the inflection point (t = 0, 1, 2) is used, the following Table 4 is obtained.
[0043]
[Table 4]
Here, the value in parentheses for b ^ is the value of 1 + log b ^. When all data up to the number of potential bugs is used as data, the conventional method has sufficient accuracy, but the data up to the inflection point has low accuracy. On the other hand, it can be seen that the method of the present invention is estimated with high accuracy. If 1 + log b is regarded as corresponding to b in time continuity, it can be seen that the method of the present invention also estimates b with high accuracy.
[0044]
Next, the case of a logistic curve model will be described. In this case, k = 100, m = 99, α = 4, and the value of L n obtained from Equation (18) is used as input data. Here, data up to the number of latent bugs (data up to t = 0, 0.2, 0.4,..., 3) is used. As for the regression equation, the conventional method uses equation (30), and the method of the present invention uses equation (66). In this case, when all the data is used, the following Table 5 is obtained.
[0045]
[Table 5]
Further, when the data up to the inflection point (t = 0, 0.2,..., 0.8) is used, the following Table 6 is obtained.
[0046]
[Table 6]
When all data up to the number of potential bugs is used as data, the conventional method has sufficient accuracy, but the data up to the inflection point has low accuracy. On the other hand, it can be seen that the method of the present invention is highly accurate in estimating the number of potential bugs.
Prediction of software reliability using the software reliability growth model as described above is performed by a software reliability prediction program, and the program is recorded and provided on a recording medium. Therefore, it is possible to improve the distribution of the software reliability prediction program.
[0047]
【The invention's effect】
As described above, according to the present invention, the difference between the software reliability growth model and the equation, and the exact equation that matches the exact solution at the limit of zero difference interval are used, and the input date and time and the number of occurrences of bugs during software testing are used. Since the software reliability growth model parameters are estimated by regression analysis, the software reliability growth model is used to estimate the prediction curve of the cumulative number of bug occurrences, and the software reliability is predicted from this prediction curve. Parameters can be accurately estimated even when the number of cases is low or when the test has just started, and the accuracy of the reliability analysis results can be improved. It is possible to accurately determine whether it is based on appropriateness or parameter estimation accuracy.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a software reliability prediction apparatus according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram of a software reliability prediction apparatus.
FIG. 3 is a graph showing a reliability prediction curve and an actual cumulative bug data curve.
[Explanation of symbols]
4
Claims (3)
入力手段によりソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力して記憶手段に記憶させ、
回帰分析手段により前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定し、
予測手段によりこの推定された値のパラメータをもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測すること
を特徴とするソフトウェア信頼性予測方法。A software reliability prediction method for predicting software reliability using a software reliability growth model based on a Gompertz curve model or a logistic curve model,
Enter the bug occurrence date and time and the number of bug occurrences when software bugs occurred during software testing using the input means, and store them in the storage means .
The regression analysis means reads out the data of the bug occurrence date and time and the number of bug occurrences from the storage means , uses a difference equation having an exact solution and matching the software reliability growth model with the equation and the exact solution at the limit of the difference interval 0 Te, the parameters of the software reliability growth model from the bug occurrence date and the number of data estimated by the regression analysis,
A software reliability characterized in that a prediction curve of the cumulative number of bug occurrences is estimated using a software reliability growth model having the parameter of the estimated value by a prediction means, and the reliability of the software is predicted from the prediction curve. Sex prediction method.
ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を入力する入力手段と、
前記入力手段により入力されたバグ発生日時およびバグ発生件数を記憶する記憶手段と、
前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定する回帰分析手段と、
パラメータが該回帰分析手段によって推定された値をもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測する予測手段と
を有することを特徴とするソフトウェア信頼性予測装置。A software reliability prediction device that predicts software reliability using a software reliability growth model based on a Gompertz curve model or a logistic curve model,
An input means for inputting the date and time when a bug occurred in the software during software testing, and the number of bug occurrences,
Storage means for storing a bug occurrence date and time and the number of bug occurrences input by the input means;
Read the data of the bug occurrence date and time and the number of bug occurrences from the storage means, and use the difference equation which has an exact solution and matches the software reliability growth model and the equation and the exact solution at the limit of zero difference interval. A regression analysis means for estimating the parameters of the software reliability growth model from the data of occurrence date and number of cases by regression analysis;
Using a software reliability growth model whose parameter has a value estimated by the regression analysis means, estimating a prediction curve of the cumulative number of bug occurrences, and having a prediction means for predicting software reliability from the prediction curve Software reliability prediction device characterized by
コンピュータに対し、
ソフトウェアのテスト時にソフトウェアにバグが発生したバグ発生日時およびバグ発生件数を記憶手段に記憶させる処理と、
前記記憶手段から前記バグ発生日時およびバグ発生件数のデータを読み出し、厳密解を持ち、差分間隔0の極限で前記ソフトウェア信頼性成長モデルと方程式、厳密解ともに一致する差分方程式を用いて、前記バグ発生日時および件数のデータからソフトウェア信頼性成長モデルのパラメータを回帰分析により推定する処理と、
この推定された値のパラメータをもつソフトウェア信頼性成長モデルを用いて、バグ発生累積件数の予測曲線を推定し、この予測曲線からソフトウェアの信頼性を予測する処理と、
を実行させることを特徴とするソフトウェア信頼性予測プログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium recording a software reliability prediction program for predicting software reliability using a software reliability growth model based on a Gompertz curve model or a logistic curve model,
Against the computer
A process for storing in the storage means the bug occurrence date and time and the number of bug occurrences when a software bug occurred during software testing;
Read the data of the bug occurrence date and time and the number of bug occurrences from the storage means, and use the difference equation which has an exact solution and matches the software reliability growth model and the equation and the exact solution at the limit of zero difference interval. A process of estimating the parameters of the software reliability growth model from the data of occurrence date and number of cases by regression analysis,
Using the software reliability growth model having the parameter of the estimated value, estimating a prediction curve of the cumulative number of bug occurrences, and predicting the software reliability from the prediction curve ,
A computer-readable recording medium which records software reliability prediction program for causing the execution.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28979998A JP3612428B2 (en) | 1998-10-12 | 1998-10-12 | Software reliability prediction method and apparatus and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28979998A JP3612428B2 (en) | 1998-10-12 | 1998-10-12 | Software reliability prediction method and apparatus and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000122860A JP2000122860A (en) | 2000-04-28 |
JP3612428B2 true JP3612428B2 (en) | 2005-01-19 |
Family
ID=17747924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28979998A Expired - Fee Related JP3612428B2 (en) | 1998-10-12 | 1998-10-12 | Software reliability prediction method and apparatus and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3612428B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4770763B2 (en) * | 2007-03-19 | 2011-09-14 | 日本電信電話株式会社 | Prediction model selection device and method, prediction device, estimated value prediction method, and program |
JP2010113527A (en) * | 2008-11-06 | 2010-05-20 | Hitachi Systems & Services Ltd | Bug extraction prediction system |
JP6761788B2 (en) * | 2017-08-22 | 2020-09-30 | 日本電信電話株式会社 | Predictor, prediction method and prediction program |
CN109597760B (en) * | 2018-11-29 | 2022-04-12 | 中国银行股份有限公司 | Deployment method and device for abnormal scene of test |
-
1998
- 1998-10-12 JP JP28979998A patent/JP3612428B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000122860A (en) | 2000-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636446B (en) | User loss prediction method and device and electronic equipment | |
KR20180041174A (en) | Risk Assessment Methods and Systems | |
US20150025872A1 (en) | System, method, and apparatus for modeling project reliability | |
JP2019527434A (en) | Modeling method and apparatus for evaluation model | |
WO2019075599A1 (en) | Data filling method and device | |
CN110633194A (en) | A performance evaluation method of hardware resources in a specific environment | |
CN117331846B (en) | Internet-based software development, operation, test and management system | |
CN116663978A (en) | Quality assessment method and system for audit data | |
JP3612428B2 (en) | Software reliability prediction method and apparatus and recording medium | |
JP4498666B2 (en) | Prediction device, prediction program, and recording medium | |
CN118518813A (en) | Clothing flame retardant property detection method and system and electronic equipment | |
CN115618575A (en) | Method and device for judging consistency of failure mechanism of nonlinear accelerated degradation test | |
CN103713990A (en) | Method and device for predicting defaults of software | |
US9188968B2 (en) | Run-time characterization of on-demand analytical model accuracy | |
JP2005063208A (en) | Software reliability growth model selection method, software reliability growth model selection apparatus, software reliability growth model selection program and program recording medium | |
CN104035866A (en) | Software behavior evaluation method and device based on system calling and analysis | |
CN111382909A (en) | Rejection inference method based on survival analysis model expansion bad sample and related equipment | |
CN114254516A (en) | Parameter probability uncertainty modeling method under deleted data | |
JP2006072670A (en) | Method for predicting reliability of software, recording medium with its program recorded and device | |
JP2003140929A (en) | Method and program for predicting software reliability, computer readable recording medium recording the program, and device for predicting software reliability | |
JP2003186701A (en) | Software reliability growth model selection method, software reliability growth model selection program and computer readable recording medium to record model selection program, and software therefor | |
CN112348584A (en) | Vehicle estimation method, device and equipment | |
JP2004354119A (en) | Apparatus and method for evaluating damage probability of structure | |
JP6190335B2 (en) | Software quality standard calculation apparatus and software quality standard calculation method | |
US20230056212A1 (en) | Automated Estimation of Network Security Policy Risk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041025 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071029 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091029 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101029 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |