Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6339989B2 - Quality standard calculation device and quality standard calculation method - Google Patents
[go: Go Back, main page]

JP6339989B2 - Quality standard calculation device and quality standard calculation method - Google Patents

Quality standard calculation device and quality standard calculation method

Info

Publication number
JP6339989B2
JP6339989B2 JP2015186540A JP2015186540A JP6339989B2 JP 6339989 B2 JP6339989 B2 JP 6339989B2 JP 2015186540 A JP2015186540 A JP 2015186540A JP 2015186540 A JP2015186540 A JP 2015186540A JP 6339989 B2 JP6339989 B2 JP 6339989B2
Authority
JP
Japan
Prior art keywords
software
similarity
development
value
quality standard
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
JP2015186540A
Other languages
Japanese (ja)
Other versions
JP2017062551A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015186540A priority Critical patent/JP6339989B2/en
Publication of JP2017062551A publication Critical patent/JP2017062551A/en
Application granted granted Critical
Publication of JP6339989B2 publication Critical patent/JP6339989B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアの品質検査に用いる品質基準を算出する技術に関する。   The present invention relates to a technique for calculating a quality standard used for software quality inspection.

開発されたソフトウェアの品質を検査することは極めて重要であり、現在では、その品質基準を適切に決定・設定する技術が要求されている。ソフトウェアの品質基準としては、通常、開発規模やソースコードのステップ数に対するバグ数を示したバグ密度が用いられる。バグ密度をソフトウェア品質基準の指標値とし、その指標値の上限と下限を決定して、それらの限度内に含まれる指標範囲を管理限界範囲(=品質検査の許容範囲)として予め設定しておく。そして、新たにソフトウェアが開発された場合、その新たなソフトウェアのバグ密度が管理限界範囲に収まるか否かに基づきソフトウェア品質の良し悪しが判定される。そのため、指標値及び管理限界範囲は、ソフトウェア品質の良否を決定する重要な要素であり、過去の開発実績又は品質検査者の経験に基づき慎重に決定・設定される(図5、特許文献1,2参照)。   It is extremely important to inspect the quality of the developed software, and at present, a technology for appropriately determining and setting the quality standard is required. As a software quality standard, a bug density indicating the number of bugs with respect to the development scale and the number of steps of the source code is usually used. The bug density is set as an index value of the software quality standard, the upper limit and the lower limit of the index value are determined, and the index range included in these limits is set in advance as the control limit range (= allowable range of quality inspection). . When new software is developed, the quality of the software is determined based on whether or not the bug density of the new software falls within the management limit range. Therefore, the index value and the control limit range are important elements for determining the quality of software quality, and are carefully determined and set based on the past development results or the experience of the quality inspector (FIG. 5, Patent Document 1, 2).

特開2013−225227号公報JP 2013-225227 A 特開2012−173829号公報JP 2012-173829 A

しかしながら、決定・設定される指標値及び管理限界範囲は、感覚的に決められることが多いため、その妥当性に懸念があった。具体的には、過去のソフトウェアとの類似度が低い場合、算出される管理限界範囲等の精度は低くなり、新規のソフトウェアに適した管理限界範囲等を設定できず、ソフトウェアの品質検査を適切に実施することができない(図6参照)。また、過去のソフトウェアに追加された一部の機能のみを変更したにもかかわらず、他の機能を含めて管理限界範囲等を決定した場合でも、同様に管理限界範囲等の精度は悪くなってしまう(図6参照)。   However, there are concerns about the validity of the index values and control limit ranges that are determined and set because they are often determined sensuously. Specifically, when the degree of similarity with past software is low, the accuracy of the calculated control limit range, etc. will be low, and it will not be possible to set the control limit range suitable for new software, so software quality inspection will be appropriate (See FIG. 6). Even if only some of the functions added to the past software have been changed, the accuracy of the management limit range, etc. will also deteriorate even if the control limit range etc. are determined including other functions. (See FIG. 6).

本発明は、上記事情を鑑みてなされたものであり、ソフトウェアの品質検査の許容範囲(=管理限界範囲)を適正化することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to optimize the allowable range (= control limit range) of software quality inspection.

以上の課題を解決するため、請求項1に記載の品質基準算出装置は、新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出する算出手段と、過去に開発されたソフトウェアのバグ密度を指標値とし、前記指標値に所定値を加算した上限値と減算した下限値とを算出し、前記類似度で補正して、ソフトウェアの開発規模に対するバグ密度を表したU管理図に記録する記録手段と、記憶手段から前記U管理図を読み出して、新規に開発されたソフトウェアの開発規模に対応する補正後の上限値と下限値を求め、求めた2つの値に含まれる指標範囲を当該新規のソフトウェアに対する品質検査の許容範囲として出力する出力手段と、を備えることを要旨とする。   In order to solve the above problems, the quality standard calculation apparatus according to claim 1 includes a calculation unit that calculates the similarity between newly developed software and software developed in the past based on the similarity of the source code. The bug density for software development scale is calculated by using the bug density of software developed in the past as an index value, calculating the upper limit value obtained by adding a predetermined value to the index value and the lower limit value obtained by subtracting it, and correcting by the similarity. The recording means for recording in the U control chart representing the density, and reading out the U control chart from the storage means to obtain the corrected upper limit value and lower limit value corresponding to the development scale of the newly developed software. And an output unit that outputs an index range included in the two values as an allowable range of quality inspection for the new software.

本発明によれば、新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出し、過去に開発されたソフトウェアのバグ密度を指標値とし、その指標値に所定値を加算した上限値と減算した下限値とを算出し、その上限値と下限値を上記類似度(=ソースコードの類似性に基づく類似度)で補正するため、ソフトウェアの品質検査の許容範囲(=上限値と下限値との間に含まれる指標範囲)を適正化することができる。   According to the present invention, the similarity between newly developed software and software developed in the past is calculated based on the similarity of the source code, the bug density of the software developed in the past is used as the index value, and the index Software quality inspection in order to calculate an upper limit value obtained by adding a predetermined value to the value and a lower limit value obtained by subtraction, and to correct the upper limit value and lower limit value with the above-mentioned similarity (= similarity based on similarity of source code). The permissible range (= the index range included between the upper limit value and the lower limit value) can be optimized.

請求項2に記載の品質基準算出装置は、請求項1に記載の品質基準算出装置において、前記記録手段は、前記所定値に対して前記類似度の逆数を乗算した値に前記指標値を加算した値を補正後の上限値とし、前記指標値から当該乗算した値を減算した値を補正後の下限値とすることを要旨とする。   3. The quality standard calculation apparatus according to claim 2, wherein the recording unit adds the index value to a value obtained by multiplying the predetermined value by an inverse of the similarity. The gist is to use the value obtained as the corrected upper limit value and to subtract the value multiplied by the index value as the corrected lower limit value.

請求項3に記載の品質基準算出装置は、請求項1又は2に記載の品質基準算出装置において、前記算出手段は、新規に開発されたソフトウェアと過去に開発されたソフトウェアとの機能間の類似度を機能同士のソースコードの類似性に基づき算出することを要旨とする。   The quality standard calculation apparatus according to claim 3 is the quality standard calculation apparatus according to claim 1 or 2, wherein the calculation means is similar between functions of newly developed software and software developed in the past. The gist is to calculate the degree based on the similarity of the source code between functions.

請求項4に記載の品質基準算出装置は、請求項3に記載の品質基準算出装置において、前記算出手段は、前記機能間の類似度をユークリッド距離に基づき算出することを要旨とする。   The quality standard calculation device according to claim 4 is the quality standard calculation device according to claim 3, wherein the calculation means calculates the similarity between the functions based on the Euclidean distance.

請求項5に記載の品質基準算出装置は、請求項3又は4に記載の品質基準算出装置において、ソフトウェアは、複数の機能で構成され、前記算出手段は、各機能にそれぞれ対応する各ソースコードの構成値を機能間で正規化し、正規化後の構成値を用いて前記機能間の類似度を算出することを要旨とする。   The quality standard calculation apparatus according to claim 5 is the quality standard calculation apparatus according to claim 3 or 4, wherein the software is composed of a plurality of functions, and the calculation means includes each source code corresponding to each function. The configuration value is normalized between the functions, and the similarity between the functions is calculated using the normalized configuration value.

請求項6に記載の品質基準算出装置は、請求項5に記載の品質基準算出装置において、前記ソースコードの構成値は、少なくとも、ソースコードに関する、ファイル数、クラス数、メソッド数、宣言文と実行数の行数、コメント数、ソース総行数、最大ネスト数、複雑度、のうちいずれかであることを要旨とする。   The quality standard calculation apparatus according to claim 6 is the quality standard calculation apparatus according to claim 5, wherein the configuration value of the source code includes at least the number of files, the number of classes, the number of methods, and the declaration sentence related to the source code. The gist is either the number of execution lines, the number of comments, the total number of source lines, the maximum number of nestings, or the complexity.

請求項7に記載の品質基準算出装置は、請求項1乃至6のいずれかに記載の品質基準算出装置において、前記出力手段は、新規に開発されたソフトウェアの開発難易度と過去に開発されたソフトウェアの開発難易度との比で、前記新規に開発されたソフトウェアの開発規模を補正することを要旨とする。   The quality standard calculation apparatus according to claim 7 is the quality standard calculation apparatus according to any one of claims 1 to 6, wherein the output means has been developed in the past with the development difficulty level of newly developed software. The gist is to correct the development scale of the newly developed software in proportion to the software development difficulty level.

請求項8に記載の品質基準算出方法は、品質基準算出装置で行う品質基準算出方法において、新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出するステップと、過去に開発されたソフトウェアのバグ密度を指標値とし、前記指標値に所定値を加算した上限値と減算した下限値とを算出し、前記類似度で補正して、ソフトウェアの開発規模に対するバグ密度を表したU管理図に記録するステップと、記憶手段から前記U管理図を読み出して、新規に開発されたソフトウェアの開発規模に対応する補正後の上限値と下限値を求め、求めた2つの値に含まれる指標範囲を当該新規のソフトウェアに対する品質検査の許容範囲として出力するステップと、を備えることを要旨とする。   The quality standard calculation method according to claim 8 is a quality standard calculation method performed by the quality standard calculation device, and calculates the similarity between newly developed software and software developed in the past based on the similarity of the source code. And developing the software by using the bug density of the software developed in the past as an index value, calculating an upper limit value obtained by adding a predetermined value to the index value and a lower limit value obtained by subtracting the index value, and correcting by the similarity. A step of recording the U control chart representing the bug density with respect to the scale; and reading the U control chart from the storage means to obtain an upper limit value and a lower limit value after correction corresponding to the development scale of the newly developed software; And a step of outputting an index range included in the obtained two values as an allowable range of quality inspection for the new software.

本発明によれば、ソフトウェアの品質検査の許容範囲(=管理限界範囲)を適正化することができる。   According to the present invention, the allowable range (= control limit range) of software quality inspection can be optimized.

品質基準算出装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of a quality reference | standard calculation apparatus. 品質基準算出装置の動作を示す図である。It is a figure which shows operation | movement of a quality standard calculation apparatus. 開発機能に関するファイル数等のデータセット例を示す図である。It is a figure which shows the example of a data set, such as the number of files regarding a development function. 基礎U管理図の生成例を示す図である。It is a figure which shows the example of a production | generation of a basic U control chart. 指標値及び管理限界範囲の設定例を示す図である。It is a figure which shows the example of a setting of an index value and a management limit range. 従来技術の課題を説明する際の参照図である。It is a reference figure at the time of explaining the subject of a prior art.

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

図1は、本実施の形態に係る品質基準算出装置1の機能ブロック構成を示す図である。品質基準算出装置1は、過去開発データ記憶部11と、新規開発データ記憶部12と、開発機能類似度算出部13と、基礎U管理図生成部14と、過去開発難易度算出部15と、新規開発難易度算出部16と、開発規模補正部17と、指標値・管理限界範囲算出部18と、を備えて構成される。   FIG. 1 is a diagram showing a functional block configuration of a quality standard calculation apparatus 1 according to the present embodiment. The quality standard calculation device 1 includes a past development data storage unit 11, a new development data storage unit 12, a development function similarity calculation unit 13, a basic U control chart generation unit 14, a past development difficulty calculation unit 15, A new development difficulty level calculation unit 16, a development scale correction unit 17, and an index value / management limit range calculation unit 18 are configured.

過去開発データ記憶部11は、過去に開発された各ソフトウェアに関する分析実績データ及びプログラム関連データを記憶しておく。具体的には、過去に開発された各ソフトウェアについて、(1)開発規模(設計行数等)、バグ数、(2)工数(人月)、開発時間(月)、機能総量(FP(Function Point)、機能総数等)、ソフトウェア開発者の開発スキルレベル、(3)各機能のソースコードに係るファイル数、クラス数等、をそれぞれ記憶する。   The past development data storage unit 11 stores analysis result data and program related data regarding each software developed in the past. Specifically, for each software developed in the past, (1) development scale (number of design lines, etc.), number of bugs, (2) man-hours (man-months), development time (months), total amount of functions (FP (Function Point), the total number of functions, etc.), the development skill level of the software developer, and (3) the number of files related to the source code of each function, the number of classes, etc. are stored.

新規開発データ記憶部12は、新規に開発されたソフトウェアに関する分析実績データ及びプログラム関連データを記憶しておく。具体的には、新規に開発されたソフトウェアについて、(1)開発規模、(2)工数、開発時間、機能総量、ソフトウェア開発者の開発スキルレベル、(3)各機能のソースコードに係るファイル数、クラス数等、をそれぞれ記憶する。   The newly developed data storage unit 12 stores analysis result data and program related data regarding newly developed software. Specifically, for newly developed software, (1) development scale, (2) man-hours, development time, total amount of functions, development skill level of software developer, (3) number of files related to the source code of each function , The number of classes, etc. are stored.

開発機能類似度算出部13は、過去及び新規に開発された各ソフトウェアに関する各機能のソースコードに係るファイル数、クラス数等を用いて、新規に開発されたソフトウェアと過去に開発されたソフトウェアとのソフトウェア間・機能間の類似度をソースコードの類似性に基づき算出する。   The development function similarity calculation unit 13 uses the number of files, the number of classes, and the like related to the source code of each function relating to each previously developed software and the newly developed software and the previously developed software, The similarity between software and functions is calculated based on the similarity of source code.

基礎U管理図生成部14は、過去に開発されたソフトウェアのバグ密度を指標値とし、過去に開発された各ソフトウェアの開発規模、バグ数を用いて基礎指標値(=バグ密度)及び基礎管理限界範囲(=上限値・下限値)を算出し、その基礎管理限界範囲を上記類似度(=ソースコードの類似性に基づく類似度)で補正した後に、ソフトウェアの開発規模に対するバグ密度を表したU管理図に描画して基礎U管理図としてメモリに記憶する。   The basic U control chart generation unit 14 uses the bug density of software developed in the past as an index value, and uses the development scale and the number of bugs of each software developed in the past as a basic index value (= bug density) and basic management. After calculating the limit range (= upper limit / lower limit) and correcting the basic control limit range with the above similarity (= similarity based on the similarity of the source code), the bug density relative to the software development scale was expressed It draws on the U chart and stores it in the memory as a basic U chart.

過去開発難易度算出部15は、過去に開発されたソフトウェアに関する工数、開発時間、機能総量、開発スキルレベルを用いて、過去のソフトウェアの開発難易度を算出する。   The past development difficulty level calculation unit 15 calculates the past software development difficulty level using the man-hours, development time, total amount of functions, and development skill level related to the software developed in the past.

新規開発難易度算出部16は、新規に開発されたソフトウェアに関する工数、開発時間、機能総量、開発スキルレベルを用いて、新規のソフトウェアの開発難易度を算出する。   The new development difficulty level calculation unit 16 calculates the development difficulty level of new software using the man-hours, development time, total function amount, and development skill level for newly developed software.

開発規模補正部17は、過去のソフトウェアの開発難易度と新規のソフトウェアの開発難易度との比で、新規に開発されたソフトウェアの開発規模を補正する。   The development scale correction unit 17 corrects the development scale of the newly developed software based on the ratio between the past software development difficulty and the new software development difficulty.

指標値・管理限界範囲算出部18は、メモリから基礎U管理図を読み出して補正後の基礎管理限界範囲を参照し、新規のソフトウェアに係る補正後の開発規模に対応する補正後の基礎管理限界範囲(=補正後の上限値・補正後の下限値)を求め、求めた基礎管理限界範囲に含まれる指標範囲を新規のソフトウェアに対する品質検査の許容範囲として出力する。   The index value / control limit range calculation unit 18 reads the basic U control chart from the memory, refers to the corrected basic control limit range, and corrects the basic control limit after correction corresponding to the corrected development scale related to the new software. The range (= upper limit value after correction / lower limit value after correction) is obtained, and the index range included in the obtained basic control limit range is output as an allowable range for quality inspection for new software.

ここまでが品質基準算出装置1の機能である。なお、この品質基準算出装置1は、CPU及びメモリ等を備えたコンピュータで実現可能である。また、品質基準算出装置1としてコンピュータを機能させるための品質基準算出プログラム、その品質基準算出プログラムの記憶媒体を作成することも可能である。   This is the function of the quality standard calculation device 1. In addition, this quality standard calculation apparatus 1 is realizable with the computer provided with CPU, memory, etc. It is also possible to create a quality standard calculation program for causing a computer to function as the quality standard calculation apparatus 1 and a storage medium for the quality standard calculation program.

次に、図1及び図2を参照しながら、品質基準算出装置1の動作について説明する。図2は、品質基準算出装置1の処理フローを示す図である。   Next, the operation of the quality standard calculation apparatus 1 will be described with reference to FIGS. 1 and 2. FIG. 2 is a diagram illustrating a processing flow of the quality standard calculation apparatus 1.

まず、開発機能類似度算出部13が、開発機能のソースコードに係るファイル数、クラス数等を用いて、新規開発機能と過去開発機能との類似度を開発機能同士のソースコードの類似性に基づき算出する(ステップS1)。   First, the development function similarity calculation unit 13 uses the number of files, the number of classes, and the like related to the source code of the development function to convert the similarity between the new development function and the past development function into the similarity of the source code between the development functions. Based on the calculation (step S1).

例えば、新規開発ソフトウェアと過去開発ソフトウェアについて、各開発機能のソースコードに係るファイル数等が図3(a)の場合、開発機能をF、ファイル数等のメトリクスをM、開発機能FにおけるメトリクスMの実データ(=ソースコードの構成値)をVi,jとする(図3(b)参照)。 For example, the newly developed software and historical development software, file count and the like according to the source code of each development functions of FIG. 3 (a), F development capabilities, metrics metrics file such as the number M, in the development functions F i The actual data of M j (= configuration value of the source code) is V i, j (see FIG. 3B).

そして、まず、実データVi,jを開発機能F間で正規化する(ステップS1−1)。この正規化は、データセットに記録されている実データVi,jはメトリクスMによって値域が大きく異なるので、予測を与える影響を各メトリクスMで均等にするために行う。具体的には、メトリクスMが最大値の実データをmax(V)、最小値の実データをmin(V)としたとき、式(1)を用いて正規化後の実データV’i,jを計算する。なお、この正規化は、新規開発機能と過去開発機能の両方について行う。 First, the actual data V i, j is normalized between the development functions F i (step S1-1). This normalization actual data V i recorded in the data set, since j is the value range differs greatly depending metrics M j, performed in order to equalize the effect of the prediction for each metric M j. Specifically, the actual data V after normalization using the formula (1) when the actual data with the maximum value of the metrics M j is max (V j ) and the actual data with the minimum value is min (V j ). 'Calculate i, j . This normalization is performed for both newly developed functions and past developed functions.

Figure 0006339989
続いて、新規開発機能と過去開発機能との類似度を計算する(ステップS1−2)。例えば、ユークリッド距離に基づき開発機能間の類似度を計算する。具体的には、新規開発機能をF、過去開発機能をF、ユークリッド距離をdist、新規開発機能Fと過去開発機能Fとの類似度をsim(F,F)としたとき、式(2)を用いて類似度を計算する。
Figure 0006339989
Subsequently, the similarity between the newly developed function and the past developed function is calculated (step S1-2). For example, the similarity between the development functions is calculated based on the Euclidean distance. Specifically, the newly developed function is F a , the past developed function is F i , the Euclidean distance is dist, and the similarity between the newly developed function F a and the past developed function F i is sim (F a , F i ). The similarity is calculated using equation (2).

Figure 0006339989
式(2)ではユークリッド距離の逆数を類似度としているので、開発機能間の類似度はユークリッド距離が小さいほど大きくなる。この式(2)より、新規開発機能と過去開発機能との類似度がソースコードの類似性に基づき計算されることになる。なお、yはメトリクスMの総数である。
Figure 0006339989
In equation (2), since the reciprocal of the Euclidean distance is used as the similarity, the similarity between the development functions increases as the Euclidean distance decreases. From this equation (2), the similarity between the newly developed function and the past developed function is calculated based on the similarity of the source code. Note that y is the total number of metrics M j .

そして、最後に、計算された開発機能間の類似度をソフトウェア間の類似度sim(S,S)とする(ステップS1−3)。Sは新規開発ソフトウェアであり、Sは過去開発ソフトウェアである。例えば、過去開発機能の数量が1つであれば、計算された開発機能間の類似度は1つになるので、それをそのままソフトウェア間の類似度とする。一方、過去開発機能の数量が複数の場合、例えば、類似度の平均値をソフトウェア間の類似度とする。 Finally, the calculated similarity between the development functions is set as the similarity sim (S a , S i ) between the software (step S1-3). S a is newly developed software, and S i is past developed software. For example, if the number of past development functions is one, the degree of similarity between the calculated development functions is one. On the other hand, when the number of past development functions is plural, for example, the average value of the similarity is set as the similarity between software.

次に、ステップS1の後、基礎U管理図生成部14が、過去開発時の開発規模及びバグ数と、ステップS1で求めたソフトウェア間・開発機能間の類似度とを用いて基礎指標値及び基礎管理限界範囲(=上限値・下限値)を算出し、基礎U管理図を生成する(ステップS2)。   Next, after step S1, the basic U chart generation unit 14 uses the development scale and the number of bugs at the time of past development and the similarity between the software and the development function obtained in step S1, and A basic control limit range (= upper limit value / lower limit value) is calculated, and a basic U control chart is generated (step S2).

具体的には、過去開発時の開発規模をn、過去開発時のバグ数をc、基礎指標値をu(uの上に“−”)、基礎管理限界範囲をu(uの上に“−”)、係数をkとしたとき、式(3)を用いて基礎指標値(=バグ密度)を計算し、式(4)を用いて基礎管理限界範囲(=上限値・下限値)を計算する(ステップS2−1)。 Specifically, the development scale at the time of past development is n, the number of bugs at the time of past development is c, the basic index value is u (“-” above u), and the basic management limit range is u l (above u) "-"), Where the coefficient is k, the basic index value (= bug density) is calculated using equation (3), and the basic control limit range (= upper limit / lower limit) using equation (4) Is calculated (step S2-1).

Figure 0006339989
Figure 0006339989

Figure 0006339989
式(4)では、基礎指標値uに対して加算・減算される所定値(=k√(u/n))に対して、ステップS1で求めたソフトウェア間・開発機能間の類似度の逆数が乗算されている。これにより、基礎管理限界範囲(=上限値・下限値)が該類似度(すなわち、ソースコードの類似性に基づく類似度)に基づき調整(補正)され、適正化されることになる(図4の補正A参照)。
Figure 0006339989
In Expression (4), the degree of similarity between the software and the development function obtained in step S1 is calculated with respect to a predetermined value (= k√ (u / n i )) that is added to or subtracted from the basic index value u. The reciprocal is multiplied. As a result, the basic management limit range (= upper limit value / lower limit value) is adjusted (corrected) based on the similarity (that is, the similarity based on the similarity of the source code) and is optimized (FIG. 4). Correction A).

その後、補正後の基礎管理限界範囲(=補正後の上限値・補正後の下限値)を、横軸を開発規模、縦軸をバグ密度とするU管理図上にプロットして基礎U管理図(図4参照)を生成する(ステップS2−2)。この基礎U管理図は、新規開発ソフトウェアに対する品質検査の許容範囲(=管理限界範囲)を決定するために後に用いられる。   After that, the basic control limit range after correction (= upper limit value after correction / lower limit value after correction) is plotted on the U control chart with the development scale on the horizontal axis and the bug density on the vertical axis. (See FIG. 4) is generated (step S2-2). This basic U chart is used later to determine the acceptable range (= control limit range) of quality inspection for newly developed software.

なお、kは、上限・下限の幅を決定するための係数であり、開発内容に応じて任意に設定する。また、過去の開発規模nとは、例えば設計桁数である。U管理図、指標値、管理限界の定義等については、日本工業規格のJIS Z9020-1:2011(ISO 7870-1:2007)(http://kikakurui.com/z9/Z9020-1-2011-01.html)、同規格のJIS Z9021:1998(http://kikakurui.com/z9/Z9021-1998-01.html)に詳しく説明されている。   Note that k is a coefficient for determining the upper and lower limits, and is arbitrarily set according to the development content. The past development scale n is, for example, the number of design digits. For the definition of U control chart, index value, control limit, etc., Japanese Industrial Standard JIS Z9020-1: 2011 (ISO 7870-1: 2007) (http://kikakurui.com/z9/Z9020-1-2011- 01.html), detailed in JIS Z9021: 1998 (http://kikakurui.com/z9/Z9021-1998-01.html) of the same standard.

次に、ステップS2の後、過去開発難易度算出部15が、過去開発データ記憶部11から過去開発ソフトウェアに係る工数、開発時間、機能総量、開発スキルレベルを取得し、式(5)を用いて過去開発ソフトウェアの過去開発難易度Dを算出する(ステップS3)。 Next, after step S2, the past development difficulty level calculation unit 15 obtains the man-hours, development time, total amount of functions, and development skill level related to the past development software from the past development data storage unit 11, and uses equation (5). calculating a historical development difficulty D b of the past development software Te (step S3).

Figure 0006339989
なお、βは定数である。過去開発ソフトウェアが複数の場合、各過去開発ソフトウェアの開発難易度の平均値を過去開発ソフトウェアの開発難易度としてもよい。
Figure 0006339989
Note that β is a constant. When there are a plurality of past development software, the average value of the development difficulty of each past development software may be set as the development difficulty of the past development software.

次に、ステップS3の後又はステップS3と同時に、新規開発難易度算出部16が、新規開発データ記憶部12から新規開発ソフトウェアに係る工数、開発時間、機能総量、開発スキルレベルを取得し、式(6)を用いて新規開発ソフトウェアの新規開発難易度Dを算出する(ステップS4)。 Next, after step S3 or simultaneously with step S3, the new development difficulty level calculation unit 16 obtains the man-hour, development time, total function amount, and development skill level related to the newly developed software from the new development data storage unit 12, and formula calculating a new development difficulty D a newly developed software with (6) (step S4).

Figure 0006339989
次に、ステップS3及びステップS4の後、開発規模補正部17が、式(7)を用いて、過去開発難易度Dと新規開発難易度Dの比で新規開発ソフトウェアの開発規模nを補正する(ステップS5)。具体的には、新規開発ソフトウェアの開発規模nに対して、新規開発難易度Dを過去開発難易度Dで除した値を乗算し、その乗算結果を新規開発ソフトウェアの補正後の開発規模n’とする。その際、比を計算するのに代えて差分を計算してもよい。
Figure 0006339989
Then, after step S3 and step S4, development scale correction unit 17, using equation (7), development scale n a newly developed software in a ratio of past development difficulty D b and new development difficulty D a Is corrected (step S5). Specifically, with respect to development scale n a newly developed software, by multiplying the value obtained by dividing the new development difficulty D a past development difficulty D b, the development of the corrected new development software the multiplication result Let n ′ a be the scale. At that time, the difference may be calculated instead of calculating the ratio.

Figure 0006339989
式(7)より、新規開発ソフトウェアの開発規模nに対して過去開発難易度Dと新規開発難易度Dの比を乗算するので、新規開発ソフトウェアの開発規模nは、過去開発と新規開発の両方の開発難易度に基づき調整(補正)され、適正化されることになる(図4の補正B参照)。
Figure 0006339989
From the equation (7), since the multiplying ratio of the past development difficulty D b and new development difficulty D a relative development scale n a newly developed software, development scale n a newly developed software, past development and Adjustment (correction) is made based on the development difficulty levels of both newly developed and optimized (see correction B in FIG. 4).

最後に、ステップS5の後、指標値・管理限界算出部18が、ステップS2で生成していた図4の基礎U管理図をメモリから取得し、新規開発ソフトウェアの補正後の開発規模n’に対応する基礎管理限界範囲(=補正後の上限値・補正後の下限値)を求め、求めた基礎管理限界範囲に含まれる指標範囲を新規のソフトウェアに対する品質検査の許容範囲として出力する(ステップS6)。 Finally, after step S5, the index value / control limit calculation unit 18 acquires the basic U control chart of FIG. 4 generated in step S2 from the memory, and the development scale n ′ a after correcting the newly developed software The basic control limit range (= upper limit value after correction / lower limit value after correction) is calculated, and the index range included in the calculated basic control limit range is output as an allowable range for quality inspection for new software (step) S6).

以上より、本実施の形態によれば、開発機能類似度算出部13が、新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出し、基礎U管理図生成部14が、過去に開発されたソフトウェアのバグ密度を指標値とし、その指標値に所定値を加算した上限値と減算した下限値とを算出し、その上限値と下限値を上記類似度(=ソースコードの類似性に基づく類似度)で補正するので、ソフトウェアの品質検査の許容範囲(=上限値と下限値との間に含まれる指標範囲)を適正化することができる。   As described above, according to the present embodiment, the development function similarity calculation unit 13 calculates the similarity between newly developed software and software developed in the past based on the similarity of the source code. The control chart generation unit 14 uses the bug density of software developed in the past as an index value, calculates an upper limit value obtained by adding a predetermined value to the index value, and a lower limit value obtained by subtracting the upper limit value and the lower limit value. Since the correction is performed with the similarity (= similarity based on the similarity of the source code), the allowable range of software quality inspection (= the index range included between the upper limit value and the lower limit value) can be optimized.

また、本実施の形態によれば、開発規模補正部17が、新規に開発されたソフトウェアの開発難易度と過去に開発されたソフトウェアの開発難易度との比で、新規に開発されたソフトウェアの開発規模を補正するので、該新規のソフトウェアの開発規模を適正化することができる。   In addition, according to the present embodiment, the development scale correction unit 17 compares the development difficulty level of newly developed software with the development difficulty level of previously developed software. Since the development scale is corrected, the development scale of the new software can be optimized.

最後に、図3(a)のデータセットは、あくまでも一例である。他のメトリクスを用いてもよい。また、図3(a)の場合、少なくとも、ソースコードに関する、ファイル数、クラス数、メソッド数、宣言文と実行数の行数、コメント数、ソース総行数、最大ネスト数、複雑度、のうちいずれかを用いればよい。   Finally, the data set in FIG. 3A is merely an example. Other metrics may be used. In the case of FIG. 3 (a), at least the number of files, the number of classes, the number of methods, the number of declaration statements and the number of executions, the number of comments, the total number of source lines, the maximum number of nestings, the complexity, Any one of them may be used.

なお、U管理図とは、バグ密度をソフトウェアの開発規模に応じて管理するための管理図である。ソフトウェア管理の場合、一般的には、バグ密度の平均値や指標値に対して管理限界から外れる確率が約0.3%(=係数k)であるという考え方で作成される。   The U chart is a chart for managing the bug density in accordance with the development scale of software. In the case of software management, it is generally created based on the idea that the probability of deviating from the control limit with respect to the average value or index value of the bug density is about 0.3% (= coefficient k).

1…品質基準算出装置
11…過去開発データ記憶部
12…新規開発データ記憶部
13…開発機能類似度算出部(算出手段)
14…基礎U管理図生成部(記録手段)
15…過去開発難易度算出部
16…新規開発難易度算出部
17…開発規模補正部
18…指標値・管理限界範囲算出部(出力手段)
S1〜S6…ステップ
DESCRIPTION OF SYMBOLS 1 ... Quality standard calculation apparatus 11 ... Past development data storage part 12 ... New development data storage part 13 ... Development function similarity calculation part (calculation means)
14 ... Basic U control chart generator (recording means)
DESCRIPTION OF SYMBOLS 15 ... Past development difficulty calculation part 16 ... New development difficulty calculation part 17 ... Development scale correction | amendment part 18 ... Index value and management limit range calculation part (output means)
S1-S6 ... Step

Claims (8)

新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出する算出手段と、
過去に開発されたソフトウェアのバグ密度を指標値とし、前記指標値に所定値を加算した上限値と減算した下限値とを算出し、前記類似度で補正して、ソフトウェアの開発規模に対するバグ密度を表したU管理図に記録する記録手段と、
記憶手段から前記U管理図を読み出して、新規に開発されたソフトウェアの開発規模に対応する補正後の上限値と下限値を求め、求めた2つの値に含まれる指標範囲を当該新規のソフトウェアに対する品質検査の許容範囲として出力する出力手段と、
を備えることを特徴とする品質基準算出装置。
A calculation means for calculating the similarity between newly developed software and software developed in the past based on the similarity of the source code;
Using the bug density of software developed in the past as an index value, the upper limit value obtained by adding a predetermined value to the index value and the lower limit value obtained by subtraction are calculated, corrected by the similarity, and the bug density with respect to the software development scale Recording means for recording in a U chart representing
The U control chart is read from the storage means, the corrected upper limit value and lower limit value corresponding to the development scale of the newly developed software are obtained, and the index range included in the obtained two values is determined for the new software Output means for outputting as an acceptable range for quality inspection;
A quality standard calculation device comprising:
前記記録手段は、
前記所定値に対して前記類似度の逆数を乗算した値に前記指標値を加算した値を補正後の上限値とし、前記指標値から当該乗算した値を減算した値を補正後の下限値とすることを特徴とする請求項1に記載の品質基準算出装置。
The recording means includes
A value obtained by adding the index value to a value obtained by multiplying the reciprocal of the similarity by the predetermined value is set as an upper limit value after correction, and a value obtained by subtracting the multiplied value from the index value is set as a corrected lower limit value. The quality standard calculation apparatus according to claim 1, wherein:
前記算出手段は、
新規に開発されたソフトウェアと過去に開発されたソフトウェアとの機能間の類似度を機能同士のソースコードの類似性に基づき算出することを特徴とする請求項1又は2に記載の品質基準算出装置。
The calculating means includes
The quality standard calculation apparatus according to claim 1 or 2, wherein a similarity between functions of newly developed software and software developed in the past is calculated based on similarity of source codes between the functions. .
前記算出手段は、
前記機能間の類似度をユークリッド距離に基づき算出することを特徴とする請求項3に記載の品質基準算出装置。
The calculating means includes
The quality standard calculation apparatus according to claim 3, wherein the similarity between the functions is calculated based on a Euclidean distance.
ソフトウェアは、複数の機能で構成され、
前記算出手段は、
各機能にそれぞれ対応する各ソースコードの構成値を機能間で正規化し、正規化後の構成値を用いて前記機能間の類似度を算出することを特徴とする請求項3又は4に記載の品質基準算出装置。
The software consists of multiple functions,
The calculating means includes
5. The configuration value of each source code corresponding to each function is normalized between functions, and the similarity between the functions is calculated using the normalized configuration value. Quality standard calculation device.
前記ソースコードの構成値は、
少なくとも、ソースコードに関する、ファイル数、クラス数、メソッド数、宣言文と実行数の行数、コメント数、ソース総行数、最大ネスト数、複雑度、のうちいずれかであることを特徴とする請求項5に記載の品質基準算出装置。
The configuration value of the source code is
At least the number of files, classes, methods, declaration statements and execution lines, comments, source total lines, maximum nesting, complexity regarding source code The quality standard calculation apparatus according to claim 5.
前記出力手段は、
新規に開発されたソフトウェアの開発難易度と過去に開発されたソフトウェアの開発難易度との比で、前記新規に開発されたソフトウェアの開発規模を補正することを特徴とする請求項1乃至6のいずれかに記載の品質基準算出装置。
The output means includes
7. The development scale of the newly developed software is corrected based on a ratio between the development difficulty of newly developed software and the development difficulty of software developed in the past. The quality standard calculation device according to any one of the above.
品質基準算出装置で行う品質基準算出方法において、
新規に開発されたソフトウェアと過去に開発されたソフトウェアとの類似度をソースコードの類似性に基づき算出するステップと、
過去に開発されたソフトウェアのバグ密度を指標値とし、前記指標値に所定値を加算した上限値と減算した下限値とを算出し、前記類似度で補正して、ソフトウェアの開発規模に対するバグ密度を表したU管理図に記録するステップと、
記憶手段から前記U管理図を読み出して、新規に開発されたソフトウェアの開発規模に対応する補正後の上限値と下限値を求め、求めた2つの値に含まれる指標範囲を当該新規のソフトウェアに対する品質検査の許容範囲として出力するステップと、
を備えることを特徴とする品質基準算出方法。
In the quality standard calculation method performed by the quality standard calculation device,
Calculating the similarity between newly developed software and previously developed software based on the similarity of the source code;
Using the bug density of software developed in the past as an index value, the upper limit value obtained by adding a predetermined value to the index value and the lower limit value obtained by subtraction are calculated, corrected by the similarity, and the bug density with respect to the software development scale Recording in a U chart representing
The U control chart is read from the storage means, the corrected upper limit value and lower limit value corresponding to the development scale of the newly developed software are obtained, and the index range included in the obtained two values is determined for the new software Outputting as inspection inspection tolerance,
A quality standard calculation method comprising:
JP2015186540A 2015-09-24 2015-09-24 Quality standard calculation device and quality standard calculation method Expired - Fee Related JP6339989B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015186540A JP6339989B2 (en) 2015-09-24 2015-09-24 Quality standard calculation device and quality standard calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015186540A JP6339989B2 (en) 2015-09-24 2015-09-24 Quality standard calculation device and quality standard calculation method

Publications (2)

Publication Number Publication Date
JP2017062551A JP2017062551A (en) 2017-03-30
JP6339989B2 true JP6339989B2 (en) 2018-06-06

Family

ID=58428745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015186540A Expired - Fee Related JP6339989B2 (en) 2015-09-24 2015-09-24 Quality standard calculation device and quality standard calculation method

Country Status (1)

Country Link
JP (1) JP6339989B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7062936B2 (en) * 2017-12-14 2022-05-09 富士通株式会社 Quality prediction program, quality prediction method and quality prediction device
JP6975086B2 (en) * 2018-03-29 2021-12-01 株式会社日立ソリューションズ Quality evaluation method and quality evaluation equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6055428B2 (en) * 2014-02-04 2016-12-27 日本電信電話株式会社 Software quality standard calculation apparatus and software quality standard calculation method

Also Published As

Publication number Publication date
JP2017062551A (en) 2017-03-30

Similar Documents

Publication Publication Date Title
US12373204B2 (en) Methods and apparatus for finding long methods in code
Pernet et al. Robust correlation analyses: false positive and power validation using a new open source matlab toolbox
Mélard On the accuracy of statistical procedures in Microsoft Excel 2010
US10346140B2 (en) System and method for model based technology and process for safety-critical software development
US20200134109A1 (en) System and method for calibrating simulation model
CN109376919B (en) Prediction method for gas emission quantity of coal mine fully-mechanized coal mining face
US20150379410A1 (en) Method and apparatus for generating data in a missing segment of a time data sequence
US12347061B2 (en) Splitting and scaling images for input to a model and method, medium, and device therefor
CN117971192B (en) Simulation model code generation method and device
KR102441442B1 (en) Method and apparatus for learning graph convolutional network
JP2020057144A (en) Deterioration detection system
JP6339989B2 (en) Quality standard calculation device and quality standard calculation method
CN113282299A (en) Information processing method, device, equipment and storage medium
US20200327393A1 (en) Optimization system and control method for optimization system
Can et al. Tuncay Can’s Approximation Method to obtain initial basic feasible solution to transport problem
JP5856231B2 (en) Environmental load evaluation apparatus and environmental load evaluation method
US20100030732A1 (en) System and method to create process reference maps from links described in a business process model
CN112712181A (en) Model construction optimization method, device, equipment and readable storage medium
EP2983084A1 (en) Device for ranking software code sections to be reviewed for errors
US20140288908A1 (en) Methods, systems and computer-readable media for determining a time-to failure of an asset
JP6055428B2 (en) Software quality standard calculation apparatus and software quality standard calculation method
WO2022249224A1 (en) Information processing device, information processing method, and program
Adhikari et al. Prediction of Social Media Virality Through Stacking Ensemble utilising ML Algorithms
US20230204549A1 (en) Apparatus and automated method for evaluating sensor measured values, and use of the apparatus
JPWO2023181320A5 (en) MODEL PROCESSING APPARATUS, MODEL PROCESSING METHOD, AND PROGRAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180409

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180511

R150 Certificate of patent or registration of utility model

Ref document number: 6339989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees