JP5687122B2 - Software evaluation device, software evaluation method, and system evaluation device - Google Patents
Software evaluation device, software evaluation method, and system evaluation device Download PDFInfo
- Publication number
- JP5687122B2 JP5687122B2 JP2011098240A JP2011098240A JP5687122B2 JP 5687122 B2 JP5687122 B2 JP 5687122B2 JP 2011098240 A JP2011098240 A JP 2011098240A JP 2011098240 A JP2011098240 A JP 2011098240A JP 5687122 B2 JP5687122 B2 JP 5687122B2
- Authority
- JP
- Japan
- Prior art keywords
- dependency
- unit
- weighted
- strength
- components
- 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.)
- Active
Links
- 238000011156 evaluation Methods 0.000 title claims description 7
- 238000004364 calculation method Methods 0.000 claims description 76
- 238000000605 extraction Methods 0.000 claims description 27
- 239000000284 extract Substances 0.000 claims description 19
- 230000001419 dependent effect Effects 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 description 109
- 230000006870 function Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 34
- 238000000034 method Methods 0.000 description 24
- 101100269618 Streptococcus pneumoniae serotype 4 (strain ATCC BAA-334 / TIGR4) aliA gene Proteins 0.000 description 10
- 239000000470 constituent Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアの構造分析や影響範囲分析に利用可能なソフトウェア評価装置およびソフトウェア評価方法、システムの構造分析や影響範囲分析に利用可能なシステム評価装置に関するものである。 The present invention relates to a software evaluation apparatus and software evaluation method that can be used for software structure analysis and influence range analysis, and a system evaluation apparatus that can be used for system structure analysis and influence range analysis.
ソフトウェア(S/W)アーキテクチャ評価技術の1つとして、DSM(Design Structure Matrix)を用いた方法がある。このDSMでは、「関数の呼び出し」や「変数の参照」等により、サービス提供者と使用者との間に発生する依存をソースコードから求めている。このようなDSMは、複雑なプロセスのタスク間の依存関係を簡潔に表現し、タスクの関連性を分析するのに適している。 As one of software (S / W) architecture evaluation techniques, there is a method using DSM (Design Structure Matrix). In this DSM, dependency that occurs between the service provider and the user is obtained from the source code by “calling a function”, “referencing a variable”, and the like. Such DSM is suitable for concisely expressing dependencies between tasks of complex processes and analyzing task relevance.
例えば、DSMをS/Wに応用し、プログラムの構成要素間の依存関係をその発生頻度(依存強度)で重み付けを行い、表形式で表示することで、複雑なS/Wのアーキテクチャ構造を簡潔に表現することができる。 For example, by applying DSM to S / W, the dependency between program components is weighted by the frequency of occurrence (dependency) and displayed in a tabular format, thereby simplifying the complex S / W architecture structure Can be expressed in
特許文献1に記載の情報フロー・モデルの作成方法では、DSMの依存関係に重み付けしておき、この重み付けされたDSMを、予めパターン化しておいた情報フロー・モデルに写像することで、大規模なプロセスのシミュレーションに使用する情報フロー・モデルを簡易に作成している。
In the information flow model creation method described in
また、特許文献2に記載のプロジェクト管理方法では、プロジェクトに含まれる複数のタスク間の依存性を示す依存度(プロジェクトへの影響度)をマトリクス形式で表したDSMで作成し、DSMに重み付けを行ってプロジェクト管理での後戻り・並列工程のリスクを定量化している。
Further, in the project management method described in
しかしながら、S/Wの依存関係には依存関係が「関数の呼び出し」や「変数の参照」等のように複数種類存在し、それぞれ意味が異なり、同じ依存頻度でも依存種類によって依存の強さが異なることが経験的にわかっている。例えば、「関数の呼び出し2回」と「変数の参照2回」では、同じ2回の依存でも「関数の呼び出し2回」の方が、依存が強いことが経験上わかっている。 However, there are multiple types of dependency relationships such as “function call” and “variable reference” in the S / W dependency relationship, meaning that each has a different meaning, and the strength of dependency depends on the dependency type even with the same dependency frequency. I know empirically that it is different. For example, it has been found from experience that “depending on two times of function calls” and “reference of variables two times” are more dependent on “two times of function calls” even if they are the same two times of dependence.
そのため、上記前者および後者の従来技術のように、依存の発生頻度のみから算出した依存強度からは依存の強さは判断できないという問題があった。例えば、あるモジュール(提供者)と他モジュール(使用者)との間の結合の度合を正確に把握することや、ソースコード修正影響の範囲を機械的に特定することは難しい。このように、依存関係の種類が複数存在し、それぞれによって依存の強さが異なる場合、依存の強さを判断することは困難であった。 For this reason, there is a problem that the strength of dependence cannot be determined from the dependence strength calculated only from the frequency of occurrence of the dependence, as in the former and latter prior arts. For example, it is difficult to accurately grasp the degree of coupling between a certain module (provider) and another module (user) and to mechanically specify the range of the influence of source code modification. As described above, when there are a plurality of types of dependency relationships and the strengths of the dependencies differ from one another, it is difficult to determine the strength of the dependencies.
本発明は、上記に鑑みてなされたものであって、ソフトウェアを正確かつ容易に評価することができるソフトウェア評価装置およびソフトウェア評価方法、システムを正確かつ容易に評価することができるシステム評価装置を得ることを目的とする。 The present invention has been made in view of the above, and obtains a software evaluation apparatus and software evaluation method capable of accurately and easily evaluating software, and a system evaluation apparatus capable of accurately and easily evaluating a system. For the purpose.
上述した課題を解決し、目的を達成するために、本発明は、ソフトウェアのソースコードと、前記ソフトウェアの構成要素間の依存関係の種類である依存種類毎に前記依存種類の重要度である重みを示す重み情報と、の入力を受け付ける入力部と、前記入力部に入力されたソースコードおよび重み情報を記憶する記憶部と、前記記憶部内のソースコードから、前記構成要素の組み合わせと、前記構成要素間の依存関係の数である依存頻度と、前記依存種類と、の対応関係を前記構成要素の組み合わせ毎に依存関係情報として抽出する依存関係抽出部と、前記依存関係情報と前記重み情報とを用いて前記依存頻度に前記重みに応じた重み付けを行うことにより、前記構成要素の組み合わせと当該構成要素間の依存種類との組み合わせに応じた依存強度を算出する依存強度算出部と、前記構成要素間における依存強度と、当該依存強度の前記組み合わせ内における出現頻度との対応関係を算出し、算出した対応関係に基づいて、所定値以上の出現頻度に対応する依存強度の値を前記依存強度の閾値に設定する閾値設定部と、前記構成要素の組み合わせの中から前記依存強度が前記閾値以上となるものを抽出し、抽出した構成要素の組み合わせに含まれる構成要素のうち前記ソースコードの修正対象に直接的または間接的に依存し前記ソースコードの修正対象から辿ることのできる構成要素の範囲を、前記ソースコードを修正した際の影響範囲として抽出する影響範囲抽出部と、を備え、前記入力部は、前記閾値の算出に用いる構成要素の範囲を算出範囲情報として入力し、前記記憶部は、前記算出範囲情報を記憶し、前記閾値設定部は、前記算出範囲情報で指定された構成要素の範囲に対して前記対応関係を算出し、算出した対応関係に基づいて前記閾値を設定することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides a weight that is the importance of the dependency type for each dependency type that is the type of dependency between software source code and the software components. An input unit that accepts input of weight information, a storage unit that stores source code and weight information input to the input unit, a combination of the components from the source code in the storage unit, and the configuration A dependency extraction unit that extracts a correspondence relationship between the dependency frequency, which is the number of dependency relationships between elements, and the dependency type, as dependency relationship information for each combination of the component elements, the dependency relationship information, and the weight information Is used to weight the dependence frequency according to the weight, thereby depending on the combination of the combination of the component elements and the dependency type between the component elements. Calculating a dependent intensity calculation unit for calculating a strength, and dependent intensity between the components, the correspondence between the frequency of occurrence within the combination of the dependent intensity, based on the calculated relationship, the appearance of more than a predetermined value extracting a threshold setting unit that sets the value of dependent intensity corresponding to the frequency to the threshold of the dependent intensity, what the dependent intensity from the combinations of the components is equal to or greater than the threshold value, the combination of the extracted components The range of components that can be traced from the correction target of the source code that directly or indirectly depends on the correction target of the source code among the components included in the source code is defined as the influence range when the source code is corrected comprising a influence range extraction unit for extracting, wherein the input unit inputs the range of components used for calculating the threshold as calculated range information, wherein the storage unit Storing the calculated range information, the threshold setting unit, the correspondence between calculated for a range of the specified components in the calculating range information, set the threshold value based on the calculated correspondence Rukoto It is characterized by.
本発明によれば、ソフトウェアを正確かつ容易に評価することが可能になるという効果を奏する。 According to the present invention, it is possible to evaluate software accurately and easily.
以下に、本発明の実施の形態に係るソフトウェア評価装置、ソフトウェア評価方法およびシステム評価装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。 Hereinafter, a software evaluation device, a software evaluation method, and a system evaluation device according to embodiments of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to these embodiments.
実施の形態1.
図1は、実施の形態1に係る影響度分析装置の構成を示すブロック図である。影響度分析装置101は、ソフトウェア(S/W)構成要素間(依存関係)の種類毎に設定された重み付け(重要度)に応じたS/W構成要素の影響度に関する分析を行うコンピュータなどの装置である。影響度分析装置101は、S/Wの構造分析や影響範囲分析に利用可能なようS/W構造を可視化する。影響度分析装置101は、S/W構造を評価する際に、DSM(Design Structure MatrixまたはDependency Structure Matrix)(設計構造行列)を用いる。
FIG. 1 is a block diagram showing the configuration of the influence analysis device according to the first embodiment. The
影響度分析装置101は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部(影響範囲抽出部)9と、出力部202と、表示部203と、を備えている。
The
入力部201は、ソースコード1やS/W構成要素11を外部装置などから入力して記憶部Mに送る。また、入力部201は、ユーザから入力される依存種類テーブル4、閾値Tを記憶部Mに送る。ソースコード1は、S/W(コンピュータプログラム)の元となる文字の羅列(コンピュータに対する一連の指示)である。
The
閾値Tは、S/W構成要素が所定値以上の影響度(後述する重み付依存強度)を有するか否かの判断基準となる値であり、ユーザによってS/W構成要素毎に設定される。重み付DSM8は、依存元のS/W構成要素と、依存先のS/W構成要素と、の組み合わせ(S/W構成要素間)毎に算出された重み付依存強度を示す情報である。S/W構成要素11は、S/W構成要素のうち依存関係の判定対象となるS/W構成要素(ユーザ所望のS/W構成要素)であり、ユーザによって指定される。
The threshold value T is a value that serves as a criterion for determining whether or not the S / W component has an influence level (weighted dependence strength described later) of a predetermined value or more, and is set by the user for each S / W component. . The weighted DSM 8 is information indicating the weighted dependency strength calculated for each combination (between S / W components) of the dependency source S / W component and the dependency destination S / W component. The S /
依存関係抽出部2は、ソースコード1からS/W構成要素間の依存関係を抽出し、依存関係リスト3を作成する。依存関係抽出部2は、作成した依存関係リスト3を記憶部Mに記憶させる。図2は、依存関係リストの構成例を示す図である。依存関係リスト3は、依存元のS/W構成要素と、依存先のS/W構成要素と、依存種類と、依存頻度と、が対応付けされた情報(依存関係情報)である。
The dependency
依存元のS/W構成要素は、依存関係のある関数のうち依存元となる関数(S/W構成要素)であり、依存先のS/W構成要素は、依存関係のある関数のうち依存先となる関数(S/W構成要素)である。 The dependency source S / W component is a function (S / W component) that is a dependency source among functions having dependency relationships, and the dependency destination S / W component is a dependency among functions having dependency relationships. This is the previous function (S / W component).
依存種類は、依存関係の種類であり、例えば、「インクルード」、「マクロ」、「関数の呼び出し」などである。依存頻度は、依存関係の回数である。例えば、依存関係リスト3の行13では、file1.cppのfunc関数からfile2.cppのexp1関数への「関数の呼び出し」という依存頻度が4回あることを示している。
The dependency type is a dependency type, for example, “include”, “macro”, “function call”, and the like. The dependency frequency is the number of dependency relationships. For example, line 13 of
重み付依存強度算出部5は、依存関係抽出部2で作成された依存関係リスト3と、依存種類テーブル4と、を用いて、依存関係リスト3を重み付依存関係リスト6に変換する。重み付依存強度算出部5は、変換した重み付依存関係リスト6を記憶部Mに記憶させる。
The weighted dependency
図3は、依存種類テーブルの構成例を示す図である。依存種類テーブル4は、依存種類と、重みと、が対応付けされた情報(重み情報)であり、ユーザによって設定される。重みは、依存種類に設定されている重み付けである。本実施の形態では、依存種類毎に重みが設定されている。例えば、依存種類テーブル4の行15では、「関数の呼び出し」という依存種類の重みが、0.9であることを示している。
FIG. 3 is a diagram illustrating a configuration example of the dependency type table. The dependency type table 4 is information (weight information) in which the dependency type is associated with the weight, and is set by the user. The weight is a weight set for the dependency type. In this embodiment, a weight is set for each dependency type. For example, the
図4は、重み付依存関係リストの構成例を示す図である。図4では、図2の依存関係リスト3と、図3の依存種類テーブル4と、を用いて作成された重み付依存関係リスト6の構成例を示している。重み付依存関係リスト6は、依存元のS/W構成要素と、依存先のS/W構成要素と、依存種類と、重み付依存強度と、が対応付けされた情報である。
FIG. 4 is a diagram illustrating a configuration example of a weighted dependency relationship list. FIG. 4 shows a configuration example of a weighted
重み付依存強度は、依存種類の重みを考慮した依存頻度である。重み付依存強度は、例えば、依存関係リスト3の依存頻度と、依存種類テーブル4の重みと、を掛け合わせることによって算出される。
The weighted dependence strength is a dependence frequency considering the weight of the dependence type. The weighted dependence strength is calculated, for example, by multiplying the dependence frequency in the
図2に示した依存関係リスト3の行13では、file1.cppのfunc関数からfile2.cppのexp1関数へ「関数の呼び出し」が設定されている。そして、依存関係リスト3の行13での依存頻度が4回あり、図3に示した依存種類テーブル4の行15での「関数の呼び出し」の重みが0.9である。したがって、重み付依存強度算出部5は、依存頻度(4回)×重み(0.9)=重み付依存強度によって、重み付依存強度=3.6を算出する。これにより、重み付依存関係リスト6の行16では、file1.cppのfunc関数からfile2.cppのexp1関数への「関数の呼び出し」という依存関係の重み付依存強度が3.6となる。このように、本実施の形態では、依存種類毎に、重み付依存強度が算出される。
In line 13 of the
重み付DSM生成部7は、重み付依存強度算出部5が作成した重み付依存関係リスト6(処理結果)に基づいて、重み付DSM8を生成する。また、重み付DSM生成部7は、重み付DSM8を用いて、後述のファイル単位重み付DSM40を生成する。重み付DSM生成部7は、生成した重み付DSM8、ファイル単位重み付DSM40を記憶部Mに記憶させる(ファイル単位重み付DSM40は、図1内に図示せず)。
The weighted
図5は、実施の形態1に係る重み付DSMの構成例を示す図である。図5では、図4の重み付依存関係リスト6を用いて作成された重み付DSM8の構成例を示している。重み付DSM8は、S/W構成要素間毎に算出された重み付依存強度を示す情報である。図5の重み付DSM8では、列方向に依存元のS/W構成要素が並べられ、行方向に依存先のS/W構成要素が並べられている。そして、依存元のS/W構成要素と、依存先のS/W構成要素と、の組み合わせである、依存元のS/W構成要素と依存先のS/W構成要素との交点の位置に、重み付依存強度の値が入れられている。例えば、範囲24A内のセル17では、file1.cppのfunc関数(依存元)からfile2.cppのexp1関数(依存先)への重み付依存強度が3.6であることを示している。
FIG. 5 is a diagram illustrating a configuration example of the weighted DSM according to the first embodiment. FIG. 5 shows a configuration example of the
重み付DSM生成部7は、重み付依存関係リスト6から各依存関係を重み付DSM8内の該当するセルに加算していくことで、重み付DSM8を生成する。例えば、セル17は、依存元がfile1.cppのfunc関数、依存先がfile2.cppのexp1関数である図4に示した行16の値である。
The weighted
図6は、図5に示した重み付DSMをファイル単位で示した図である。ファイル単位重み付DSM40は、図5に示した重み付DSM8をファイル単位で示した情報である。ファイル単位重み付DSM40では、依存元のS/W構成要素と、依存先のS/W構成要素と、の組み合わせ毎に算出された重み付依存強度を、ファイル単位で表現している。したがって、ファイル単位重み付DSM40は、依存元のファイと、依存先のファイルと、の組み合わせ毎に算出された重み付依存強度を示す情報である。
FIG. 6 is a diagram showing the weighted DSM shown in FIG. 5 in units of files. The file unit weighted
図5に示した重み付DSM8には、依存元のファイとしてfile1.cpp、file2.cpp、file2.h、file3.h、file4.hのファイルがあり、依存先のファイとしてfile1.cpp、file2.cpp、file2.h、file3.h、file4.hのファイルがある。このため、ファイル単位重み付DSM40では、file1.cpp、file2.cpp、file2.h、file3.h、file4.hと、file1.cpp、file2.cpp、file2.h、file3.h、file4.hと、の組み合わせ毎に算出された重み付依存強度を示している。
The
例えば、図5に示した重み付DSM8では、依存元のfile1.cppのファイルとして、file1.cpp、file1.cpp/main()、file1.cpp/func()がある。また、依存先のfile2.hのファイルとして、file2.h、file2.h/exp1(int)がある。そして、これらの組み合わせのうち、依存元のfile1.cppと、依存先のfile2.hと、の組み合わせに対する重み付依存強度として0.3が設定され、依存元のfile1.cpp/func()と、依存先のfile2.h/exp1(int)と、の組み合わせに対する重み付依存強度として0.4が設定されている。このため、ファイル単位重み付DSM40では、依存元のfile1.cppのファイルと、依存先のfile2.hのファイルと、の組み合わせに対する重み付依存強度として、0.3+0.4=0.7が設定されている。
For example, in the
影響度分析部9は、ファイル単位重み付DSM40(重み付DSM8)内のS/W構成要素のうち、S/W構成要素11に依存するS/W構成要素であって重み付依存強度が閾値Tを超えるS/W構成要素を抽出し、抽出したS/W構成要素を用いて影響範囲リスト12を作成する。影響度分析部9は、作成した影響範囲リスト12を記憶部Mに記憶させる。影響範囲リスト12は、S/W構成要素11に依存するS/W構成要素であって重み付依存強度が閾値Tを超えるS/W構成要素のリストである。影響範囲リスト12は、ソースコードを修正した場合の影響の範囲として、閾値Tを超える重み付依存強度を有したS/W構成要素が登録される。
The
記憶部Mは、ソースコード1、依存種類テーブル4、閾値T、S/W構成要素11、依存関係リスト3、重み付依存関係リスト6、重み付DSM8、影響範囲リスト12を記憶するメモリなどである。
The storage unit M is a memory that stores the
出力部202は、依存関係リスト3、重み付依存関係リスト6、重み付DSM8、ファイル単位重み付DSM40、影響範囲リスト12を外部装置などに出力する。なお、出力部202からは、ソースコード1、依存種類テーブル4、閾値T、S/W構成要素11を出力してもよい。
The
表示部203は、依存関係リスト3、重み付依存関係リスト6、重み付DSM8、ファイル単位重み付DSM40、影響範囲リスト12、ソースコード1、依存種類テーブル4、閾値T、S/W構成要素11などを表示する液晶モニタなどの装置である。
The
つぎに、S/Wの影響度の分析処理手順(影響範囲リスト12の作成処理手順)について説明する。入力部201へは、予めソースコード1、依存種類テーブル4、閾値Tが入力される。入力部201は、ソースコード1、依存種類テーブル4、閾値Tを記憶部Mに記憶させる。
Next, an analysis process procedure of the S / W influence level (a process procedure for creating the influence range list 12) will be described.
依存関係抽出部2は、ソースコード1から依存関係を抽出し、依存関係リスト3を作成する。そして、依存関係抽出部2は、作成した依存関係リスト3を記憶部Mに記憶させる。さらに、重み付依存強度算出部5は、依存関係抽出部2で作成された依存関係リスト3と、依存種類テーブル4と、を用いて、依存関係リスト3を重み付依存関係リスト6に変換する。重み付依存強度算出部5は、変換した重み付依存関係リスト6を記憶部Mに記憶させる。
The dependency
ここで、重み付依存強度算出部5による重み付依存強度の算出処理手順について説明する。図7は、重み付依存強度の算出処理手順を示すフローチャートである。重み付依存強度算出部5は、依存関係リスト3内の全てのS/W構成要素(依存元のS/W構成要素と依存先のS/W構成要素の組)に対して、重み付依存関係リスト6への変換を行ったか否かを判定する(ステップS101)。
Here, the calculation processing procedure of the weighted dependency strength by the weighted dependency
依存関係リスト3内の全てのS/W構成要素に対して、重み付依存関係リスト6への変換を行っている場合(ステップS101、Yes)、全依存関係の重み付依存強度の算出処理が完了しているので終了する。
When all the S / W components in the
一方、依存関係リスト3内の全てのS/W構成要素に対して、重み付依存関係リスト6への変換を行っていない場合(ステップS101、No)、重み付依存強度の算出処理が終わっていない依存関係があるので、重み付依存強度の算出処理を行う。すなわち、ステップS102〜S105の処理を実行する。
On the other hand, when the conversion to the weighted
具体的には、重み付依存強度算出部5は、重み付依存強度の算出処理が未実施の依存関係から1つの依存関係(依存元のS/W構成要素と依存先のS/W構成要素の組)を選択する(ステップS102)。そして、重み付依存強度算出部5は、選択した依存関係の依存種類に一致する依存種類を依存種類テーブル4から検索し、依存種類に対応する重みを求める(ステップS103)。さらに、重み付依存強度算出部5は、選択した依存関係の依存頻度と、取得した重みと、を掛け合わせて重み付依存強度を計算する(ステップS104)。
Specifically, the weighted dependency
そして、重み付依存強度算出部5は、算出した重み付依存強度と、ステップS102の処理で選択した依存関係(依存元のS/W構成要素および依存先のS/W構成要素の組と、依存種類)と、を重み付依存関係リスト6に追加する(ステップS105)。この後、依存関係リスト3内の全てのS/W構成要素に対して、重み付依存関係リスト6への変換を行なうまで、ステップS101〜S105の処理が繰り返される。
Then, the weighted dependence
重み付依存関係リスト6が作成された後、重み付DSM生成部7は、重み付依存関係リスト6に基づいて、重み付DSM8を生成する。また、重み付DSM生成部7は、重み付DSM8を用いてファイル単位重み付DSM40を生成する。重み付DSM生成部7は、生成した重み付DSM8、ファイル単位重み付DSM40を記憶部Mに記憶させる。
After the weighted
表示部203は、重み付DSM8、ファイル単位重み付DSM40、影響範囲リスト12などを表示する。この後、ユーザによって入力部201からS/W構成要素11が入力され、記憶部Mで記憶される。
The
影響度分析部9は、ファイル単位重み付DSM40内のS/W構成要素のうち、S/W構成要素11に依存するS/W構成要素であって重み付依存強度が閾値Tを超えるS/W構成要素を抽出し、抽出したS/W構成要素を用いて影響範囲リスト12を作成する。
The
S/W構成要素11では、例えば、ユーザによって図6のファイル単位重み付DSM40のS/W構成要素「file4.h」が指定される。この場合、影響度分析部9は、S/W構成要素「file4.h」に直接的または間接的に依存するS/W構成要素であって、閾値T=3.0を超えるS/W構成要素を抽出する。まず、影響度分析部9は、「file4.h」に依存するS/W構成要素であって、閾値T=3.0を超えるS/W構成要素を抽出する。ファイル単位重み付DSM40に登録されているS/W構成要素のうち、S/W構成要素「file4.h」に依存しているものは、行18より「file1.cpp」(依存強度:2.7)と「file2.cpp」(依存強度:3.9)である。このため。影響度分析部9は、例えば、S/W構成要素「file4.h」の影響範囲が閾値T=3.0である場合、閾値T=3.0を超える「file2.cpp」を抽出する。
In the S /
さらに、影響度分析部9は、抽出した「file2.cpp」に依存するS/W構成要素であって、閾値T=3.0を超えるS/W構成要素を抽出する。ファイル単位重み付DSM40に登録されているS/W構成要素「file2.cpp」に依存しているものは、行19より「file1.cpp」(依存強度:3.6)である。このため、影響度分析部9は、「file2.cpp」に依存している「file1.cpp」を抽出する。そして、抽出した「file1.cpp」に依存しているS/W構成要素で閾値T=3.0を超えるものはないので、影響範囲リスト12には「file1.cpp」、「file2.cpp」の2つが登録されることとなる。
Further, the
このように、影響度分析部9は、ユーザによって指定されたS/W構成要素に依存するS/W構成要素を抽出し、抽出したS/W構成要素に依存するS/W構成要素を抽出するという処理を繰り返す。換言すると、影響度分析部9は、S/W構成要素に依存するS/W構成要素を順番に辿っていく。そして、影響度分析部9は、抽出したS/W構成要素を影響範囲リスト12に登録することによって、影響範囲リスト12を作成する。
As described above, the
影響度分析部9は、作成した影響範囲リスト12を記憶部Mに記憶させる。表示部203は、重み付依存関係リスト6、重み付DSM8、ファイル単位重み付DSM40、影響範囲リスト12などを表示する。また、出力部202は、必要に応じて、重み付依存関係リスト6、重み付DSM8、影響範囲リスト12などを外部装置などに出力する。
The
ここで、本実施形態の重み付DSM8と、従来手法により生成したDSMと、の相違点について説明する。図8は、依存種類を考慮せずに作成されたDSMの構成例を示す図である。DSM51は、従来手法によって作成されたDSMであり、関数や変数といったS/W構成要素を最小粒度で表現したDSMである。DSM51では、列方向に依存元のS/W構成要素が並べられ、行方向に依存先のS/W構成要素が並べられている。そして、依存元のS/W構成要素と、依存先のS/W構成要素と、の組み合わせである、依存元のS/W構成要素と依存先のS/W構成要素との交点の位置に、依存強度(依存頻度)の値が入れられている。このDSM51における依存頻度は、依存種類や重み付を考慮せずに算出された依存頻度である。例えば、セル14では、file1.cppのfunc関数からfile2.cppのexp1関数への依存強度が4であることを示している。
Here, the difference between the
図9は、依存種類を考慮せずに作成されたDSMをファイル単位で示した図である。ファイル単位DSM52は、図8に示したDSM51をファイル単位で示したものである。このように、従来のDSM51やファイル単位DSM52は、依存種類や重み付を考慮せずに作成されているので、依存の強さを判断することは困難である。
FIG. 9 is a diagram showing the DSM created without considering the dependency type in units of files. The
このように、実施の形態1によれば、依存種類毎の重みを考慮してDSM(重み付DSM8、ファイル単位重み付DSM40)を作成している。このため、数値による依存強度の強弱把握、修正影響範囲を自動検出でき、属人性排除によるアーキテクチャ解析技術の高度化および解析作業の効率化が可能となる。したがって、S/Wを正確かつ容易に評価することが可能になるという効果を奏する。 As described above, according to the first embodiment, the DSM (weighted DSM8, file unit weighted DSM40) is created in consideration of the weight for each dependency type. For this reason, it is possible to grasp the strength of dependence by numerical values, automatically detect the range of influence of modification, and to improve the architecture analysis technology and efficiency of analysis work by eliminating personality. Therefore, there is an effect that S / W can be accurately and easily evaluated.
実施の形態2.
つぎに、図10および図11を用いてこの発明の実施の形態2について説明する。前述の実施の形態1では、影響度分析部9に入力する閾値Tが、ユーザによって与えられていた。本実施の形態では、閾値Tを、重み付DSM8を元に自動調整(算出)する。
Next, a second embodiment of the present invention will be described with reference to FIGS. In the first embodiment described above, the threshold value T input to the
図10は、実施の形態2に係る影響度分析装置の構成を示すブロック図である。図10の各構成要素のうち図1に示す実施の形態1の影響度分析装置101と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 10 is a block diagram illustrating a configuration of the influence analysis device according to the second embodiment. Of the constituent elements in FIG. 10, constituent elements that achieve the same functions as those of the
実施の形態2に係る影響度分析装置102は、影響度分析装置101が有する機能に加えて閾値自動調整部(閾値設定部)20を有している。具体的には、影響度分析装置102は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、閾値自動調整部20と、を備えている。
The
閾値自動調整部20は、記憶部Mに接続されており、記憶部M内の重み付DSM8を用いて記憶部M内に閾値Tを設定する。閾値自動調整部20は、重み付DSM8から依存情報(依存強度毎の出現頻度)を抽出し、依存情報に基づいて統計的に閾値Tを算出する。本実施の形態の影響度分析部9は、閾値自動調整部20が算出した閾値Tを用いて影響範囲リスト12を作成する。
The threshold
つぎに、閾値Tの自動調整方法の一例を、実施の形態1の図5に示した重み付DSM8を用いて説明する。図11は、依存強度に対する出現頻度を示す図である。図11では、依存強度と出現頻度との関係を示しており、横軸が依存強度であり縦軸が出現頻度(系列2)である。
Next, an example of a method for automatically adjusting the threshold value T will be described using the
系列1は、S/W構成要素の個数であり、系列2は、S/W構成要素の割合である。具体的には、系列1は、横軸に示す依存強度の範囲に含まれるS/W構成要素の重み付DSM8内での個数であり、系列2は、横軸に示す依存強度の範囲に含まれるS/W構成要素が重み付DSM8の全体に占める割合(個数の割合)である。例えば、図5の重み付DSM8には、依存強度が0.5以内であるS/W構成要素が10個ある。また、重み付DSM8には、依存強度の登録されているS/W構成要素が全部で15個ある。したがって、依存強度が登録されているS/W構成要素のうち、依存強度が0.5以内のS/W構成要素は10/15=0.67であり、全体の約67%である。これにより、系列2として67%が示されている。また、依存強度の0〜1.0は、出現頻度が約0.87(87%)である。
例えば、出現頻度が80%を超える依存強度を閾値Tに設定する場合、閾値自動調整部20は、図11の関係に基づいて、閾値Tを1.0に設定する。このように、依存強度に対する出現頻度の関係を用いて閾値Tを自動調整しておくので、影響度分析部9は、所定値以上の出現頻度があるS/W構成要素を抽出することが可能となる。なお、閾値自動調整部20は、依存強度に対する出現頻度の関係を用いた方法以外の方法で閾値Tを自動調整してもよい。
For example, in the case where the dependency strength with an appearance frequency exceeding 80% is set as the threshold T, the threshold
このように、実施の形態2によれば、依存強度に対する出現頻度の関係を用いて閾値Tを自動調整するので、属人性を排除した閾値Tの自動設定が可能となる。したがって、S/Wアーキテクチャ解析技術の高度化および解析作業の高効率化が可能となる。 As described above, according to the second embodiment, the threshold T is automatically adjusted using the relationship of the appearance frequency to the dependency strength. Therefore, the threshold T can be automatically set without belongings. Therefore, it is possible to improve the S / W architecture analysis technology and increase the efficiency of analysis work.
実施の形態3.
つぎに、図12を用いてこの発明の実施の形態3について説明する。前述の実施の形態2では、閾値自動調整部20が、S/W全体の依存関係の統計データから閾値Tの自動設定を行っていた。本実施の形態では、閾値Tを自動調整する際に用いるS/W構成要素の範囲を指定しておく。
Next,
図12は、実施の形態3に係る影響度分析装置の構成を示すブロック図である。図12の各構成要素のうち図1に示す実施の形態1の影響度分析装置101と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 12 is a block diagram showing the configuration of the influence analysis device according to the third embodiment. Of the constituent elements in FIG. 12, constituent elements that achieve the same functions as those of the
実施の形態3に係る影響度分析装置103は、影響度分析装置101が有する機能に加えて算出範囲付閾値自動調整部22を有している。具体的には、影響度分析装置103は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、算出範囲付閾値自動調整部22と、を備えている。
The
入力部201へは、予め算出範囲23が入力され、記憶部Mで記憶される。算出範囲23は、閾値Tの自動算出に用いるS/W構成要素の一覧(算出範囲情報)である。したがって、本実施の形態では、算出範囲23で指定されたS/W構成要素の依存情報(依存強度毎の出現頻度)を用いて閾値Tが算出される。
The
算出範囲付閾値自動調整部22は、算出範囲23で指定されたS/W構成要素の範囲にある依存情報を重み付DSM8から抽出し、抽出した依存情報を用いて閾値Tを算出する。例えば、図5に示した重み付DSM8から閾値Tを算出する際に、算出範囲23として以下のS/W構成要素を指定した場合には、範囲24Aの依存強度が閾値Tの算出に用いられる。
算出範囲23:
File1.cpp、file1.cpp/main()、file1.cpp/func()
file2.cpp、file2.cpp/exp1(int)
file2.h、file2.h/exp1(int)
The calculation range-added threshold
Calculation range 23:
File1.cpp, file1.cpp / main (), file1.cpp / func ()
file2.cpp, file2.cpp / exp1 (int)
file2.h, file2.h / exp1 (int)
算出範囲付閾値自動調整部22は、算出した閾値Tを記憶部Mに記憶させる。影響度分析部9は、算出範囲付閾値自動調整部22が算出した閾値Tを用いて影響範囲リスト12を作成する。
The calculation range-added threshold
このように、実施の形態3によれば、閾値Tの算出に用いるS/W構成要素を算出範囲23によって詳細に設定することができる。そして、算出範囲23で指定されたS/W構成要素の範囲にある依存情報を用いて閾値Tを算出するので、閾値Tの確からしさを向上させることが可能となる。
Thus, according to the third embodiment, the S / W component used for calculating the threshold value T can be set in detail by the
実施の形態4.
つぎに、図13を用いてこの発明の実施の形態4について説明する。前述の実施の形態2では、閾値自動調整部20が、1つの計算方法によって閾値Tの自動設定を行っていた。本実施の形態では、S/Wの特徴に合わせた閾値算出方法のテンプレートを準備しておき、閾値自動調整部20がテンプレートに応じた閾値Tを算出する。
Next, a fourth embodiment of the present invention will be described with reference to FIG. In the second embodiment described above, the threshold
図13は、実施の形態4に係る影響度分析装置の構成を示すブロック図である。図13の各構成要素のうち図1に示す実施の形態1の影響度分析装置101と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 13 is a block diagram showing the configuration of the influence analysis device according to the fourth embodiment. Of the constituent elements in FIG. 13, constituent elements that achieve the same functions as those of the
実施の形態4に係る影響度分析装置104は、影響度分析装置101が有する機能に加えてテンプレート使用閾値自動調整部25を有している。具体的には、影響度分析装置103は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、テンプレート使用閾値自動調整部25と、を備えている。
The influence analysis device 104 according to the fourth embodiment includes a template use threshold
入力部201へは、予め算出テンプレート26が入力され、記憶部Mで記憶される。算出テンプレート26は、閾値Tの算出に用いる閾値算出方法(閾値Tの調整方法)を複数保持している。したがって、この算出テンプレート26内に設定されている閾値算出方法を切り替えることで、閾値Tの算出方法を切り替えることができる。閾値算出方法は、S/Wの言語の特性やS/Wの組成に応じて種々設定される。
The
テンプレート使用閾値自動調整部25は、重み付DSM8から依存情報を抽出し、ユーザなどによって指定された算出テンプレート26内の閾値算出方法を用いて閾値Tを算出する。
The template use threshold
このように、実施の形態4によれば、S/Wの言語の特性やS/Wの組成に応じて閾値算出方法を選択できるので、S/Wに応じた閾値算出方法を設定することが可能となる。したがって、閾値Tの確からしさを向上させることが可能となる。 As described above, according to the fourth embodiment, the threshold value calculation method can be selected according to the S / W language characteristics and the S / W composition. Therefore, it is possible to set the threshold value calculation method according to the S / W. It becomes possible. Therefore, it is possible to improve the certainty of the threshold value T.
実施の形態5.
つぎに、図14および図15を用いてこの発明の実施の形態5について説明する。前述の実施の形態1では、ユーザによって依存種類テーブル4が与えられていた。本実施の形態では、依存種類テーブル4を過去の解析データに基づいて自動調整する。
Next, a fifth embodiment of the present invention will be described with reference to FIGS. In the first embodiment described above, the dependency type table 4 is given by the user. In the present embodiment, the dependency type table 4 is automatically adjusted based on past analysis data.
図14は、実施の形態5に係る影響度分析装置の構成を示すブロック図である。図14の各構成要素のうち図1に示す実施の形態1の影響度分析装置101と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 14 is a block diagram showing the configuration of the influence analysis device according to the fifth embodiment. Of the constituent elements shown in FIG. 14, the constituent elements that achieve the same functions as those of the
実施の形態5に係る影響度分析装置105は、影響度分析装置101が有する機能に加えて解析データ蓄積装置(蓄積部)27、重み自動調整部(重み情報生成部)28を有している。具体的には、影響度分析装置105は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、解析データ蓄積装置27と、重み自動調整部28と、を備えている。
The
解析データ蓄積装置27は、S/Wの解析(影響範囲リスト12の作成)を行うたびに、依存種類テーブル4に関する情報(蓄積データ)を蓄積する。なお、解析データ蓄積装置27は、重み付DSM8を参照して依存種類テーブル4に関する情報を蓄積してもよい。
The analysis
重み自動調整部28は、解析データ蓄積装置27に蓄積された蓄積データに基づいて各依存種類の重みを算出し、依存種類テーブル4を生成する。重み自動調整部28では、蓄積データから所定の算式によって重みを算出し、これにより依存種類テーブル4を生成する。そして、必要に応じてユーザにより重みの補正が行なわれる。
The automatic
重み自動調整部28による重みの算出方法の一例について説明する。図15は、重みの算出方法の一例を説明するための図である。ここでは、直近5回のS/W解析(重み付依存関係リスト6の作成)に用いた重みの平均値に基づいて、次に用いる重みを算出する場合について説明する。図15では、直近5回分の依存種類テーブル4の重みの設定値と、この設定値を用いて算出された重みと、を依存種類毎に示している。
An example of a weight calculation method by the weight
重み1〜重み5は、直近5回のS/W解析に用いた重みである。また、重み6は、重み1〜重み5の平均値であり、次のS/W解析に設定される重みである。したがって、重み自動調整部28によって自動調整された重みは、列29の重みとなる。これにより、重み自動調整部28は、依存種類テーブル4に重み6を設定しておく。そして、次のS/W解析では、重み6が設定された依存種類テーブル4を用いて、依存関係リスト3を重み付依存関係リスト6に変換する。
なお、直近N回(Nは自然数)のS/W解析に用いた重みの平均値に基づいて次に用いる重みを算出する場合、初回〜(N−1)回目のS/W解析を行う際には、ユーザによって与えられた依存種類テーブル4が用いられる。 When calculating the weight to be used next based on the average value of the weights used in the most recent N times (N is a natural number) S / W analysis, when performing the first to (N-1) th S / W analysis The dependency type table 4 given by the user is used.
このように、実施の形態5によれば、過去の解析データから自動で依存種類の重みを設定できるので、さらに属人性排除によるS/Wアーキテクチャ解析技術の高度化および解析作業の高効率化が可能となる。 As described above, according to the fifth embodiment, the dependency type weights can be automatically set from the past analysis data, so that the S / W architecture analysis technology and the efficiency of analysis work can be improved by eliminating personality. It becomes possible.
実施の形態6.
つぎに、図16および図17を用いてこの発明の実施の形態6について説明する。前述の実施の形態1では、重み付DSM8によって全ての依存情報を表示していた。本実施の形態では、閾値T以下の依存情報を表示しないよう依存情報のフィルタリングを行う。
Next, a sixth embodiment of the present invention will be described with reference to FIGS. In the first embodiment described above, all dependency information is displayed by the
図16は、実施の形態6に係る影響度分析装置の構成を示すブロック図である。図16の各構成要素のうち図1に示す実施の形態1の影響度分析装置101と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 16 is a block diagram showing the configuration of the influence analysis device according to the sixth embodiment. Of the constituent elements in FIG. 16, constituent elements that achieve the same functions as those of the
実施の形態6に係る影響度分析装置106は、影響度分析装置101が有する機能に加えて依存強度フィルタリング部(抽出部)30を有している。具体的には、影響度分析装置106は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、依存強度フィルタリング部30と、を備えている。
The
依存強度フィルタリング部30は、閾値Tを元に閾値Tよりも小さい重み付依存強度を重み付DSM8から非表示にする。換言すると、依存強度フィルタリング部30は、閾値Tと重み付DSM8内の重み付依存強度を比較し、閾値Tよりも小さい重み付依存強度を重み付DSM8から除外する。表示部203は、依存強度フィルタリング部30で除外されなかった重み付依存強度を重み付DSM8として表示する。
The dependency
ここで、依存情報のフィルタリングについて説明する。図17は、実施の形態6に係る重み付DSMの構成例を示す図である。図17では、図5の重み付DSM8に対して依存情報(重み付依存強度)のフィルタリングが行われた重み付DSM8の構成例を示している。
Here, filtering of dependency information will be described. FIG. 17 is a diagram illustrating a configuration example of the weighted DSM according to the sixth embodiment. FIG. 17 shows a configuration example of the
例えば、閾値Tが1.0の場合、フィルタリングを行った後の重み付DSM8は、図17に示した重み付DSM8となる。具体的には、図5の重み付DSM8から、閾値Tが1.0未満の重み付依存強度が非表示にされて、新たな重み付DSM8が表示部203で表示される。例えば、範囲24Bでは、セル17の重み付依存強度のみが残され、他の重み付依存強度は非表示にされる。
For example, when the threshold T is 1.0, the
このように、実施の形態6によれば、閾値Tよりも小さい重み付依存強度を重み付DSM8から非表示にするので、重み付依存強度の弱い依存関係見る必要がなくなる。このため、非表示にされた依存関係よりも依存関係の強い依存関係に容易に着目することが可能となり、その結果、解析作業の高効率化が可能となる。
As described above, according to the sixth embodiment, since the weighted dependency strength smaller than the threshold value T is hidden from the
なお、実施の形態1〜6で説明した影響度分析装置101〜106の機能を組み合わせてもよい。例えば、影響度分析装置102と影響度分析装置105の機能を組み合わせた影響度分析装置は、入力部201と、記憶部Mと、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、出力部202と、表示部203と、閾値自動調整部20と、解析データ蓄積装置27と、重み自動調整部28と、を備える構成となる。
In addition, you may combine the function of the influence analysis apparatuses 101-106 demonstrated in Embodiment 1-6. For example, an influence analysis device combining the functions of the
つぎに、影響度分析装置101〜106のハードウェア構成について説明する。なお、影響度分析装置101〜106は、それぞれ同様のハードウェア構成を有しているので、ここでは影響度分析装置101のハードウェア構成について説明する。
Next, the hardware configuration of the
図18は、影響度分析装置のハードウェア構成を示す図である。影響度分析装置101は、CPU(Central Processing Unit)91、ROM(Read Only Memory)92、RAM(Random Access Memory)93、表示部94、入力部95を有している。影響度分析装置101では、これらのCPU91、ROM92、RAM93、表示部94、入力部95がバスラインBを介して接続されている。
FIG. 18 is a diagram illustrating a hardware configuration of the influence analysis apparatus. The
CPU91は、コンピュータプログラムである影響度分析プログラム90を用いてパターンの判定を行う。表示部94は、液晶モニタなどの表示装置であり、CPU91からの指示に基づいて、依存関係リスト3、重み付依存関係リスト6、重み付DSM8、影響範囲リスト12などを表示する。入力部95は、マウスやキーボードを備えて構成され、使用者から外部入力される指示情報(S/Wの影響度分析に必要なパラメータ等)を入力する。入力部95へ入力された指示情報は、CPU91へ送られる。
The
影響度分析プログラム90は、ROM92内に格納されており、バスラインBを介してRAM93へロードされる。CPU91はRAM93内にロードされた影響度分析プログラム90を実行する。具体的には、影響度分析装置101では、使用者による入力部95からの指示入力に従って、CPU91がROM92内から影響度分析プログラム90を読み出してRAM93内のプログラム格納領域に展開して各種処理を実行する。CPU91は、この各種処理に際して生じる各種データをRAM93内に形成されるデータ格納領域に一時的に記憶させておく。
The
影響度分析装置101で実行される影響度分析プログラム90は、依存関係抽出部2と、重み付依存強度算出部5と、重み付DSM生成部7と、影響度分析部9と、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
The
なお、上記した実施の形態1〜6では、S/W(S/W構成要素)の評価を行う場合について説明したが、システム(システム構成要素)の評価を行ってもよい。システム構成要素は、例えばS/W構成要素以外の互いに依存関係のある構成要素であり、プロセスを構成するタスクなどである。システム構成要素の評価を行なう場合、例えば、依存関係抽出部2は、システムのソースコードから依存関係リストを抽出する。
In the first to sixth embodiments described above, the case where the S / W (S / W component) is evaluated has been described. However, the system (system component) may be evaluated. The system component is a component having a dependency relationship other than the S / W component, for example, and is a task constituting a process. When the system component is evaluated, for example, the dependency
以上のように、本発明に係るソフトウェア評価装置およびソフトウェア評価方法は、ソフトウェアの構造分析や影響範囲分析に適し、本発明に係るシステム評価装置は、システムの構造分析や影響範囲分析に適している。 As described above, the software evaluation apparatus and the software evaluation method according to the present invention are suitable for software structure analysis and influence range analysis, and the system evaluation apparatus according to the present invention is suitable for system structure analysis and influence range analysis. .
1 ソースコード
2 依存関係抽出部
3 依存関係リスト
4 依存種類テーブル
5 重み付依存強度算出部
6 重み付依存関係リスト
7 重み付DSM生成部
8 重み付DSM
9 影響度分析部
12 影響範囲リスト
20 閾値自動調整部
22 算出範囲付閾値自動調整部
23 算出範囲
25 テンプレート使用閾値自動調整部
26 算出テンプレート
27 解析データ蓄積装置
28 重み自動調整部
30 依存強度フィルタリング部
40 ファイル単位重み付DSM
101〜106 影響度分析装置
201 入力部
202 出力部
203 表示部
M 記憶部
T 閾値
DESCRIPTION OF
DESCRIPTION OF
101-106
Claims (5)
前記入力部に入力されたソースコードおよび重み情報を記憶する記憶部と、
前記記憶部内のソースコードから、前記構成要素の組み合わせと、前記構成要素間の依存関係の数である依存頻度と、前記依存種類と、の対応関係を前記構成要素の組み合わせ毎に依存関係情報として抽出する依存関係抽出部と、
前記依存関係情報と前記重み情報とを用いて前記依存頻度に前記重みに応じた重み付けを行うことにより、前記構成要素の組み合わせと当該構成要素間の依存種類との組み合わせに応じた依存強度を算出する依存強度算出部と、
前記構成要素間における依存強度と、当該依存強度の前記組み合わせ内における出現頻度との対応関係を算出し、算出した対応関係に基づいて、所定値以上の出現頻度に対応する依存強度の値を前記依存強度の閾値に設定する閾値設定部と、
前記構成要素の組み合わせの中から前記依存強度が前記閾値以上となるものを抽出し、抽出した構成要素の組み合わせに含まれる構成要素のうち前記ソースコードの修正対象に直接的または間接的に依存し前記ソースコードの修正対象から辿ることのできる構成要素の範囲を、前記ソースコードを修正した際の影響範囲として抽出する影響範囲抽出部と、
を備え、
前記入力部は、前記閾値の算出に用いる構成要素の範囲を算出範囲情報として入力し、
前記記憶部は、前記算出範囲情報を記憶し、
前記閾値設定部は、前記算出範囲情報で指定された構成要素の範囲に対して前記対応関係を算出し、算出した対応関係に基づいて前記閾値を設定することを特徴とするソフトウェア評価装置。 An input unit that accepts input of software source code and weight information indicating the weight that is the importance of the dependency type for each dependency type that is the type of dependency between the software components;
A storage unit for storing source code and weight information input to the input unit;
From the source code in the storage unit, the correspondence relationship between the combination of the component elements, the dependency frequency that is the number of dependency relationships between the component elements, and the dependency type is used as dependency relationship information for each combination of the component elements. A dependency extraction unit to extract;
By calculating the dependency frequency according to the weight by using the dependency relationship information and the weight information according to the weight, the dependency strength corresponding to the combination of the combination of the component elements and the dependency type between the component elements is calculated. A dependency strength calculation unit to
Calculate the correspondence between the dependency strength between the components and the appearance frequency in the combination of the dependency strength, and based on the calculated correspondence relationship, the value of the dependency strength corresponding to the appearance frequency equal to or higher than a predetermined value is calculated. A threshold value setting unit for setting the threshold value of the dependency strength;
Extracting those the dependent intensity from the combinations of the components is equal to or greater than the threshold value, directly or indirectly dependent of the components included in the combination of the extracted component to the correction target of the source code An influence range extraction unit that extracts a range of components that can be traced from the correction target of the source code as an influence range when the source code is corrected;
Equipped with a,
The input unit inputs a range of components used for calculation of the threshold as calculation range information,
The storage unit stores the calculation range information,
The threshold setting unit, wherein for the range of the specified components in the calculating range information to calculate the correspondence between the calculated relationship software evaluation device, characterized in that you set the threshold value based on.
前記記憶部は、前記算出テンプレートを記憶し、
前記閾値設定部は、前記影響範囲の抽出対象となるソフトウェアに応じた算出テンプレートを用いて、前記閾値を設定することを特徴とする請求項1に記載のソフトウェア評価装置。 The input unit inputs a plurality of calculation templates corresponding to the characteristics of the software as a calculation template of a threshold value calculation method used when calculating the threshold value,
The storage unit stores the calculation template,
The threshold setting unit, using the calculated template corresponding to the software subject to extraction of the influence range, software evaluation device according to claim 1, characterized in that setting the threshold value.
前記抽出部が抽出した依存強度を表示する表示部と、
をさらに備えることを特徴とする請求項1または2に記載のソフトウェア評価装置。 Of the dependency strengths calculated by the dependency strength calculation unit, an extraction unit that extracts a dependency strength greater than the threshold;
A display unit for displaying the dependency intensity extracted by the extraction unit;
Software evaluation apparatus according to claim 1 or 2, further comprising a.
前記ソースコードおよび前記重み情報を記憶する記憶ステップと、
前記ソースコードから、前記構成要素の組み合わせと、前記構成要素間の依存関係の数である依存頻度と、前記依存種類と、の対応関係を前記構成要素の組み合わせ毎に依存関係情報として抽出する依存関係抽出ステップと、
前記依存関係情報と前記重み情報とを用いて前記依存頻度に前記重みに応じた重み付けを行うことにより、前記構成要素の組み合わせと当該構成要素間の依存種類との組み合わせに応じた依存強度を算出する依存強度算出ステップと、
前記構成要素間における依存強度と、当該依存強度の前記組み合わせ内における出現頻度との対応関係を算出し、算出した対応関係に基づいて、所定値以上の出現頻度に対応する依存強度の値を前記依存強度の閾値に設定する閾値設定ステップと、
前記構成要素の組み合わせの中から前記依存強度が前記閾値以上となるものを抽出し、抽出した構成要素の組み合わせに含まれる構成要素のうち前記ソースコードの修正対象に直接的または間接的に依存し前記ソースコードの修正対象から辿ることのできる構成要素の範囲を、前記ソースコードを修正した際の影響範囲として抽出する影響範囲抽出ステップと、
を含み、
前記入力ステップでは、前記閾値の算出に用いる構成要素の範囲を算出範囲情報として入力し、
前記記憶ステップでは、前記算出範囲情報を記憶し、
前記閾値設定ステップでは、前記算出範囲情報で指定された構成要素の範囲に対して前記対応関係を算出し、算出した対応関係に基づいて前記閾値を設定することを特徴とするソフトウェア評価方法。 An input step for receiving input of software source code and weight information indicating the weight that is the importance of the dependency type for each dependency type that is the type of dependency between the components of the software;
A storage step of storing the source code and the weight information;
Dependency that extracts a correspondence relationship between the combination of the component elements, a dependency frequency that is the number of dependency relationships between the component elements, and the dependency type from the source code as dependency relationship information for each combination of the component elements A relationship extraction step;
By calculating the dependency frequency according to the weight by using the dependency relationship information and the weight information according to the weight, the dependency strength corresponding to the combination of the combination of the component elements and the dependency type between the component elements is calculated. A dependency intensity calculating step,
Calculate the correspondence between the dependency strength between the components and the appearance frequency in the combination of the dependency strength, and based on the calculated correspondence relationship, the value of the dependency strength corresponding to the appearance frequency equal to or higher than a predetermined value is calculated. A threshold setting step for setting a threshold of the dependency strength;
Extracting those the dependent intensity from the combinations of the components is equal to or greater than the threshold value, directly or indirectly dependent of the components included in the combination of the extracted component to the correction target of the source code An influence range extraction step of extracting a range of components that can be traced from the correction target of the source code as an influence range when the source code is corrected;
Only including,
In the input step, a component range used for calculation of the threshold is input as calculation range information,
In the storing step, the calculation range information is stored,
In the threshold setting step, the correspondence is calculated for a range of components specified by the calculation range information, and the threshold is set based on the calculated correspondence .
前記入力部に入力されたソースコードおよび重み情報を記憶する記憶部と、
前記記憶部内のソースコードから、前記構成要素の組み合わせと、前記構成要素間の依存関係の数である依存頻度と、前記依存種類と、の対応関係を前記構成要素の組み合わせ毎に依存関係情報として抽出する依存関係抽出部と、
前記依存関係情報と前記重み情報とを用いて前記依存頻度に前記重みに応じた重み付けを行うことにより、前記構成要素の組み合わせと当該構成要素間の依存種類との組み合わせに応じた依存強度を算出する依存強度算出部と、
前記構成要素間における依存強度と、当該依存強度の前記組み合わせ内における出現頻度との対応関係を算出し、算出した対応関係に基づいて、所定値以上の出現頻度に対応する依存強度の値を前記依存強度の閾値に設定する閾値設定部と、
前記構成要素の組み合わせの中から前記依存強度が前記閾値以上となるものを抽出し、抽出した構成要素の組み合わせに含まれる構成要素のうち前記ソースコードの修正対象に直接的または間接的に依存し前記ソースコードの修正対象から辿ることのできる構成要素の範囲を、前記ソースコードを修正した際の影響範囲として抽出する影響範囲抽出部と、
を備え、
前記入力部は、前記閾値の算出に用いる構成要素の範囲を算出範囲情報として入力し、
前記記憶部は、前記算出範囲情報を記憶し、
前記閾値設定部は、前記算出範囲情報で指定された構成要素の範囲に対して前記対応関係を算出し、算出した対応関係に基づいて前記閾値を設定することを特徴とするシステム評価装置。 An input unit that accepts input of system source code and weight information indicating the weight that is the importance of the dependency type for each dependency type that is the type of dependency between the components of the system;
A storage unit for storing source code and weight information input to the input unit;
From the source code in the storage unit, the correspondence relationship between the combination of the component elements, the dependency frequency that is the number of dependency relationships between the component elements, and the dependency type is used as dependency relationship information for each combination of the component elements. A dependency extraction unit to extract;
By calculating the dependency frequency according to the weight by using the dependency relationship information and the weight information according to the weight, the dependency strength corresponding to the combination of the combination of the component elements and the dependency type between the component elements is calculated. A dependency strength calculation unit to
Calculate the correspondence between the dependency strength between the components and the appearance frequency in the combination of the dependency strength, and based on the calculated correspondence relationship, the value of the dependency strength corresponding to the appearance frequency equal to or higher than a predetermined value is calculated. A threshold value setting unit for setting the threshold value of the dependency strength;
Extracting those the dependent intensity from the combinations of the components is equal to or greater than the threshold value, directly or indirectly dependent of the components included in the combination of the extracted component to the correction target of the source code An influence range extraction unit that extracts a range of components that can be traced from the correction target of the source code as an influence range when the source code is corrected;
Equipped with a,
The input unit inputs a range of components used for calculation of the threshold as calculation range information,
The storage unit stores the calculation range information,
The threshold setting unit, wherein for the range of the specified components in the calculating range information to calculate the correspondence between the calculated relationship system evaluation apparatus characterized that you set the threshold value based on.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011098240A JP5687122B2 (en) | 2011-04-26 | 2011-04-26 | Software evaluation device, software evaluation method, and system evaluation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011098240A JP5687122B2 (en) | 2011-04-26 | 2011-04-26 | Software evaluation device, software evaluation method, and system evaluation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012230538A JP2012230538A (en) | 2012-11-22 |
JP5687122B2 true JP5687122B2 (en) | 2015-03-18 |
Family
ID=47432037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011098240A Active JP5687122B2 (en) | 2011-04-26 | 2011-04-26 | Software evaluation device, software evaluation method, and system evaluation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5687122B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6136795B2 (en) * | 2013-09-13 | 2017-05-31 | 富士通株式会社 | Analysis support program, analysis support apparatus, and analysis support method |
JP6253521B2 (en) * | 2014-06-05 | 2017-12-27 | 株式会社日立製作所 | Program visualization device, program visualization method, and program visualization program |
EP3451166A4 (en) | 2016-04-26 | 2019-05-15 | Mitsubishi Electric Corporation | Dependency relation extraction device and dependency relation extraction program |
JP6742556B1 (en) * | 2019-10-21 | 2020-08-19 | 三菱電機株式会社 | Software analysis device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916392A (en) * | 1995-06-27 | 1997-01-17 | Mitsubishi Electric Corp | Software development support system |
JP2008293486A (en) * | 2007-04-25 | 2008-12-04 | Hitachi Ltd | Source code analysis device, analysis program, and analysis method |
-
2011
- 2011-04-26 JP JP2011098240A patent/JP5687122B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012230538A (en) | 2012-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4592325B2 (en) | IT system design support system and design support method | |
JP7242508B2 (en) | Information processing device, information processing method, and program | |
RU2010130189A (en) | METHOD FOR COMPUTERIZED TECHNICAL SYSTEM ANALYSIS | |
JP5687122B2 (en) | Software evaluation device, software evaluation method, and system evaluation device | |
CN110290021B (en) | Cross-chain consensus time delay optimization method based on dynamic programming algorithm | |
JP4405520B2 (en) | Computer program, computer apparatus and method for adjusting project progress schedule | |
US20190011900A1 (en) | Design support device, design support method and computer-readable non-transitory medium | |
US20060197766A1 (en) | System for interpretation of streaming data filters | |
CN111046283A (en) | Feature selection method, device, equipment and storage medium | |
JP6652398B2 (en) | Parameter selection method, parameter selection program and parameter selection device | |
CN107203469B (en) | Compiler test acceleration method based on machine learning | |
JP2021077364A (en) | Project management system, project management method, and program | |
CN112783747B (en) | Execution time prediction method and device for application program | |
Boring et al. | Task level errors for human error prediction in GOMS-HRA | |
Mohammadi et al. | Machine learning assisted stochastic unit commitment: A feasibility study | |
US11757741B2 (en) | Demand prediction apparatus, demand prediction method and program for predicting a demand of a path on a network using selected trend patterns | |
CN112488319B (en) | Parameter adjusting method and system with self-adaptive configuration generator | |
CN114841664A (en) | Method and device for determining multitasking sequence | |
US11347628B2 (en) | Test case generation apparatus, test case generation method, and computer readable medium | |
JP2016076162A (en) | Software test support device and software test support program | |
JP5602273B1 (en) | Power system simulator, power system simulation program, and simulation method | |
JP2016062300A (en) | Source code generation device, source code generation method, and source code generation program | |
CN109918129A (en) | A kind of software Key Functions recognition methods based on g nuclear decomposition | |
WO2015135182A1 (en) | Method and apparatus for evaluating performance of real-time system | |
JP7154468B2 (en) | Information processing device, information processing method and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140925 |
|
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: 20141224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5687122 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |