JP5749214B2 - Bug density index value calculation device and bug density index value calculation method - Google Patents

Bug density index value calculation device and bug density index value calculation method Download PDF

Info

Publication number
JP5749214B2
JP5749214B2 JP2012097297A JP2012097297A JP5749214B2 JP 5749214 B2 JP5749214 B2 JP 5749214B2 JP 2012097297 A JP2012097297 A JP 2012097297A JP 2012097297 A JP2012097297 A JP 2012097297A JP 5749214 B2 JP5749214 B2 JP 5749214B2
Authority
JP
Japan
Prior art keywords
value
bug
bug density
software
version
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
Application number
JP2012097297A
Other languages
Japanese (ja)
Other versions
JP2013225227A (en
Inventor
敏弘 渡
敏弘 渡
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 JP2012097297A priority Critical patent/JP5749214B2/en
Publication of JP2013225227A publication Critical patent/JP2013225227A/en
Application granted granted Critical
Publication of JP5749214B2 publication Critical patent/JP5749214B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、機能拡充を重ねているソフトウェアのバグ密度指標を算出する技術に関する。   The present invention relates to a technique for calculating a bug density index of software whose functions have been expanded.

ソフトウェア開発時の品質管理を定量的に行うために、開発規模、試験項目数、バグ検出数、試験開始からバグ検出までの時間(試験項目消化数)等を計測し、その実績値がある一定の目標値(指標値)に達することを以って、そのソフトウェアの品質の担保を判断することは従来から広く行われている。   In order to quantitatively perform quality control during software development, the development scale, number of test items, number of bugs detected, time from test start to bug detection (number of test items used), etc. are measured, and the actual values are constant. It has been widely practiced to determine the security of software quality by reaching the target value (index value).

その指標値として、推定残存不具合密度、不具合検出密度、テスト項目密度、不具合収束率、テストカバレッジ率などの用語は従来から知られているが、その値の算出方法は明確ではなく、各ソフトウェア開発者個人や組織のノウハウに依存するところと考えられる。   Terms such as estimated residual defect density, defect detection density, test item density, defect convergence rate, and test coverage rate have been known as index values, but the calculation method for the values is not clear, and each software development It is thought that it depends on the know-how of individuals and organizations.

一般的に使用されることが多い指標値のひとつとして、バグ密度(バグ実績数/ソフトウェア開発規模)がある。これは、使用言語や処理内容が似たソフトウェアの開発時に作り込むバグの密度は大体一定であるという前提に立ち、過去の似たソフトウェア開発時のバグ密度実績値を基に、新規開発ソフトウェアのバグ密度指標値を定めるものである。例えば、機能拡充を重ねているソフトウェアの場合、次版開発時のバグ密度指標値として、過去何版かのバグ密度実績の平均値を中心に、ばらつき幅の許容値として±何パーセントかの固定値を加えた値を用いる。   One of index values that are often used is bug density (number of bug records / software development scale). This is based on the premise that the density of bugs created during the development of software with similar language and processing content is roughly constant, and based on the past bug density actual values during the development of similar software, It defines the bug density index value. For example, in the case of software with expanded functions, the bug density index value at the time of development of the next version is centered on the average value of the past bug density results of several previous versions, and the tolerance of variation is fixed at ± several percent Use the value plus the value.

特開平4−100161号公報JP-A-4-100161 特開平7−146806号公報JP 7-146806 A 特開2000−56961号公報JP 2000-56961 A

しかしながら、上記の方法では、過去のどの範囲の平均値を用いるか、ばらつき幅の許容値を何パーセントにするかなどの根拠を明確にすることは難しく、指標値の目安を定めるためには経験に基づくノウハウを要することになる。   However, in the above method, it is difficult to clarify the basis such as which range of the past average value is used, and what percentage of the allowable range of variation is to be used. Will require know-how based on

本発明は、上記に鑑みてなされたものであり、機能拡充を重ねているソフトウェアの品質担保を判断する定量的な指標値を算出することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to calculate a quantitative index value for judging quality assurance of software whose functions have been expanded.

第1の本発明に係るバグ密度指標値算出装置は、バグ実績数を開発規模で割ったバグ密度実績値をソフトウェアの版毎に記憶する記憶手段と、前記記憶手段から前記バグ密度実績値を読み出して指数近似し、前記ソフトウェアの版毎のバグ密度近似値を計算する近似値計算手段と、前記バグ密度実績値を前記バグ密度近似値で割ったばらつきの対数をとった対数値を前記ソフトウェアの版毎に計算し、当該対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算するばらつき許容値計算手段と、前記ソフトウェアの最新版の前記バグ密度近似値に次版の難易度評価値と前記ばらつき許容最小値あるいは前記ばらつき許容最大値を掛けてバグ密度指標値を計算するバグ密度指標値計算手段と、を有することを特徴とする。   The bug density index value calculation apparatus according to the first aspect of the present invention comprises a storage means for storing a bug density actual value obtained by dividing a bug actual number by a development scale for each version of software, and the bug density actual value from the storage means. An approximate value calculation means for reading and exponentially approximating and calculating a bug density approximate value for each version of the software, and a logarithmic value obtained by taking a logarithm of variation obtained by dividing the bug density actual value by the bug density approximate value. Variation tolerance value calculating means for calculating the variation allowable minimum value and the variation allowable maximum value from the average and standard deviation of the logarithmic value, and the bug density approximation value of the latest version of the software to the next version Bug density index value calculating means for calculating a bug density index value by multiplying the difficulty level evaluation value by the variation allowable minimum value or the variation allowable maximum value.

上記バグ密度指標値算出装着において、前記バグ密度実績値を前記ソフトウェアの機能部毎、試験工程毎に記憶し、前記バグ密度指標値を前記ソフトウェアの機能部毎、試験工程毎に計算することを特徴とする。   In the mounting of the bug density index value calculation, the bug density actual value is stored for each function part of the software and for each test process, and the bug density index value is calculated for each function part of the software and for each test process. Features.

第2の本発明に係るバグ密度指標値算出方法は、バグ実績数を開発規模で割ったバグ密度実績値をソフトウェアの版毎に記憶する記憶手段から前記バグ密度実績値を読み出して指数近似し、前記ソフトウェアの版毎のバグ密度近似値を計算するステップと、前記バグ密度実績値を前記バグ密度近似値で割ったばらつきの対数をとった対数値を前記ソフトウェアの版毎に計算し、当該対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算するステップと、前記ソフトウェアの最新版の前記バグ密度近似値に次版の難易度評価値と前記ばらつき許容最小値あるいは前記ばらつき許容最大値を掛けてバグ密度指標値を計算するステップと、を有することを特徴とする。   The bug density index value calculation method according to the second aspect of the present invention reads the bug density actual value from the storage means for storing the bug density actual value obtained by dividing the number of bug actuals by the development scale for each version of the software, and approximates the index. Calculating a bug density approximate value for each version of the software, and calculating a logarithmic value obtained by logarithm of variation obtained by dividing the bug density actual value by the bug density approximate value for each version of the software, A step of calculating a variation allowable minimum value and a variation allowable maximum value from an average and standard deviation of logarithmic values; and a bug density approximation value of the latest version of the software, a difficulty evaluation value of the next version and a variation allowable minimum value or And calculating a bug density index value by multiplying the maximum allowable variation.

本発明によれば、機能拡充を重ねているソフトウェアの品質担保を判断する定量的な指標値を算出することができる。   According to the present invention, it is possible to calculate a quantitative index value for determining quality assurance of software whose functions have been expanded.

本実施の形態におけるバグ密度指標値算出装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the bug density index value calculation apparatus in this Embodiment. 本実施の形態におけるバグ密度指標値算出装置の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the bug density index value calculation apparatus in this Embodiment.

以下、本発明の実施の形態について図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本実施の形態におけるバグ密度指標値算出装置の構成を示す機能ブロック図である。   FIG. 1 is a functional block diagram showing a configuration of a bug density index value calculation apparatus according to the present embodiment.

図1に示すバグ密度指標値算出装置1は、バグ密度実績値計算部11、バグ密度近似値計算部12、ばらつき許容値計算部13、バグ密度指標値計算部14、および記憶部15を備える。バグ密度指標値算出装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはバグ密度指標値算出装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。   The bug density index value calculation device 1 shown in FIG. 1 includes a bug density actual value calculation unit 11, a bug density approximate value calculation unit 12, a variation allowable value calculation unit 13, a bug density index value calculation unit 14, and a storage unit 15. . Each unit included in the bug density index value calculation device 1 may be configured by a computer including an arithmetic processing device, a storage device, and the like, and the processing of each unit may be executed by a program. This program is stored in a storage device included in the bug density index value calculation apparatus 1, and can be recorded on a recording medium such as a magnetic disk, an optical disk, or a semiconductor memory, or provided through a network. Hereinafter, each part will be described.

記憶部15は、機能拡充を重ねているソフトウェアの各版における、開発規模、バグ実績数、バグ密度実績値、および難易度評価値を記憶する。   The storage unit 15 stores the development scale, the number of bug achievements, the bug density achievement value, and the difficulty level evaluation value in each version of the software whose functions have been expanded.

開発規模はソフトウェアの規模を示す。本実施の形態では、ソフトウェアの機能部(例えば、呼処理機能部、保守機能部等)毎に分計する。   Development scale indicates the scale of software. In the present embodiment, the calculation is performed for each software function unit (for example, a call processing function unit, a maintenance function unit, etc.).

バグ実績数は検出されたソフトウェアの不具合の数を示す。本実施の形態では、試験工程(例えば、結合試験、総合試験等)毎、機能部毎に分計する。   The actual number of bugs indicates the number of detected software defects. In the present embodiment, the measurement is performed for each test process (for example, a binding test, a comprehensive test, etc.) and for each functional unit.

バグ密度実績値は、バグ実績数を開発規模で割った値である。バグ実績数で分計した機能部/試験工程に対応させる。   The bug density result value is a value obtained by dividing the number of bug results by the development scale. Correspond to the functional part / test process divided by the number of bugs.

難易度評価値は、ソフトウェアの開発難易度を反映した数値である。ソフトウェア開発者へのヒアリング結果から予想する。バグ実績数で分計した機能部/試験工程に対応させて設定する。本実施の形態では、最初の版の難易度評価値を1とし、開発が難しい時には+、易しい時には−に補正する。具体的な補正値は経験から得られる。   The difficulty level evaluation value is a numerical value reflecting the software development difficulty level. Expect from the results of interviews with software developers. Set according to the functional unit / test process divided by the number of bugs. In the present embodiment, the difficulty evaluation value of the first version is set to 1, and is corrected to + when development is difficult, and to-when easy. A specific correction value can be obtained from experience.

バグ密度実績値計算部11は、ソフトウェアの版毎に、バグ実績数と開発規模を記憶部15から読み出し、バグ実績数を開発規模で割ってバグ密度実績値を計算し、バグ密度実績値を記憶部15に記憶させる。   The bug density actual value calculation unit 11 reads the bug actual number and the development scale from the storage unit 15 for each software version, calculates the bug density actual value by dividing the bug actual number by the development scale, and calculates the bug density actual value. The data is stored in the storage unit 15.

バグ密度近似値計算部12は、記憶部15に記憶されたバグ密度実績値を指数近似して、ソフトウェアの版毎のバグ密度近似値を計算する。バグ密度実績値が0の版は近似計算の基とする値の対象外とする。   The bug density approximate value calculation unit 12 exponentially approximates the bug density actual value stored in the storage unit 15 to calculate the bug density approximate value for each version of the software. Versions with a bug density actual value of 0 are excluded from the values that are the basis of approximate calculation.

ばらつき許容値計算部13は、バグ密度実績値をバグ密度近似値で割ったばらつきの対数を取った対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算する。具体的には、ソフトウェアの版毎に、記憶部15からバグ密度実績値を読み出してバグ密度近似値計算部12が計算したバグ密度近似値で割ってばらつきを計算し、ばらつきの対数を計算した上で、全ての版(バグ実績数が0の版は除く)の対数値を基に平均μと標準偏差σを計算する。そして、(μ−σ)の指数を計算した値をばらつき許容最小値、(μ+σ)の指数を計算した値をばらつき許容最大値とする。ばらつきの幅を±σではなく、例えば±2σあるいは±0.5σ等としてもよい。ばらつきの幅を広くあるいは狭くするかは経験から得られる。本実施の形態では目安として±σを用いる。なお、対数と指数を計算する際の底は同一、例えば自然対数の底とする。   The variation allowable value calculation unit 13 calculates a variation allowable minimum value and a variation allowable maximum value from the average and standard deviation of logarithmic values obtained by taking the logarithm of variation obtained by dividing the bug density actual value by the bug density approximate value. Specifically, for each software version, the actual bug density value is read from the storage unit 15 and divided by the bug density approximate value calculated by the bug density approximate value calculation unit 12 to calculate the variation, and the logarithm of the variation is calculated. Above, the mean μ and standard deviation σ are calculated based on the logarithmic values of all the versions (except for the version with 0 bug results). A value obtained by calculating the index of (μ−σ) is set as a minimum allowable value for variation, and a value calculated by the index of (μ + σ) is set as a maximum allowable value for variation. Instead of ± σ, the variation width may be ± 2σ or ± 0.5σ, for example. Whether to widen or narrow the width of variation can be obtained from experience. In this embodiment, ± σ is used as a standard. Note that the base for calculating the logarithm and the exponent is the same, for example, the base of the natural logarithm.

バグ密度指標値計算部14は、バグ密度近似値計算部12が計算した開発完了済の最新版のバグ密度近似値と最新版の次の版の難易度評価値を掛けた値に、ばらつき許容最小値を掛けることにより次版におけるバグ密度指標許容最小値を計算し、ばらつき許容最大値を掛けることにより次版におけるバグ密度指標許容最大値を計算する。   The bug density index value calculation unit 14 multiplies the value obtained by multiplying the bug density approximate value of the latest developed version calculated by the bug density approximate value calculation unit 12 by the difficulty evaluation value of the next version of the latest version. Multiply the minimum value by calculating the minimum bug density index allowable value in the next version, and multiply by the maximum variation allowable value to calculate the maximum bug density index allowable value in the next version.

また、入力部2は、版毎、機能部/試験工程毎の、開発規模、バグ実績数、および難易度評価値を入力し、記憶部15に記憶させる。バグ密度実績値は、バグ密度実績値計算部11が計算して記憶部15に記憶させる。   Further, the input unit 2 inputs the development scale, the number of bug results, and the difficulty level evaluation value for each version and for each functional unit / test process, and stores them in the storage unit 15. The bug density actual value is calculated by the bug density actual value calculation unit 11 and stored in the storage unit 15.

出力部3は、バグ密度指標値計算部14が計算した次版における機能部/試験工程毎のバグ密度指標値(バグ密度指標許容最小値、バグ密度指標許容最大値)を出力する。次版のバグ密度実績値がバグ密度指標許容最小値からバク密度指標許容最大値までの範囲に収まることを以って、ソフトウェアの品質担保を判断する。   The output unit 3 outputs a bug density index value (bug density index allowable minimum value, bug density index allowable maximum value) for each functional unit / test process in the next version calculated by the bug density index value calculating unit 14. The quality assurance of software is judged by the fact that the bug density actual value of the next version falls within the range from the bug density index allowable minimum value to the bag density index allowable maximum value.

次に、バグ密度指標値算出装置1の処理の流れについて説明する。   Next, the process flow of the bug density index value calculation apparatus 1 will be described.

図2は、バグ密度指標値算出装置1の処理の流れを示すフローチャートである。   FIG. 2 is a flowchart showing a processing flow of the bug density index value calculation apparatus 1.

まず、バグ密度実績値計算部11が記憶部15から各版のバグ実績数と開発規模を読み出し、バグ実績数を開発規模で割ってバグ密度実績値X(i)を計算する(ステップS11)。ここでiは版数を示し、m(最古の版)≦i≦n(開発完了済の最新の版)を満たす。なお、必ずしもm=1でなくてもよい。   First, the bug density record value calculation unit 11 reads the number of bug records and the development scale of each version from the storage unit 15, and calculates the bug density record value X (i) by dividing the bug record number by the development scale (step S11). . Here, i indicates the version number and satisfies m (the oldest version) ≦ i ≦ n (the latest version that has been developed). Note that m = 1 is not necessarily required.

続いて、バグ密度近似値計算部12がm≦i≦nの範囲のバグ密度実績値X(i)を基に指数近似により各版のバグ密度近似値X’(i)を計算する(ステップS12)。バグ密度近似値を計算する際に、バグ実績数が0となる版j、つまりX(j)=0となる版jは対象外とする。対象外とした版jのバグ密度近似値X’(j)も知ることができる。   Subsequently, the bug density approximate value calculation unit 12 calculates the bug density approximate value X ′ (i) of each version by exponential approximation based on the bug density actual value X (i) in the range of m ≦ i ≦ n (step) S12). When calculating the bug density approximate value, the version j in which the number of bug results is 0, that is, the version j in which X (j) = 0 is excluded. It is also possible to know the bug density approximate value X ′ (j) of the version j that has been excluded.

また、ばらつき許容値計算部13がm≦i≦nの範囲のばらつきC(i)=X(i)/X’(i)を計算し(ステップS13)、ばらつきC(i)の対数値ln[C(i)]の平均μと標準偏差σを計算する(ステップS14)。このときもバグ実績数が0の版は対象外とする。   Further, the variation allowable value calculation unit 13 calculates the variation C (i) = X (i) / X ′ (i) in the range of m ≦ i ≦ n (step S13), and the logarithmic value ln of the variation C (i). The average μ and standard deviation σ of [C (i)] are calculated (step S14). At this time, the version with the bug record number 0 is excluded.

そして、次版n+1における、ばらつき許容最小値Cmin(n+1)とばらつき許容最大値Cmax(n+1)を計算する(ステップS15)。ばらつき許容最小値Cmin(n+1)とばらつき許容最大値Cmax(n+1)はそれぞれ、Cmin(n+1)=exp(μ−σ)、Cmax(n+1)=exp(μ+σ)で計算する。   Then, a variation allowable minimum value Cmin (n + 1) and a variation allowable maximum value Cmax (n + 1) in the next version n + 1 are calculated (step S15). The variation allowable minimum value Cmin (n + 1) and the variation allowable maximum value Cmax (n + 1) are calculated by Cmin (n + 1) = exp (μ−σ) and Cmax (n + 1) = exp (μ + σ), respectively.

最後に、バグ密度指標値計算部14が最新版nのバグ密度近似値X’(n)と次版n+1の難易度評価値D(n+1)とばらつき許容最小値Cmin(n+1)、ばらつき許容最大値Cmax(n+1)から次版n+1のバグ密度指標許容最小値Zmin(n+1)とバグ密度指標許容最大値Zmax(n+1)を計算する(ステップS16)。バグ密度指標許容最小値Zmin(n+1)とバグ密度指標許容最大値Zmax(n+1)はそれぞれ、Zmin(n+1)=X’(n)×D(n+1)×Cmin(n+1)、Zmax(n+1)=X’(n)×D(n+1)×Cmax(n+1)で計算する。   Finally, the bug density index value calculation unit 14 calculates the bug density approximate value X ′ (n) of the latest version n, the difficulty evaluation value D (n + 1) of the next version n + 1, the variation allowable minimum value Cmin (n + 1), and the variation allowable maximum The bug density index allowable minimum value Zmin (n + 1) and the bug density index allowable maximum value Zmax (n + 1) of the next version n + 1 are calculated from the value Cmax (n + 1) (step S16). The bug density index allowable minimum value Zmin (n + 1) and the bug density index allowable maximum value Zmax (n + 1) are respectively Zmin (n + 1) = X ′ (n) × D (n + 1) × Cmin (n + 1), Zmax (n + 1) = Calculation is performed by X ′ (n) × D (n + 1) × Cmax (n + 1).

次に、バグ密度実績値に指数近似を用いることができる理由について説明する。   Next, the reason why exponent approximation can be used for the actual bug density value will be described.

機能拡充を重ねているソフトウェアの場合、ソフトウェア開発者が異なっていても、ノウハウを引き継いだ組織が、一般的に、検出したバグについてその都度、水平展開・歯止めを施すことを繰り返すことから、ノウハウが継続的に蓄積され、試験工程における検出バグ密度は平均的には版数が進むに連れて減少傾向を示すものと考えられる。ただし、版によっては開発内容の難易度に差があり、難しい開発の場合にはバグ密度が上がり、易しい開発の場合にはバグ密度が下がるものと考えられる。   In the case of software that has been expanded in function, even if the software developers are different, the organization that took over the know-how generally repeats horizontal deployment and pausing for each detected bug, so know-how It is considered that the detected bug density in the test process shows a decreasing trend as the version number progresses on average. However, there is a difference in the difficulty of development contents depending on the version, and it is considered that the bug density increases in difficult development and the bug density decreases in easy development.

ここで、ある版iにおけるバグ密度実績値X(i)に対するその次の版i+1におけるバグ密度実績値X(i+1)の比をD(i+1)=X(i+1)/X(i)と定義し、X(i+1)について移項すると、X(i+1)=X(i)×D(i+1)となる。i=0の時のX(0)を定数Aと置くと、X(1),X(2),・・,X(i)は以下となる。   Here, the ratio of the bug density actual value X (i + 1) in the next version i + 1 to the bug density actual value X (i) in a certain version i is defined as D (i + 1) = X (i + 1) / X (i). , X (i + 1), X (i + 1) = X (i) × D (i + 1). When X (0) when i = 0 is set as a constant A, X (1), X (2),..., X (i) are as follows.

X(1)=X(0)×D(1)=A×D(1)
X(2)=X(1)×D(2)=A×D(1)×D(2)


X(i)=X(i−1)×D(i)=A×D(1)×D(2)・・・×D(i)
X (1) = X (0) × D (1) = A × D (1)
X (2) = X (1) × D (2) = A × D (1) × D (2)


X (i) = X (i-1) * D (i) = A * D (1) * D (2) ... * D (i)

D(i)が常に一定の値Dであった場合には、X(i)=A×D、つまり、版毎に異なるD(i)をその相乗平均値Dで近似するとバグ密度実績値X(i)は指数関数で近似できる。0<D<1のときX(i)は版が進むに連れて0に近づく。 When D (i) is always a constant value D, X (i) = A × D i , that is, a bug density actual value when D (i) different for each plate is approximated by the geometric mean value D X (i) can be approximated by an exponential function. When 0 <D <1, X (i) approaches 0 as the plate advances.

D(i)の意味は、版毎の開発内容の難易度に対応するものと解釈でき、D(i+1)=1のとき、X(i+1)=X(i)、つまり、版i+1は版iと比べて難しくも易しくもなく、バグ密度は同じであると理解できる。機能拡充を重ねているソフトウェアの場合、現実的にはDは1に近く1よりも小さい値、例えば、0.9程度になることが観測できる。   The meaning of D (i) can be interpreted as corresponding to the difficulty level of development contents for each version. When D (i + 1) = 1, X (i + 1) = X (i), that is, version i + 1 is version i. It is not difficult or easy compared to, and it can be understood that the bug density is the same. In the case of software whose functions are repeatedly expanded, it can be observed that D is a value close to 1 and smaller than 1, for example, about 0.9.

次に、ばらつきの許容幅の算出について説明する。   Next, calculation of the tolerance for variation will be described.

バグ密度実績値が指数関数で近似できることから、版毎のバグ密度実績値のばらつきは正規分布ではなく、対数正規分布に従うと考えることができる。版数iにおけるバグ密度実績値X(i)のバグ密度近似値X’(i)に対するばらつきC(i)をC(i)=X’(i)/X(i)とする。ばらつきC(i)は、対数正規分布に従うと考えられることから、C(i)の対数値ln[C(i)]の平均μと標準偏差σを計算し、exp(μ−σ)をばらつき許容最小値、exp(μ+σ)をばらつき許容最大値と考えることができる。   Since the bug density actual value can be approximated by an exponential function, it can be considered that the variation of the bug density actual value for each version follows a log normal distribution instead of a normal distribution. The variation C (i) of the bug density actual value X (i) with respect to the bug density approximate value X ′ (i) in the version number i is C (i) = X ′ (i) / X (i). Since the variation C (i) is considered to follow a lognormal distribution, the average μ and standard deviation σ of the logarithmic value ln [C (i)] of C (i) is calculated, and exp (μ−σ) varies. The minimum allowable value, exp (μ + σ), can be considered as the maximum allowable variation.

統計学で、正規分布では、平均μと標準偏差σとで示す範囲内に入る標本の度数は、μ±σで全体の約2/3、μ±2σで全体の約19/20であることが知られている。許容幅をより広くあるいは狭くする場合は、許容幅の基にする値を±σではなく、例えば±2σあるいは±0.5σ等とする。   In statistics, in normal distribution, the frequency of the sample that falls within the range indicated by mean μ and standard deviation σ is about 2/3 of the whole in μ ± σ and about 19/20 of the whole in μ ± 2σ. It has been known. When the allowable width is made wider or narrower, the value on which the allowable width is based is not ± σ but, for example, ± 2σ or ± 0.5σ.

次に、機能拡充をかさねているソフトウェアのバグ密度指標値算出方法について、本発明による方法と従来から一般的に使用されている従来方法とを比較する。   Next, the method according to the present invention and the conventional method that has been generally used will be compared with respect to the method for calculating the bug density index value of software that is expanding functions.

従来方法では、過去何版かのバグ密度実績値の平均値を中心に、ばらつきの許容幅として±何パーセントかの固定値を加えた値をバグ密度指標値として用いる。以下、従来方法について具体的に説明する。   In the conventional method, a value obtained by adding a fixed value of ± several percent as an allowable variation width is used as the bug density index value centering on the average value of the actual bug density values of several past versions. The conventional method will be specifically described below.

過去k版のバグ密度実績値の平均値X”(n)は以下の式で表される。   The average value X ″ (n) of the past k version bug density results is expressed by the following equation.

X”(n)=(X(n−k+1)+・・・+X(n)))/k   X ″ (n) = (X (n−k + 1) +... + X (n))) / k

ばらつきの許容幅を±εとすると、次版n+1におけるバグ密度指標許容最小値Ymin(n+1)、バグ密度指標許容最小値Ymax(n+1)は以下の式で表される。   When the tolerance of variation is ± ε, the bug density index allowable minimum value Ymin (n + 1) and the bug density index allowable minimum value Ymax (n + 1) in the next version n + 1 are expressed by the following equations.

Ymin(n+1)=X”(n)×D(n+1)×(1−ε)
Ymax(n+1)=X”(n)×D(n+1)×(1+ε)
Ymin (n + 1) = X ″ (n) × D (n + 1) × (1-ε)
Ymax (n + 1) = X ″ (n) × D (n + 1) × (1 + ε)

従来方法では、kを如何に取るかということに理論的根拠は無く、簡便性を考慮して例えば「5」等と決められる場合が多い。一般的に、バグ密度実績値X(i)は版数iが進むに連れて減少する傾向があるため、kを大きく取るほどバグ密度指標値を高く算出することになる。逆に、kを小さく取るほど直近のバグ密度実績値に近い値を算出することになるが、その場合、直近の版のバグ密度実績値の平均からのずれが大きかった場合、例えば直近の版の難易度が極端に難しかったり易しかったりした場合、そのずれの影響を大きく受けることになる。   In the conventional method, there is no theoretical basis for how k is taken, and in many cases, for example, “5” is determined in consideration of simplicity. Generally, since the bug density actual value X (i) tends to decrease as the version number i progresses, the larger the k is, the higher the bug density index value is calculated. Conversely, the smaller k is, the closer to the latest bug density actual value is calculated. In that case, if the deviation from the average of the latest bug density actual values of the latest version is large, for example, the latest version When the difficulty level is extremely difficult or easy, it is greatly affected by the deviation.

本発明による方法では、バグ密度実績値がわかっている版を基にバグ密度を指数近似で算出するので、上記の問題点が解消される。   In the method according to the present invention, since the bug density is calculated by exponential approximation based on the version whose bug density actual value is known, the above problem is solved.

また、従来方法では、εを如何に設定するかということに理論的根拠は無く、過去の実績からのノウハウや、簡便性を考慮して例えば「30%」等と決められる場合が多い。設定したεが妥当であるか否かは、次版の結果が出てから見直しの要否を検討する必要がある。また、バグ密度実績値のばらつきは正規分布よりも対数正規分布に従っているため、相加平均を中心に大小均等にばらつき許容幅を設定すると、最大値側に厳しい許容値となる。逆に、最大値側にあわせて許容幅を設定すると、許容最小値が負の値(意味のない値)となる場合もある。   Further, in the conventional method, there is no theoretical basis for how to set ε, and in many cases, for example, “30%” is determined in consideration of past know-how and simplicity. Whether the set ε is valid or not needs to be reviewed after the next version results. In addition, since the variation of the bug density actual value follows a log normal distribution rather than the normal distribution, setting a variation allowable width equally large and small around the arithmetic mean results in a strict allowable value on the maximum value side. On the contrary, if the allowable range is set in accordance with the maximum value side, the allowable minimum value may be a negative value (a meaningless value).

本発明による方法では、統計学的手法を用いており、例えば、Cmin(n+1)=exp(μ−σ)、Cmax(n+1)=exp(μ+σ)とした場合、次版のバグ密度実績値は、難易度評価をしていない状態で、約2/3の確率でバグ密度指標の許容範囲内に収まることが期待できる。また、許容最小値が負の値となることもない。   The method according to the present invention uses a statistical method. For example, when Cmin (n + 1) = exp (μ−σ) and Cmax (n + 1) = exp (μ + σ), the actual bug density value of the next version is In the state where the difficulty level is not evaluated, it can be expected that the probability is within the allowable range of the bug density index with a probability of about 2/3. Further, the allowable minimum value does not become a negative value.

以上説明したように、本実施の形態によれば、バグ密度近似値計算部12がバグ密度実績値を指数近似してバグ密度近似値を計算し、ばらつき許容値計算部13がバグ密度実績値をバグ密度近似値で割って各版のばらつきを求め、ばらつきの対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算し、バグ密度指標値計算部14が最新版のバグ密度近似値に次版の難易度評価値とばらつき許容最小値、ばらつき許容最大値をそれぞれ掛けて次版のバグ密度指標値を計算することにより、機能拡充を重ねているソフトウェアの次版開発時の試験工程におけるソフトウェアの品質担保を判断する定量的な指標値を算出することできる。本発明による指標値の算出は、従来から一般的に使用される方法よりも、算出のためのノウハウを要さず、精度を期待できる。   As described above, according to the present embodiment, the bug density approximate value calculation unit 12 exponentially approximates the bug density actual value to calculate the bug density approximate value, and the variation allowable value calculation unit 13 determines the bug density actual value. Is divided by the approximate value of the bug density to determine the variation of each version, the minimum allowable variation and the maximum allowable variation are calculated from the average and standard deviation of the logarithm of the variation. When developing the next version of software that has expanded its functions by calculating the bug density index value of the next version by multiplying the density approximation value by the difficulty evaluation value of the next version, the minimum allowable variation, and the maximum allowable variation, respectively. It is possible to calculate a quantitative index value for judging the quality assurance of software in the test process. The calculation of the index value according to the present invention does not require know-how for calculation and can be expected to be more accurate than the method generally used conventionally.

1…バグ密度指標値算出装置
11…バグ密度実績値計算部
12…バグ密度近似値計算部
13…ばらつき許容値計算部
14…バグ密度指標値計算部
15…記憶部
2…入力部
3…出力部
DESCRIPTION OF SYMBOLS 1 ... Bug density index value calculation apparatus 11 ... Bug density actual value calculation part 12 ... Bug density approximate value calculation part 13 ... Variation tolerance value calculation part 14 ... Bug density index value calculation part 15 ... Memory | storage part 2 ... Input part 3 ... Output Part

Claims (4)

バグ実績数を開発規模で割ったバグ密度実績値をソフトウェアの版毎に記憶する記憶手段と、
前記記憶手段から前記バグ密度実績値を読み出して指数近似し、前記ソフトウェアの版毎のバグ密度近似値を計算する近似値計算手段と、
前記バグ密度実績値を前記バグ密度近似値で割ったばらつきの対数をとった対数値を前記ソフトウェアの版毎に計算し、当該対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算するばらつき許容値計算手段と、
前記ソフトウェアの最新版の前記バグ密度近似値に次版の難易度評価値と前記ばらつき許容最小値あるいは前記ばらつき許容最大値を掛けてバグ密度指標値を計算するバグ密度指標値計算手段と、
を有することを特徴とするバグ密度指標値算出装置。
A storage means for storing the bug density actual value obtained by dividing the number of bug results by the development scale for each version of the software,
An approximate value calculation means for reading the bug density actual value from the storage means and performing exponential approximation, and calculating a bug density approximate value for each version of the software;
A logarithmic value obtained by taking the logarithm of variation obtained by dividing the bug density actual value by the bug density approximate value is calculated for each version of the software, and the variation allowable minimum value and variation allowable maximum value are calculated from the average and standard deviation of the logarithmic value. Variation tolerance calculation means for calculating
A bug density index value calculating means for calculating a bug density index value by multiplying the bug density approximate value of the latest version of the software by the difficulty evaluation value of the next version and the variation allowable minimum value or the variation allowable maximum value;
A bug density index value calculation apparatus comprising:
前記バグ密度実績値を前記ソフトウェアの機能部毎、試験工程毎に記憶し、前記バグ密度指標値を前記ソフトウェアの機能部毎、試験工程毎に計算することを特徴とする請求項1記載のバグ密度指標値算出装置。   2. The bug according to claim 1, wherein the bug density actual value is stored for each function part and test process of the software, and the bug density index value is calculated for each function part and test process of the software. Density index value calculation device. バグ実績数を開発規模で割ったバグ密度実績値をソフトウェアの版毎に記憶する記憶手段から前記バグ密度実績値を読み出して指数近似し、前記ソフトウェアの版毎のバグ密度近似値を計算するステップと、
前記バグ密度実績値を前記バグ密度近似値で割ったばらつきの対数をとった対数値を前記ソフトウェアの版毎に計算し、当該対数値の平均と標準偏差からばらつき許容最小値とばらつき許容最大値を計算するステップと、
前記ソフトウェアの最新版の前記バグ密度近似値に次版の難易度評価値と前記ばらつき許容最小値あるいは前記ばらつき許容最大値を掛けてバグ密度指標値を計算するステップと、
を有することを特徴とするバグ密度指標値算出方法。
The step of reading the bug density actual value from the storage means for storing the bug density actual value obtained by dividing the number of bug actuals by the development scale for each version of the software, exponentially approximating, and calculating the bug density approximate value for each version of the software When,
A logarithmic value obtained by taking the logarithm of variation obtained by dividing the bug density actual value by the bug density approximate value is calculated for each version of the software, and the variation allowable minimum value and variation allowable maximum value are calculated from the average and standard deviation of the logarithmic value. A step of calculating
Multiplying the bug density approximate value of the latest version of the software by the difficulty evaluation value of the next version and the variation allowable minimum value or the variation allowable maximum value to calculate a bug density index value;
A bug density index value calculation method characterized by comprising:
前記バグ密度実績値を前記ソフトウェアの機能部毎、試験工程毎に記憶し、前記バグ密度指標値を前記ソフトウェアの機能部毎、試験工程毎に計算することを特徴とする請求項3記載のバグ密度指標値算出方法。   4. The bug according to claim 3, wherein the bug density actual value is stored for each function part and test process of the software, and the bug density index value is calculated for each function part and test process of the software. Density index value calculation method.
JP2012097297A 2012-04-23 2012-04-23 Bug density index value calculation device and bug density index value calculation method Expired - Fee Related JP5749214B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012097297A JP5749214B2 (en) 2012-04-23 2012-04-23 Bug density index value calculation device and bug density index value calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012097297A JP5749214B2 (en) 2012-04-23 2012-04-23 Bug density index value calculation device and bug density index value calculation method

Publications (2)

Publication Number Publication Date
JP2013225227A JP2013225227A (en) 2013-10-31
JP5749214B2 true JP5749214B2 (en) 2015-07-15

Family

ID=49595240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012097297A Expired - Fee Related JP5749214B2 (en) 2012-04-23 2012-04-23 Bug density index value calculation device and bug density index value calculation method

Country Status (1)

Country Link
JP (1) JP5749214B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6676495B2 (en) * 2016-07-29 2020-04-08 日本電信電話株式会社 Extraction apparatus and extraction method

Also Published As

Publication number Publication date
JP2013225227A (en) 2013-10-31

Similar Documents

Publication Publication Date Title
US10628292B2 (en) Methods and systems for predicting estimation of project factors in software development
US10142370B2 (en) Methods and apparatus for generating and using security assertions associated with containers in a computing environment
US7747987B1 (en) System and method of analyzing risk in risk-based software testing
CN102231131B (en) Testing software in electronic device
US20050204241A1 (en) Method and device for analyzing software error
Papamichail et al. User-perceived source code quality estimation based on static analysis metrics
CN112037007A (en) Credit approval method for small and micro enterprises and electronic equipment
US20220277081A1 (en) Software package analysis for detection of malicious properties
US20140366140A1 (en) Estimating a quantity of exploitable security vulnerabilities in a release of an application
CN114997607A (en) Anomaly assessment early warning method and system based on engineering detection data
CN116340934A (en) Terminal abnormal behavior detection method, device, equipment and storage medium
CN114065209A (en) Method, device, medium and electronic equipment for predicting vulnerability hazard degree of Internet of vehicles
CN112087408A (en) Method and device for evaluating network assets
JP5749214B2 (en) Bug density index value calculation device and bug density index value calculation method
CN114971891A (en) Risk prediction method and device, processor and electronic equipment
JP2015111326A (en) Electric power estimation method, electric power estimation device, and program
CN107369093B (en) Service determination method and device
CN108334448B (en) Code verification method, device and equipment
CN110928782A (en) Application security management method and device, electronic equipment and storage medium
US20160004860A1 (en) Hypervisor enforcement of cryptographic policy
JP2005063208A (en) Software reliability growth model selection method, software reliability growth model selection apparatus, software reliability growth model selection program and program recording medium
CN116416052A (en) Trusted method and device for specific user, electronic equipment and storage medium
US10935966B2 (en) Product inspection device, product inspection method, and computer program
JP5444939B2 (en) Software testing method and program
CN116137600A (en) Security prediction method and device for firewall

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150330

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: 20150511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150513

R150 Certificate of patent or registration of utility model

Ref document number: 5749214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees