JPH06119205A - Quality analyzing device for software and supporting device for providing the same with high quality - Google Patents

Quality analyzing device for software and supporting device for providing the same with high quality

Info

Publication number
JPH06119205A
JPH06119205A JP4263733A JP26373392A JPH06119205A JP H06119205 A JPH06119205 A JP H06119205A JP 4263733 A JP4263733 A JP 4263733A JP 26373392 A JP26373392 A JP 26373392A JP H06119205 A JPH06119205 A JP H06119205A
Authority
JP
Japan
Prior art keywords
program
data
software
advice
metrics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4263733A
Other languages
Japanese (ja)
Inventor
Ko Masuzawa
香 増沢
Atsushi Yamada
淳 山田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP4263733A priority Critical patent/JPH06119205A/en
Publication of JPH06119205A publication Critical patent/JPH06119205A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To contrive to conduct objective analyzing, evaluating and advice- imparting to a program structure by using the metrics, and to provide the device with a high quality. CONSTITUTION:An analytic processing part 8 measures the metrics of a software stored in an analytic object system store part 1 by using the metrics relating to the operation structure of variable data, in addition to the metrics relating to the program quantity and the metrics relating to a control structure which are used up to the present, and stores the result of measurement in a metrics storage part 10 at every program and at every module for constituting a program, executes the analytic processing of the software, based on this stored metrics, and outputs the contents of the analytic processing to an analytic result store part 2 or an output part 5. In this regard, the metrics relating to the operation structure of this variable data consist of each separate use type frequency of the variable data classified into the utilization types of the variable data, and a data scope value obtained by measuring in how many modules each of the variable data is used, based on a module call relation stored in a module call relation storage part 9.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェアの品質を
分析・評価するメトリクスを用いて、ソフトウェアの品
質分析・評価、テスト支援および高品質化支援を行うソ
フトウェアの品質分析装置およびその高品質化支援装置
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention uses a metric for analyzing / evaluating the quality of software to perform a software quality analysis / evaluation, a test support, and a quality improvement support, and a software quality analysis device for improving the quality. Regarding the support device.

【0002】[0002]

【従来の技術】一般に、ソフトウェアを構成するプログ
ラムの構造を定量的に把握する尺度として「メトリク
ス」を用い、この「メトリクス」によりソフトウェアの
テスト前やテスト中にプログラムの構造特性を把握し、
プログラムの品質向上、およびテストの効率化を図って
いる。ここで、従来の「メトリクス」は、プログラムの
ステップ数やデータ数などのプログラム量に関するメト
リクスと、プログラム内の条件判定数などの制御構造に
関するメトリクスの2種類に分類されている。
2. Description of the Related Art Generally, "Metrics" is used as a measure for quantitatively grasping the structure of programs constituting software, and the "Metrics" are used to grasp the structural characteristics of programs before or during software testing.
We are working to improve the quality of programs and improve the efficiency of testing. Here, the conventional "metrics" are classified into two types: metrics related to the program amount such as the number of steps and data of the program, and metrics related to the control structure such as the number of condition determinations in the program.

【0003】しかし、この2種類のメトリクスのみで
は、十分にプログラムの構造特性を把握することはでき
ない。すなわち、この2種類のメトリクスは、プログラ
ムの概要を把握することはできるが、プログラムの改良
のポイントや重点的なテスト箇所を指摘できる程、プロ
グラムの構造特性を分析することはできない。
However, the structural characteristics of the program cannot be sufficiently grasped only by these two types of metrics. That is, these two types of metrics can grasp the outline of the program, but cannot analyze the structural characteristics of the program to the extent that they can point out the points for improving the program and the important test points.

【0004】このため、ソフトウェアの開発等を統括す
るマネージャがプログラムの品質を評価する場合、プロ
グラマの実績に頼ることが多く、そのプログラム自体の
評価を行うことは困難であった。
Therefore, when the manager who oversees software development evaluates the quality of the program, it often depends on the performance of the programmer, and it is difficult to evaluate the program itself.

【0005】一方、プログラマは、自分の作成したプロ
グラムに対し、上記メトリクスのみでは、客観的に評価
することが難しいことから、結合テストを行う前にプロ
グラムをどのように改良すべきかを知ること、結合テス
ト作業において効率的にエラーを発見できるテスト項目
を設定すること、あるいはデバック時に効率的なエラー
原因を探すことは困難であった。
On the other hand, the programmer knows how to improve the program created by himself, since it is difficult to objectively evaluate the created program only with the above metrics. It was difficult to set test items that can efficiently detect errors in the integration test work, or to find an efficient error cause when debugging.

【0006】その結果、現実的に、マネージャは、ソフ
トウェアを構成するプログラムが結合テストを行える状
態であるかを、プログラマの経験やマネージャ自身のこ
れまでの実績から判断していた。また、プログラマは、
プログラマ自身がプログラムの構造からプログラムを客
観的に評価し、プログラムの改良点を見つけたりしてい
た。
As a result, in reality, the manager judges whether or not the program making up the software is in a state in which the integration test can be carried out, based on the experience of the programmer and the past record of the manager itself. Also, the programmer
The programmer himself evaluated the program objectively from the structure of the program, and found the improvement point of the program.

【0007】さらに、ソフトウェアの品質分析・評価
と、ソフトウェアの結合テスト前のプログラムの見直し
・改良のための変更と、テストの実行作業は、ぞれぞれ
別々に行われていた。
Further, the quality analysis / evaluation of software, the change for reviewing / improving the program before the software integration test, and the test execution work have been carried out separately.

【0008】特に、結合テスト時にエラー量を測ること
によって、ソフトウェアの品質評価を行っていたため、
結合テストの際に発見される欠陥が多く、効率的かつ効
果的にエラーを発見することが難しかった。
Particularly, since the quality of software is evaluated by measuring the amount of error at the time of the integration test,
Many defects were found during the integration test, making it difficult to find errors efficiently and effectively.

【0009】すなわち、従来のソフトウェアの分析・評
価は、マネージャやプログラマの主観的な経験に頼る部
分が多く、結合テストによりエラーを発見するという消
極的なソフトウェアの開発を行っていたため、ソフトウ
ェアの開発に時間がかかり、しかも高品質のソフトウェ
アを作成することは困難であるという問題点があった。
That is, the conventional software analysis / evaluation relies heavily on the subjective experience of managers and programmers, and has been reluctant to develop errors by discovering errors through integration tests. However, there is a problem that it is difficult to create high quality software.

【0010】[0010]

【発明が解決しようとする課題】前述したように、従来
のソフトウェアの分析・評価は、従来のメトリクスのみ
によりプログラムの構造特性を十分に把握することが困
難であることから、マネージャやプログラマの主観的な
経験に頼る部分が多く、また、結合テストによりエラー
を発見するという消極的なソフトウェアの開発を行って
いたため、ソフトウェアの開発に時間がかかり、しかも
高品質のソフトウェアを作成することは困難であるとい
う問題点があった。
As described above, in the conventional software analysis / evaluation, it is difficult to sufficiently grasp the structural characteristics of the program only by the conventional metrics. It often takes a long time to develop software, and it is difficult to create high-quality software because the software development is reluctant to find errors by integration tests. There was a problem.

【0011】そこで、本発明は、かかる問題点を除去
し、プログラム構造を十分に把握することができるメト
リクスを提示し、このメトリクスにより客観的に十分な
プログラム構造の分析・評価を行い、この結果により、
マネージャあるいはプログラマに対して、プログラムの
改良のポイントや重点的なテスト箇所を指摘したり、デ
バック時に注意すべき箇所を知らせる、客観的なプログ
ラムの分析・評価、助言付与ができるソフトウェアの品
質分析装置およびその高品質化支援装置を提供すること
を目的とする。
Therefore, the present invention eliminates such a problem, presents a metric that can grasp the program structure sufficiently, and objectively analyzes and evaluates the sufficient program structure by this metric, and as a result, Due to
A software quality analyzer that can objectively analyze / evaluate programs and give advice to managers or programmers by pointing out points for program improvement and important test points, and informing points to be noted when debugging. It is also an object of the present invention to provide a quality improvement support device for the same.

【0012】[0012]

【課題を解決するための手段】本発明は、プログラム量
に関するメトリクスおよび制御構造に関するメトリクス
を記憶する第1のメトリクス記憶手段を有してソフトウ
ェアの品質分析を行うソフトウェアの品質分析装置にお
いて、変数データの操作構造に関するメトリクスを記憶
する第2のメトリクス記憶手段と、前記ソフトウェアを
構成するプログラム毎、および該プログラムを構成する
モジュール毎に前記第1および第2のメトリクス記憶手
段に記憶されるメトリクスを計数し、該プログラム毎お
よび該モジュール毎の品質分析処理を行う分析処理手段
と、前記分析処理手段による分析処理結果を格納する分
析結果格納手段とを具備したことを特徴とする。
According to the present invention, there is provided a software quality analysis device for performing software quality analysis, comprising first metric storage means for storing metrics relating to a program amount and metrics relating to a control structure. Counting the metrics stored in the first and second metrics storage means for each program that constitutes the software, and for each module that constitutes the program. However, it is characterized by comprising an analysis processing means for performing quality analysis processing for each program and each module, and an analysis result storage means for storing an analysis processing result by the analysis processing means.

【0013】また、さらに前記ソフトウェアを構成する
プログラム内のモジュール間の呼出接続関係を木構造と
して記憶するモジュール呼出関係記憶手段を有し、前記
分析処理手段が計数する変数データの操作構造に関する
メトリクスは、変数データの使われ方により分類された
所定の使用型別に計数された変数データの使用型別頻度
と、前記モジュール呼出関係記憶手段に記憶されている
木構造内で所定の変数データが使用されているモジュー
ルの数と、該モジュール間を呼出接続する最小の接続枝
の数との和で与えられるデータスコープ値とであること
を特徴とする。
Further, a module call relation storage means for storing a call connection relation between modules in a program forming the software as a tree structure, and a metric relating to an operation structure of variable data counted by the analysis processing means is , The use type frequency of the variable data counted according to a predetermined use type classified according to how the variable data is used, and the predetermined variable data is used in the tree structure stored in the module call relation storage means. The data scope value is given by the sum of the number of existing modules and the minimum number of connection branches for call connection between the modules.

【0014】さらに、前記分析処理手段は、前記第1お
よび第2の記憶手段に記憶されているメトリクスをもと
に、プログラム毎およびモジュール毎のグラフ化処理を
行うことを特徴とする。
Further, the analysis processing means is characterized by performing graphing processing for each program and each module based on the metrics stored in the first and second storage means.

【0015】また、プログラム量に関するメトリクス、
制御構造に関するメトリクス、および変数データの操作
構造に関するメトリクスを記憶するメトリクス記憶手段
と、前記メトリクス記憶手段に記憶されるメトリクスを
計数し、プログラム毎および該プログラムを構成するモ
ジュール毎の品質分析処理を行う分析処理手段と、前記
分析処理手段による分析処理結果を格納する分析結果格
納手段と、前記プログラムの評価および助言のルールを
格納したルール格納手段と、前記分析結果格納手段に格
納された品質分析処理結果と、前記ルール格納手段に格
納されているルールをもとに、前記プログラムの評価お
よび助言付与の処理を行う評価・助言処理手段とを具備
することを特徴とする。
Further, a metric related to the program amount,
A metric storage means for storing a metric for a control structure and a metric for an operation structure of variable data, and a metric stored in the metric storage means are counted, and quality analysis processing is performed for each program and each module constituting the program. Analysis processing means, analysis result storage means for storing the analysis processing result by the analysis processing means, rule storage means for storing the evaluation and advice rules of the program, and quality analysis processing stored in the analysis result storage means It is characterized by comprising an evaluation / advice processing means for evaluating the program and giving an advice based on the result and the rule stored in the rule storage means.

【0016】[0016]

【作用】本発明は、従来から用いられているプログラム
量に関するメトリクスと制御構造に関するメトリクスの
他に、変数データの操作構造に関するのメトリクスを計
測し、このメトリクスをもとにソフトウェアを分析処理
し、分析処理内容をファイルとして出力あるいは表示出
力し、さらにはグラフとして表示出力する。この変数デ
ータの操作構造に関するメトリクスは、「定義・代入」
や「参照」等の変数データの使用型に分類した変数デー
タの使用型別頻度と、変数データのそれぞれがモジュー
ルを越えたどのような範囲で使用されているかを測った
データスコープ値とからなり、変数データの使用型別頻
度からはプログラムにおける各種変数データの操作法を
細かくみることができ、データスコープ値からは変数デ
ータのグローバル度を評価することができる。
According to the present invention, in addition to the metrics related to the amount of programs and the metrics related to the control structure that have been conventionally used, the metrics related to the operation structure of variable data are measured, and software is analyzed and processed based on this metric. The analysis processing contents are output as a file or displayed and further displayed as a graph. Metrics related to the operation structure of this variable data are defined and assigned.
It consists of frequency by usage type of variable data classified into usage type of variable data such as "reference" and "reference", and data scope value that measures how each variable data is used beyond the module. , The usage of variable data allows us to see the operation method of various variable data in a program in detail, and the scope of variable data can be evaluated from the data scope value.

【0017】また、前記変数データの操作構造に関する
メトリクスを含めたメトリクスによる分析処理結果か
ら、予めルール格納手段に格納されている評価および助
言のルールをもとに、ソフトウェアの評価および助言付
与の処理を行う。この際、ソフトウェアの評価は、該ソ
フトウェアを構成するプログラム毎に提示し、助言は、
マネージャあるいはプログラマに対する助言を選択する
ことができ、助言内容に対する理由および高品質化への
ポイントが選択により提示される。
Further, based on the analysis processing result by the metric including the metric relating to the operation structure of the variable data, the processing of software evaluation and advice provision based on the evaluation and advice rules stored in the rule storage means in advance. I do. At this time, the software evaluation is presented for each program that constitutes the software, and the advice is
It is possible to select the advice to the manager or the programmer, and the reason for the advice content and the point for improving the quality are presented by the selection.

【0018】[0018]

【実施例】以下、図面を参照して本発明の実施例につい
て説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0019】図1は、本発明の一実施例であるソフトウ
ェアの品質分析装置の構成ブロック図である。図1にお
いて、ソフトウェアの品質分析装置は、単数あるいは複
数のプログラムから構成される分析対象ソフトウェアで
ある分析対象システムを格納する分析対象システム格納
部1、分析結果をファイルとして格納する分析結果格納
部2、分析対象システム格納部1および分析結果格納部
2のファイル入出力管理を行うファイル管理部3、キー
ボードあるいはマウス等の入力装置により入力を行う入
力部4、CRT、プリンタ等の出力装置からなる出力部
5、入力部4および出力部5の入出力制御を行う入出力
制御部6、分析対象システムの分析処理を行う分析処理
部8、分析処理部8の分析処理に必要な作業エリアを確
保する一時記憶部7、分析処理部8により求められた分
析対象システムを構成する各プログラムのモジュール呼
出関係、すなわち木構造を記憶するモジュール呼出関係
記憶部9、分析処理部8により求められた分析対象シス
テムのメトリクスを記憶するメトリクス記憶部10から
構成される。
FIG. 1 is a block diagram showing the configuration of a software quality analysis apparatus according to an embodiment of the present invention. In FIG. 1, a software quality analysis device includes an analysis target system storage unit 1 that stores an analysis target system that is analysis target software configured of a single program or a plurality of programs, and an analysis result storage unit 2 that stores analysis results as files. , A file management unit 3 for managing file input / output of the analysis target system storage unit 1 and the analysis result storage unit 2, an input unit 4 for inputting with an input device such as a keyboard or a mouse, and an output including an output device such as a CRT or a printer An input / output control unit 6 that controls input / output of the unit 5, the input unit 4, and the output unit 5, an analysis processing unit 8 that performs analysis processing of the analysis target system, and a work area necessary for analysis processing of the analysis processing unit 8 are secured. The module call relationship of each program forming the analysis target system, which is obtained by the temporary storage unit 7 and the analysis processing unit 8; Module call relation storage unit 9 for storing ie tree structure, and a metrics memory unit 10 for storing the metrics analysis systems obtained by the analysis processing unit 8.

【0020】また、メトリクス記憶部10は、分析対象
システムを構成する各プログラムおよびモジュールのス
テップ数を記憶するステップ数記憶部11、各プログラ
ムおよびモジュールの変数データ(以下「データ」とい
う)数を記憶するデータ数記憶部12、各プログラムお
よびモジュールの条件判定数を記憶する条件判定数記憶
部13、各プログラムおよびモジュールごとのデータの
使用型別頻度を記憶するデータの使用型別頻度記憶部1
4、および各データごとのデータスコープ値を記憶する
データスコープ値記憶部15から構成される。
Further, the metrics storage unit 10 stores the number of steps storage unit 11 for storing the number of steps of each program and module constituting the analysis target system, and the number of variable data (hereinafter referred to as "data") of each program and module. Data number storage unit 12, condition determination number storage unit 13 that stores the condition determination number of each program and module, data usage type frequency storage unit 1 that stores the usage type frequency of data for each program and module
4 and a data scope value storage unit 15 that stores a data scope value for each data.

【0021】次に、フローチャートに基づいてソフトウ
ェアの品質分析装置の動作について説明する。なお、以
下の説明では分析対象システムとして事務処理プログラ
ム、特にプログラム言語「COBOL」で記述された事
務処理プログラムを例に説明する。この事務処理プログ
ラムはデータ部(DATA DIVISION)と手続
き部(PROCEDURE DIVISION)を有
し、データ部はいくつかのモジュールから構成されてい
る。
Next, the operation of the software quality analysis device will be described with reference to the flow chart. In the following description, an office work program as an analysis target system, particularly an office work program described in the programming language "COBOL" will be described as an example. This business processing program has a data section (DATA DIVISION) and a procedure section (PROCEDURE DIVISION), and the data section is composed of several modules.

【0022】図2は、ソフトウェアの品質分析処理フロ
ーチャートである。図2において、まず分析対象システ
ム格納部1内に格納されている分析対象システムを読み
込む(ステップ101)。そして、分析処理部8は、読
み込んだ分析対象システムを構成する各プログラム毎の
モジュール呼出関係を求め、モジュール呼出関係記憶部
9に記憶する(ステップ102)。このモジュール呼出
関係は、木構造で記憶されている。さらに、各プログラ
ムおよび各プログラムのモジュール毎のステップ数を求
め、ステップ数記憶部11に記憶する(ステップ10
3)。
FIG. 2 is a flowchart of software quality analysis processing. In FIG. 2, first, the analysis target system stored in the analysis target system storage unit 1 is read (step 101). Then, the analysis processing unit 8 obtains the module call relationship for each program constituting the read analysis target system and stores it in the module call relationship storage unit 9 (step 102). This module call relationship is stored in a tree structure. Further, the number of steps for each program and each module of each program is obtained and stored in the step number storage unit 11 (step 10
3).

【0023】次に、分析処理部8は、読み込んだ分析対
象システムを構成する1つのプログラムを取り出し(ス
テップ104)、取り出したプログラムのデータ部を解
析する(ステップ105)。さらに、取り出したプログ
ラムの手続き部の解析を行う(ステップ106)。次
に、モジュール呼出関係および取り出したデータからデ
ータ毎のデータスコープ値を算出する(ステップ10
7)。そして、このプログラムの分析結果を出力ファイ
ルとして、分析結果格納部2に格納する。そして、分析
対象システムを構成する他のプログラムがあるか否か判
断し(ステップ109)、他のプログラムがある場合に
は、ステップ104に移行し、さらに他のプログラムの
分析を行う。一方、分析対象システムを構成する他のプ
ログラムがない場合、分析処理部8は、分析対象システ
ムを構成するプログラム毎に分析処理し、この結果を分
析対象システムの出力ファイルとして分析結果格納部2
に格納し(ステップ110)、本処理を終了する。
Next, the analysis processing unit 8 takes out one program which constitutes the read analysis target system (step 104) and analyzes the data part of the taken-out program (step 105). Further, the procedure section of the fetched program is analyzed (step 106). Next, the data scope value for each data is calculated from the module call relationship and the retrieved data (step 10).
7). Then, the analysis result of this program is stored in the analysis result storage unit 2 as an output file. Then, it is determined whether or not there is another program that constitutes the analysis target system (step 109), and if there is another program, the process proceeds to step 104, and another program is analyzed. On the other hand, when there is no other program that constitutes the analysis target system, the analysis processing unit 8 performs analysis processing for each program that constitutes the analysis target system, and the analysis result storage unit 2 outputs the result as an output file of the analysis target system.
(Step 110), and this processing ends.

【0024】図3は、図2のステップ105におけるデ
ータ部の解析処理フローチャートである。図3におい
て、まず解析すべきデータ部がまだあるか否かを判断し
(ステップ201)、データ部がない場合は本処理を終
了し、データ部がまだある場合はさらに、他のプログラ
ムを引用しているか否かを判断し(ステップ202)、
他のプログラムを引用していない場合には、データ名を
取り出し(ステップ205)、さらにデータ数を計数す
る(ステップ206)。そして、ステップ205におい
て取り出したデータ名をモジュール呼出関係記憶部9に
記憶されているモジュール呼出関係の木構造に出力する
(ステップ207)。その後、ステップ201に移行
し、処理を繰り返す。
FIG. 3 is a flow chart of the analysis process of the data part in step 105 of FIG. In FIG. 3, it is first determined whether or not there is a data part to be analyzed (step 201). If there is no data part, this process is terminated, and if there is still a data part, another program is quoted. It is determined whether or not (step 202),
If no other program is cited, the data name is extracted (step 205) and the number of data is counted (step 206). Then, the data name extracted in step 205 is output to the tree structure of the module call relationship stored in the module call relationship storage unit 9 (step 207). Then, it transfers to step 201 and repeats a process.

【0025】一方、ステップ202において、他のプロ
グラムを引用している場合には、さらに、引用プログラ
ムがあるか否かを判断し(ステップ203)、引用プロ
グラムがない場合は、引用プログラムがない旨のメッセ
ージを表示出力した後(ステップ204)、ステップ2
01に移行して、処理を繰り返す。一方、ステップ20
3において、引用プログラムがある場合には、さらに引
用プログラムが終了したか否かを判断し(ステップ20
8)、引用プログラムが終了しない限りは、データ名を
取り出し(ステップ209)、さらにデータ数を計数し
(ステップ210)、ステップ209で取り出したデー
タ名をモジュール呼出関係記憶部9に記憶されているモ
ジュール呼出関係の木構造に出力する(ステップ21
1)。そして、ステップ208において、引用プログラ
ムが終了すると、ステップ201に移行して、データ部
がある限り、処理を続行する。
On the other hand, if another program is cited in step 202, it is further judged whether or not there is a cited program (step 203). If there is no cited program, it means that there is no cited program. Message is displayed and output (step 204), then step 2
The processing is repeated by shifting to 01. On the other hand, step 20
In step 3, if there is a citation program, it is further determined whether or not the citation program has ended (step 20).
8) Unless the quoting program ends, the data name is fetched (step 209), the number of data is counted (step 210), and the data name fetched in step 209 is stored in the module call relation storage unit 9. Output to a tree structure related to module call (step 21)
1). Then, in step 208, when the quotation program ends, the process proceeds to step 201, and the process is continued as long as there is a data section.

【0026】図4は、図2のステップ106における手
続き部の解析処理フローチャートである。図4におい
て、まず手続き部がまだあるか否かを判断し(ステップ
301)、手続き部がない場合は、本処理を終了する。
一方、手続き部がまだある場合は、プログラムを構成す
るモジュール名を取り出し(ステップ302)、さら
に、モジュール数を計数する(ステップ303)。そし
て、モジュールが終了したか否かを判断し(ステップ3
04)、モジュールが終了した場合は、ステップ301
に移行して処理を繰り返す。
FIG. 4 is a flow chart of the analysis processing of the procedure part in step 106 of FIG. In FIG. 4, first, it is determined whether or not there is a procedure section (step 301), and if there is no procedure section, this processing ends.
On the other hand, if there is still a procedure section, the module name that constitutes the program is taken out (step 302), and the number of modules is counted (step 303). Then, it is judged whether or not the module is completed (step 3
04), if the module is finished, step 301
And the process is repeated.

【0027】一方、ステップ304において、モジュー
ルが終了しない場合は、モジュールを構成する各部が、
「定義・代入」のデータの使用型(パターン)と一致す
るか否かを判断し(ステップ305)、一致しない場合
は、ステップ307に移行し、一致する場合は、「定義
・代入」のデータとして計数した後(ステップ30
6)、ステップ307に移行する。ステップ307で
は、「条件判定付き参照」のデータの使用型と一致する
か否かを判断し、一致しない場合は、ステップ310に
移行し、一致する場合は、「条件判定付き参照」のデー
タとして計数し(ステップ308)、条件判定数として
計数した後(ステップ309)、ステップ310に移行
する。ステップ310では、「引数」のデータの使用型
と一致するか否かを判断し、一致しない場合は、ステッ
プ313に移行し、一致する場合は、「引数」のデータ
として計数し(ステップ311)、さらにプログラムコ
ール数として計数した後(ステップ312)、ステップ
313に移行する。ステップ313では、「その他」の
データの使用型と一致するか否かを判断し、一致しない
場合は、ステップ315に移行し、一致する場合は、
「その他」のデータとして計数した後(ステップ31
4)、ステップ315に移行する。そして、ステップ3
15で、ステップ305,307,310,313に当
てはまらないデータの使用型を「参照」のデータとして
計数する。その後、ステップ304に移行し、当該モジ
ュールが終了しない限り、処理を繰り返す。
On the other hand, in step 304, when the module is not completed, each part constituting the module is
It is judged whether or not it matches the usage type (pattern) of the data of "definition / substitution" (step 305). If they do not match, the process proceeds to step 307. If they match, the data of "definition / substitution" is determined. After counting as (step 30
6) and shifts to step 307. In step 307, it is determined whether or not it matches the usage type of the “reference with condition determination” data. If they do not match, the process proceeds to step 310. If they match, the data is referred to as “reference with condition determination”. After counting (step 308) and counting as the condition determination number (step 309), the process proceeds to step 310. In step 310, it is determined whether or not it matches the usage type of the "argument" data. If they do not match, the process proceeds to step 313, and if they match, they are counted as "argument" data (step 311). After counting the number of program calls (step 312), the process proceeds to step 313. In step 313, it is determined whether or not it matches the usage type of the "other" data. If they do not match, the process proceeds to step 315, and if they match,
After counting as "other" data (step 31
4) and shifts to step 315. And step 3
At 15, the usage types of the data that do not apply to steps 305, 307, 310 and 313 are counted as the “reference” data. Then, the process proceeds to step 304, and the process is repeated unless the module ends.

【0028】次に、図2のステップ107におけるデー
タスコープ値の算出について説明する。
Next, the calculation of the data scope value in step 107 of FIG. 2 will be described.

【0029】図5は、データスコープ値の算出を説明す
る図である。まず、図5(a)は、1つのプログラム内
のモジュール呼出関係を示す木構造を示したものであ
る。図5(a)に示す木構造は、図2のステップ102
において求めて記憶したもので、ノードn1〜n7とア
ークa1〜a7から構成される。この各ノードは、プロ
グラムのルートと各モジュールを表し、各アークは、プ
ログラムのルートあるいは各モジュール間の接続関係を
表している。
FIG. 5 is a diagram for explaining the calculation of the data scope value. First, FIG. 5A shows a tree structure showing the module call relationship in one program. The tree structure shown in FIG. 5A corresponds to step 102 in FIG.
It is obtained and stored in (1) and is composed of nodes n1 to n7 and arcs a1 to a7. Each node represents a program root and each module, and each arc represents a program root or a connection relationship between each module.

【0030】図5(b)は、図3のステップ207ある
いはステップ211により木構造のプログラムのルート
あるいは所定のモジュールで使用されたデータ名の中の
1つのデータXに着目し、このデータXが使用されてい
る部分を斜線で示したものである。
In FIG. 5B, attention is paid to one data X in the root of the tree-structured program or the data name used in a predetermined module in step 207 or step 211 of FIG. The parts used are indicated by diagonal lines.

【0031】図5(c)は、図5(b)の木構造におい
てデータXを使用しているノードを含み、アーク数が最
小となる木構造を新たに作成したものである。ここで、
図5(b)における全ノードn1〜n7をノード集合N
とし、全アークa1〜a7をアーク集合Aとする。ま
た、図5(c)におけるデータXが使用されている斜線
のノードn1,n3,n4,n6をノード集合NNと
し、データXに関する接続関係を示すアークa1〜a
3,a5をアーク集合AAとする。この場合、ノード集
合NNの数は4であり、アーク集合AAの数は4とな
る。
FIG. 5C shows a newly created tree structure including the nodes using the data X in the tree structure of FIG. 5B and having the minimum number of arcs. here,
All nodes n1 to n7 in FIG.
Let all arcs a1 to a7 be an arc set A. In addition, the shaded nodes n1, n3, n4, and n6 in which the data X in FIG. 5C is used are set as a node set NN, and arcs a1 to a1 indicating the connection relationship regarding the data X.
Let 3, a5 be the arc set AA. In this case, the number of node sets NN is 4, and the number of arc sets AA is 4.

【0032】ここで、データXに関するデータスコープ
値DS(X)は次のように定義する。すなわち、 DS(X)=|NN|+|AA| したがって、図5における木構造においてデータXに関
するデータスコープ値は、次のようになる。すなわち、 DS(X)=4+4=8 となる。そして、このデータスコープ値は、同一のデー
タが使用されているモジュール間の呼出関係を示すもの
であるため、データスコープ値が大きいことは、誤り易
いことを意味する。
Here, the data scope value DS (X) regarding the data X is defined as follows. That is, DS (X) = | NN | + | AA | Therefore, the data scope value for the data X in the tree structure in FIG. 5 is as follows. That is, DS (X) = 4 + 4 = 8. Since this data scope value indicates a calling relationship between modules in which the same data is used, a large data scope value means that an error is likely to occur.

【0033】次に、モジュール毎およびプログラム毎の
出力ファイルの表示例を示す。
Next, a display example of the output file for each module and each program will be shown.

【0034】図6は、モジュール毎の出力ファイルの表
示処理結果を示す図である。図6において、図6(a)
は、1つのプログラムに対するモジュール毎のステップ
数、データ数および条件判定数のメトリクス値の表示出
力例を示す図であり、図6(b)は、1つのプログラム
の各データに対するモジュール毎のデータの使用型別頻
度の表示出力例を示す図であり、図6(c)は、1つの
プログラムの各データに対するデータスコープ値の表示
出力例を示す図である。
FIG. 6 is a diagram showing the output file display processing result for each module. In FIG. 6, FIG.
FIG. 6 is a diagram showing an example of display output of metric values of the number of steps, the number of data, and the number of condition judgments for each module for one program, and FIG. 6B shows the data for each module for each data for one program. It is a figure which shows the example of a display output of the frequency according to usage type, and FIG.6 (c) is a figure which shows the example of a display output of the data scope value with respect to each data of one program.

【0035】図6(a)において、例えばモジュールM
1に対するステップ数は48であり、データ数は32で
あり、条件判定数は5であることを示している。そし
て、このプログラムの総ステップ数は2425であり、
総データ数は110であり、総条件判定数は35である
ことを示している。このメトリクス値は従来から使用さ
れているメトリクス値である。
In FIG. 6A, for example, the module M
The number of steps for 1 is 48, the number of data is 32, and the number of condition determinations is 5. And the total number of steps of this program is 2425,
The total number of data is 110, and the total number of condition determinations is 35. This metric value is a conventionally used metric value.

【0036】図6(b)において、例えばデータD1に
対して、モジュールM1は、「1D2R0C0P0E」
なるデータ使用型別頻度であり、モジュールM2は、
「0D1R0C1P0E」なるデータ使用型別頻度であ
り、このプログラムでは「3D5R2C1P0E」なる
データ使用型別頻度であることを示している。ここで、
データ使用型別頻度は、次のような形式で表現してい
る。すなわち、「αDβRγCδPεE」ここで、 α:「定義・代入」に使用した数 β:「参照」に使用した数 γ:「条件判定付き参照」に使用した数 δ:「引数」に使用した数 ε:「その他」に使用した数 であり、5つのデータの使用型に分類し、この分類ごと
に使用した数を示している。なお、D,R,C,P,E
は、それぞれα,β,γ,δ,εの数に対する識別のた
めの記号である。
In FIG. 6B, for example, for the data D1, the module M1 is "1D2R0C0P0E".
The module M2 is
The data usage type frequency is “0D1R0C1P0E”, and this program indicates that the data usage type frequency is “3D5R2C1P0E”. here,
The data usage type frequency is expressed in the following format. That is, “αDβRγCδPεE” where α: number used for “definition / substitution” β: number used for “reference” γ: number used for “reference with conditional judgment” δ: number used for “argument” ε : It is the number used for "Others" and is classified into five data usage types, and the number used for each classification is shown. In addition, D, R, C, P, E
Are symbols for identifying the numbers α, β, γ, δ, ε, respectively.

【0037】このD,R,C,P,Eの5つに分類され
たデータの使用型は、次のようなプログラムの一部を参
照すると理解し易い。すなわち、 IF データ1>0 THEN MOVE データ2 TO データ3 CALL ”プログラム名” USING データ4 INSPECTT データ5 TALLING ……… のようなプログラムの一部である場合、データ3はデー
タの使用型D、データ2はデータの使用型R、データ1
はデータの使用型C、データ4はデータの使用型P、デ
ータ5はデータの使用型Eに該当する。
The types of data used classified into five types of D, R, C, P and E are easy to understand by referring to a part of the following program. That is, if IF data 1> 0 THEN MOVE data 2 TO data 3 CALL "program name" USING data 4 INSPECT data 5 TALLING ........., data 3 is a data usage type D, data 2 is data usage type R, data 1
Is a data usage type C, data 4 is a data usage type P, and data 5 is a data usage type E.

【0038】すなわち、データの使用型Dの「定義・代
入」は、値が書き換えられる場合のデータであり、デー
タの使用型Rの「参照」は、参照されるだけであり、値
は書き換えられないデータである。ただし、条件判定に
用いられる場合は除かれる。また、データの使用型Cの
「条件判定付き参照」は、条件判定において参照される
データであり、値は書き換えられないデータである。さ
らに、データの使用型Pの「引数」は、他のプログラム
を呼ぶ際の引数として使用される場合のデータであり、
データの使用型Eの「その他」は、上記D,R,C,P
の4つのデータの使用型以外に使用された場合のデータ
である。
That is, the "definition / assignment" of the data usage type D is the data when the value is rewritten, and the "reference" of the data usage type R is only referenced, and the value is rewritten. There is no data. However, it is excluded when it is used for condition judgment. The “reference with condition determination” of the usage type C of data is data that is referred to in the condition determination, and the value is data that cannot be rewritten. Furthermore, the "argument" of the usage type P of data is data when used as an argument when calling another program,
The "others" of the data usage type E are D, R, C, P above.
It is data when it is used for other than the usage type of the above four data.

【0039】図6(c)は、例えばデータD1に対する
データスコープ値は8であることを示している。
FIG. 6C shows that the data scope value for the data D1 is 8, for example.

【0040】このようにして、1つのプログラムに対す
るモジュール毎のメトリクス値を知ることができる。
In this way, the metric value for each module for one program can be known.

【0041】次に、図7は、プログラム毎の出力ファイ
ルの表示処理結果を示す図である。図7において、図7
(a)は、プログラム毎のステップ数、データ数、条件
判定数、モジュール数およびプログラムコール数のメト
リクス値を表示したものであり、図7(b)は、データ
に対するプログラム毎のデータ使用型別頻度を使用個数
で表示したものであり、図7(c)は、プログラム毎の
データ使用型別頻度を百分率で表示したものである。
Next, FIG. 7 is a diagram showing the output file display processing result for each program. In FIG.
7A shows the metric values of the number of steps, the number of data, the number of condition judgments, the number of modules, and the number of program calls for each program, and FIG. 7B shows the data usage type for each program with respect to the data. The frequency is displayed in terms of the number of uses, and FIG. 7C shows the frequency by type of data use for each program in percentage.

【0042】図7(a)において、例えば図6で示した
プログラムP1は、ステップ数が2425であり、デー
タ数は110であり、条件判定数は35であり、モジュ
ール数は53であり、プログラムコール数は2であるこ
とを示している。
In FIG. 7A, for example, the program P1 shown in FIG. 6 has 2425 steps, 110 data, 35 condition determinations, 53 modules, and 53 programs. It indicates that the number of calls is two.

【0043】図7(b)において、例えばデータD1に
関してプログラムP1は「1D2R0C0P0E」であ
り、プログラムP2は「0D1R0C1P0E」であ
り、分析対象システムとしては「3D5R2C1P0
E」なるデータ使用型別頻度を表示している。
In FIG. 7B, for example, regarding the data D1, the program P1 is "1D2R0C0P0E", the program P2 is "0D1R0C1P0E", and the analysis target system is "3D5R2C1P0".
The frequency of each data usage type "E" is displayed.

【0044】図7(c)において、データ使用型は5つ
に分類しているので、この5つのデータ使用型に関して
各プログラム毎のデータ使用型別頻度を百分率で表示
し、例えば「定義・代入」のデータ使用型に関してプロ
グラムP1は54%、プログラムP2は58%、分析対
象システムとしては56%使用していることを示してい
る。
In FIG. 7 (c), since the data usage types are classified into five, the frequency by data usage type for each program for each of these five data usage types is displayed as a percentage, for example, "definition / substitution". It is shown that the program P1 uses 54%, the program P2 uses 58%, and the analysis target system uses 56% regarding the data usage type of “.

【0045】そして、後述するように、これらのメトリ
クス値をグラフ化して表示することにより、分析対象シ
ステム全般、分析対象システムを構成する各プログラ
ム、および各プログラムを構成するモジュールの構成の
特性を一目瞭然に知ることができる。
As will be described later, by displaying these metric values in a graph, the characteristics of the analysis target system in general, each program configuring the analysis target system, and the configuration of the modules configuring each program can be clearly seen. You can know

【0046】特に、ステップ数やデータ数などのプログ
ラム量のメトリクスと、条件判定数などの制御構造のメ
トリクスの他に、上記したデータ使用型別頻度およびデ
ータスコープ値による変数データの操作構造のメトリク
スを使用することにより詳細に分析対象プログラムの特
性を知ることができる。
In particular, in addition to the metrics of the program amount such as the number of steps and the number of data and the metrics of the control structure such as the number of condition judgments, the metrics of the operation structure of the variable data according to the frequency by the data usage type and the data scope value. By using, the characteristics of the analysis target program can be known in detail.

【0047】次に、具体的な分析対象システム例をもと
に、詳細に説明する。
Next, a detailed description will be given based on a specific example of the system to be analyzed.

【0048】図8は、プログラムASCENDANTの
構成を示す図であり、図9は、プログラムMINIMU
Mの構成を示す図である。ここで、分析対象システム
は、図8および図9に示した2つのプログラムから構成
されるものである。なお、分析対象システムは、プログ
ラム言語「COBOL」で記載されている事務処理プロ
グラムである。
FIG. 8 is a diagram showing the structure of the program ASCENDANT, and FIG. 9 is a program MINIMU.
It is a figure which shows the structure of M. Here, the analysis target system is composed of the two programs shown in FIGS. 8 and 9. Note that the analysis target system is an office processing program written in the programming language "COBOL".

【0049】図8において、プログラムASCENDA
NT(PG1)は、データ部DD1および手続き部PD
1を有し、この手続き部PD1は、GETDATA,M
AIN,PREPARE,PRINTの4つのモジュー
ルma1〜ma4から構成されている。
In FIG. 8, the program ASCENDA
NT (PG1) has a data part DD1 and a procedure part PD
1 and the procedure unit PD1 has GETDATA, M
It is composed of four modules ma1 to ma4 of AIN, PREPARE, and PRINT.

【0050】また、図9において、プログラムMINI
MUM(PG2)は、データ部DD2および手続き部P
D2を有し、この手続き部PD2は、START,CO
MPARE,EXCHANGE,FINISHの4つの
モジュールmb1〜mb4から構成されている。
Further, in FIG. 9, the program MINI
The MUM (PG2) has a data section DD2 and a procedure section P.
D2, and the procedure unit PD2 has START, CO
It is composed of four modules mb1 to mb4 of MPARE, EXCHANGE, and FINISH.

【0051】次に、上記2つのプログラムPG1,PG
2および分析対象プログラムに対する本ソフトウェアの
品質分析装置による出力ファイルの表示例を示す。
Next, the above two programs PG1 and PG
2 shows a display example of an output file by the quality analysis device of this software for 2 and an analysis target program.

【0052】図10は、プログラムPG1に対する出力
ファイルの表示例を示す図である。図10において、図
10(a)は、プログラムPG1を構成するモジュール
毎のメトリクス値を示し、図10(b)は、プログラム
PG1のモジュール毎のデータ使用型別頻度を使用個数
で示したものであり、図10(c)は、プログラムPG
1の各データのデータスコープ値を示したものである。
FIG. 10 is a diagram showing a display example of an output file for the program PG1. In FIG. 10, FIG. 10A shows a metric value for each module that constitutes the program PG1, and FIG. 10B shows a data usage type frequency for each module of the program PG1 in terms of the number of uses. Yes, FIG. 10C shows the program PG
2 shows the data scope value of each data item 1.

【0053】図10(a)においては、従来と同じよう
に、例えばモジュール名「GETDATA」のステップ
数は9であり、データ数は9であり、条件判定数は0で
あることを示している。
In FIG. 10A, as in the conventional case, for example, the number of steps of the module name "GETDATA" is 9, the number of data is 9, and the number of condition determinations is 0. .

【0054】図10(b)においては、例えばデータ名
「DATAA」は、モジュール名「GETDATA」に
おいて、「定義・代入」のデータとして1回使用され、
モジュール名「PREPARE」において、「参照」の
データとして1回使用され、プログラム全体では、「定
義・代入」および「参照」のデータとしてそれぞれ1回
ずつ使用されていることを示している。
In FIG. 10B, for example, the data name “DATAA” is used once as the “definition / substitution” data in the module name “GETDATA”.
The module name "PREPARE" indicates that the data is used once as "reference" data, and is used once as "definition / substitution" and "reference" data in the entire program.

【0055】また、図10(c)においては、データ名
「I」および「N」のデータスコープ値がそれぞれ1で
あり、データ名「DATAA」から「DATAI」およ
び「ARRAY」のデータスコープ値がそれぞれ5であ
ることを示している。
In FIG. 10C, the data scope values of the data names "I" and "N" are 1, and the data scope values of the data names "DATAA" to "DATAI" and "ARRAY" are the same. It shows that each is 5.

【0056】図11は、プログラムPG2に対する出力
ファイルの表示例を示す図である。図11において、図
11(a)は、プログラムPG2を構成するモジュール
毎のメトリクス値を示し、図11(b)は、プログラム
PG2のモジュール毎のデータ使用型別頻度を使用個数
で示したものであり、図11(c)、プログラムPG2
の各データのデータスコープ値を示したものである。
FIG. 11 is a diagram showing a display example of an output file for the program PG2. In FIG. 11, FIG. 11A shows a metric value for each module that constitutes the program PG2, and FIG. 11B shows a data usage type frequency for each module of the program PG2 in terms of the number of uses. Yes, FIG. 11C, program PG2
The data scope value of each data is shown.

【0057】図11(a)においては、従来と同じよう
に、例えばモジュール名「START」のステップ数は
2であり、データ数は2であり、条件判定数は2である
ことを示している。
In FIG. 11A, as in the conventional case, for example, the number of steps of the module name "START" is 2, the number of data is 2, and the number of condition determinations is 2. .

【0058】図11(b)においては、例えばデータ名
「I」は、モジュール名「START」において、「定
義・代入」のデータおよび「条件判定付き参照」のデー
タとしてそれぞれ1回ずつ使用され、モジュール名「C
OMPARE」において、「参照」のデータとして1回
使用され、モジュール名「EXCHANGE」において
「定義・代入」のデータとして1回使用され、プログラ
ム全体では、「定義・代入」のデータとして2回使用さ
れ、「参照」のデータとして1回使用され、「条件判定
付き参照」のデータとして1回使用されていることを示
している。
In FIG. 11B, for example, the data name "I" is used once in the module name "START" as the data "definition / substitution" and the data "reference with conditional judgment", respectively. Module name "C
Used once as "reference" data in OMPARE, once as "definition / substitution" data in module name "EXCHANGE", and twice as "definition / substitution" data in the entire program. , Is used once as the data of “reference” and once as the data of “reference with condition determination”.

【0059】また、図11(c)においては、データ名
「I」のデータスコープ値が5であり、データ名「TM
P」および「IMAXN」のデータスコープ値がそれぞ
れ1であり、データ名「IMIN」および「ARRA
Y」のデータスコープ値がそれぞれ3であることを示し
ている。
Further, in FIG. 11C, the data scope value of the data name "I" is 5, and the data name "TM"
The data scope values of "P" and "IMAXN" are 1 respectively, and the data names "IMIN" and "ARRA"
The data scope values of “Y” are 3, respectively.

【0060】図12は、分析対象プログラムのプログラ
ム毎の出力ファイルの表示例を示した図である。図12
において、図12(a)は、プログラム毎のメトリクス
値を示し、図12(b)は、プログラム毎のデータ使用
型別頻度を使用個数で示したものであり、図12
(c)、分析対象システムの各種データ型の組み合わせ
に対する使用型別頻度をプログラム毎に示したものであ
る。
FIG. 12 is a diagram showing a display example of an output file for each program of the analysis target program. 12
12A, the metric value for each program is shown, and FIG. 12B shows the data usage type frequency for each program in terms of the number of uses.
(C) shows the frequency of each usage type for each combination of various data types of the analysis target system for each program.

【0061】図12(a)においては、従来と同じよう
に、例えばプログラム名「ASCENDANT」のステ
ップ数は49であり、データ数は13であり、条件判定
数は2であることを示している。
In FIG. 12A, as in the conventional case, for example, the number of steps of the program name "ASCENDANT" is 49, the number of data is 13, and the number of condition determinations is 2. .

【0062】図12(b)においては、例えばデータ名
「DATAA」は、プログラム名「ASCENDAN
T」において、「定義・代入」のデータおよび「参照」
のデータがそれぞれ1つ使用され、プログラム名「MI
NIMUM」では使用されていないことを示している。
In FIG. 12B, for example, the data name "DATAA" is the program name "ASCENDAN".
In "T", "definition / substitution" data and "reference"
One piece of data is used for each, and the program name "MI
NIMUM ”indicates that it is not used.

【0063】また、図12(c)においては、例えばプ
ログラム名「ASCENDANT」で、「定義・代入」
のデータかつ「参照」のデータとして使用しているデー
タ、すなわちデータ型「D&R」の個数が10個あるこ
とを示している。
Further, in FIG. 12 (c), for example, the program name "ASCENDANT", "definition / substitution"
Data and data used as “reference” data, that is, there are 10 data types “D & R”.

【0064】ここで、プログラム名「ASCENDAN
T」とプログラム名「MINIMUM」のそれぞれに対
して具体的なデータを例にあげてデータスコープについ
て説明する。
Here, the program name "ASCENDAN
The data scope will be described by taking concrete data as an example for each of "T" and the program name "MINIMUM".

【0065】図13は、プログラム名「ASCENDA
NT」のデータDATAAに対するデータスコープ値を
説明する図である。ここで、図13(a)は、モジュー
ル構成を示す木構造図である。図13(b)において
は、図13(a)に示したモジュール構成において、デ
ータDATAAが使用されているモジュールを斜線で示
している。図13(c)は、図13(b)の斜線で示し
たデータDATAAを使用しているモジュールを含み、
アーク数が最小のモジュール接続関係を示している。し
たがって、図13(c)のデータDATAAに関する木
構造をもとに、データDATAAを含むモジュール数は
2であり、必要なアーク数は3であることから、データ
DATAAのデータスコープ値DS(DATAA)は5
となることがわかる。
FIG. 13 shows the program name "ASCENDA
It is a figure explaining the data scope value with respect to the data DATAA of "NT". Here, FIG. 13A is a tree structure diagram showing the module configuration. In FIG. 13B, the module in which the data DATAA is used in the module configuration shown in FIG. FIG. 13C includes a module using the data DATAA indicated by the hatched lines in FIG. 13B,
The module connection relationship with the minimum number of arcs is shown. Therefore, based on the tree structure for the data DATAA in FIG. 13C, the number of modules including the data DATAA is 2, and the required number of arcs is 3. Therefore, the data scope value DS (DATAA) of the data DATAA is Is 5
It turns out that

【0066】また、図14は、プログラム名「MINI
MUM」のデータIMINに対するデータスコープ値を
説明する図である。ここで、図14(a)は、モジュー
ル構成を示す木構造図である。図14(b)において
は、図14(a)に示したモジュール構成において、デ
ータIMINが使用されているモジュールを斜線で示し
ている。図14(c)は、図14(b)の斜線で示した
データIMINを使用しているモジュールを含み、アー
ク数が最小のモジュール接続関係を示している。したが
って、図14(c)のデータIMINに関する木構造を
もとに、データIMINを含むモジュール数は2であ
り、必要なアーク数は1であることから、データIMI
Nのデータスコープ値DS(IMIN)は3となること
がわかる。
Further, FIG. 14 shows the program name "MINI
It is a figure explaining the data scope value with respect to the data IMIN of "MUM". Here, FIG. 14A is a tree structure diagram showing the module configuration. In FIG. 14B, the module in which the data IMIN is used in the module configuration shown in FIG. 14A is indicated by diagonal lines. FIG. 14C shows a module connection relationship in which the number of arcs is minimum, including the module using the data IMIN shown by the shaded area in FIG. 14B. Therefore, based on the tree structure regarding the data IMIN in FIG. 14C, the number of modules including the data IMIN is 2, and the required number of arcs is 1, so that the data IMI
It can be seen that the data scope value DS (IMIN) of N is 3.

【0067】上述した分析対象システムを構成する2つ
のプログラム毎の出力ファイルと、このプログラムを構
成するモジュール毎の出力ファイルが分析結果格納部2
に記憶されることになる。
The output files for each of the two programs that make up the analysis target system and the output files for each of the modules that make up this program are the analysis result storage unit 2.
Will be stored in.

【0068】次に、これらの出力ファイルをもとにグラ
フ化処理した例を示す。
Next, an example of graphing processing based on these output files will be shown.

【0069】図15は、図10(c)および図11
(c)のデータスコープ値をグラフ化処理した例を示す
図である。ここで、図15(a)は、プログラム名「A
SCENDANT」のデータスコープ値を棒グラフ化処
理した例であり、図15(b)は、プログラム名「MI
NIMUM」のデータスコープ値を棒グラフ化処理した
例を示す図である。このようにグラフ化処理を行って表
示すると、データスコープ値の分布がわかり、プログラ
ムの特性を把握し易い。
FIG. 15 shows FIG. 10 (c) and FIG.
It is a figure which shows the example which graph-processed the data scope value of (c). Here, FIG. 15A shows the program name “A
This is an example in which the data scope value of “SCENDANT” is bar-graphed, and FIG.
It is a figure which shows the example which processed the data scope value of "NIMUM" into a bar graph. When the graphing process is performed and displayed in this way, the distribution of the data scope values can be understood, and the characteristics of the program can be easily understood.

【0070】また、図16は、図12(c)のプログラ
ム毎の使用型別頻度をグラフ化処理した例を示す図であ
る。ここで、図16(a)は、プログラム名「ASCE
NDANT」の使用型別頻度を円グラフ化処理した例を
示す図であり、図16(b)は、プログラム名「MIN
IMUM」の使用型別頻度を円グラフ化処理した例を示
す図である。この円グラフは、各プログラムのデータが
どのような分類のデータ使用型のデータの組み合わせと
して使用しているのかを円グラフ化処理したものである
ため、異なるデータ使用型の重複使用等を行っているプ
ログラム構成を容易に把握することができる。
FIG. 16 is a diagram showing an example of graphing the usage type-based frequency for each program of FIG. 12 (c). Here, FIG. 16A shows the program name “ASCE
It is a figure which shows the example which processed the frequency according to the usage type of "NDANT" into the pie chart, and FIG.16 (b) is a program name "MIN.
It is a figure which shows the example which carried out the pie chart process about the frequency according to the usage type of "IMUM." This pie chart is a pie chart processing of what kind of combination of data usage type data the data of each program is used, so it is possible to duplicate the usage of different data usage types. It is possible to easily understand the program structure that exists.

【0071】さて、次に、このようにして分析された出
力ファイルをもとに、分析対象システムの評価、および
マネージャあるいはプログラマに対して助言を与えてソ
フトウェアの高品質を支援するソフトウェアの高品質化
支援装置について説明する。図17は、ソフトウェアの
高品質化支援装置の構成ブロック図である。図17にお
いて、分析結果格納部22には、図1に示したソフトウ
ェアの品質分析装置による分析結果である出力ファイル
が記憶されている。また、評価・助言基準21には、評
価および助言付与のためのルールが格納されている。そ
して、評価・助言処理部20は、評価および助言付与の
対象出力ファイルを読み込み、この出力ファイルの分析
結果に対し、評価・助言基準21を参照して評価および
助言付与の処理を行う。なお。入力部24、出力部25
および入出力制御部26は、図1における入力部4、出
力部5および入出力制御部6と同様のものである。
Next, based on the output file analyzed in this way, evaluation of the system to be analyzed and high quality of software for giving advice to the manager or programmer to support high quality of software The conversion support device will be described. FIG. 17 is a configuration block diagram of a software quality improvement support device. 17, the analysis result storage unit 22 stores an output file which is the analysis result of the software quality analysis apparatus shown in FIG. Further, the evaluation / advice standard 21 stores rules for evaluation and advice giving. Then, the evaluation / advice processing unit 20 reads the target output file for evaluation / advice, and refers to the evaluation / advice criteria 21 for the analysis result of this output file to perform the evaluation / advice addition processing. Incidentally. Input unit 24, output unit 25
The input / output control unit 26 is the same as the input unit 4, the output unit 5, and the input / output control unit 6 in FIG.

【0072】次に、このソフトウェアの高品質化支援装
置の動作をフローチャートに基づいて説明する。
Next, the operation of the software quality improvement support apparatus will be described with reference to a flowchart.

【0073】図18は、ソフトウェアの高品質化支援装
置の評価・助言付与処理フローチャートである。図18
において、まず分析結果格納部22の中から評価対象プ
ログラムの出力ファイルを取り出す(ステップ40
1)。そして、モジュール呼出関係のプログラム構造を
出力部25から、プログラム構造を示す木構造を表示出
力する(ステップ402)。次に、取り出した出力ファ
イルの分析結果をもとに、評価・助言処理部20は、評
価・助言基準21の評価ルール410を参照して、評価
結果を表示出力する(ステップ403)。
FIG. 18 is a flowchart of the evaluation / advice giving process of the software quality improvement support device. FIG.
First, the output file of the evaluation target program is extracted from the analysis result storage unit 22 (step 40).
1). Then, the program structure relating to the module call is displayed and output from the output unit 25 as a tree structure indicating the program structure (step 402). Next, based on the analysis result of the extracted output file, the evaluation / advice processing unit 20 refers to the evaluation rule 410 of the evaluation / advice criteria 21 and outputs and outputs the evaluation result (step 403).

【0074】そして、マネージャに対する助言付与を行
うか否かを判断し(ステップ404)、助言付与を行わ
ない場合は、ステップ406に移行し、助言付与を行う
場合は、評価・助言基準21の助言ルール411を参照
して、マネージャへの助言付与を行った後に(ステップ
405)、ステップ406に移行する。ステップ406
では、プログラマに対する助言付与を行うか否かを判断
し、助言付与を行わない場合は、本処理を終了し、助言
付与を行う場合は、評価・助言基準21の助言ルール4
12を参照して、プログラマへの助言付与を行った後に
(ステップ407)、本処理を終了する。
Then, it is judged whether or not advice is given to the manager (step 404). If advice is not given, the process proceeds to step 406. If advice is given, advice of the evaluation / advice standard 21 is given. After giving advice to the manager by referring to the rule 411 (step 405), the process proceeds to step 406. Step 406
Then, it is determined whether or not the advice is given to the programmer. If the advice is not given, this process is terminated, and if the advice is given, the advice rule 4 of the evaluation / advice standard 21 is given.
After giving advice to the programmer with reference to step 12 (step 407), this processing is ended.

【0075】次に、図18におけるステップ405およ
びステップ407の助言付与について説明する。
Next, the advice giving in steps 405 and 407 in FIG. 18 will be described.

【0076】図19は、ステップ405におけるマネー
ジャへの助言付与フローチャートである。図19におい
て、まず助言ルールのマネージャに関する最初のルール
に当てはめる(ステップ501)。次に、この助言ルー
ルの条件部は真か否かを判断し(ステップ502)、真
でない場合はステップ504に移行し、真である場合
は、この助言ルールの実行部により助言内容を表示出力
した後(ステップ503)、ステップ504に移行す
る。そして、ステップ504では、次の助言ルールがあ
るか否かを判断し、助言ルールがある場合は、この新し
い助言ルールに当てはめ(ステップ505)、ステップ
502に移行し、助言ルールの数だけ繰り返す。一方、
ステップ504において、次の助言ルールがない場合
は、本処理を終了する。
FIG. 19 is a flow chart for giving advice to the manager in step 405. In FIG. 19, first, the first rule concerning the manager of the advisory rule is applied (step 501). Next, it is determined whether or not the condition part of this advice rule is true (step 502). If it is not true, the process proceeds to step 504. If it is true, the advice part is displayed and output by the advice rule execution part. After that (step 503), the process proceeds to step 504. Then, in step 504, it is determined whether or not there is a next advice rule. If there is an advice rule, this new advice rule is applied (step 505), the process proceeds to step 502, and the number of advice rules is repeated. on the other hand,
In step 504, if there is no next advice rule, this processing ends.

【0077】図20は、ステップ407におけるプログ
ラマへの助言付与フローチャートである。図20におい
て、まず助言ルールのプログラマに関する最初のルール
に当てはめる(ステップ601)。次に、この助言ルー
ルの条件部は真か否かを判断し(ステップ602)、真
でない場合はステップ604に移行し、真である場合
は、この助言ルールの実行部により助言内容を表示出力
した後(ステップ603)、ステップ604に移行す
る。そして、ステップ604では、次の助言ルールがあ
るか否かを判断し、助言ルールがある場合は、この新し
い助言ルールに当てはめ(ステップ605)、ステップ
602に移行し、助言ルールの数だけ繰り返す。一方、
ステップ604において、次の助言ルールがない場合
は、本処理を終了する。
FIG. 20 is a flow chart for giving advice to the programmer in step 407. In FIG. 20, first, the first rule relating to the advisory rule programmer is applied (step 601). Next, it is judged whether or not the condition part of this advice rule is true (step 602), and if it is not true, the process moves to step 604, and if it is true, the advice part is displayed and output by the execution part of this advice rule. After that (step 603), the process proceeds to step 604. Then, in step 604, it is determined whether or not there is a next advice rule, and if there is an advice rule, this new advice rule is applied (step 605), the process proceeds to step 602, and the number of advice rules is repeated. on the other hand,
If there is no next advisory rule in step 604, this process ends.

【0078】ここで、評価あるいは助言ルールは、次の
ようなものである。例えば、 RULE1:「定義・代入」かつ「参照」データの数が
多い IF Y=((D AND R)/DATA×1
00)≧X THEN RULE1=真 BECAUSE:「定義・代入」かつ「参照」に使われ
ているデータは、定義・代入によって値が変わり、内部
状態の数が増加するだけでなく、参照時のタイミングの
問題(参照したいときに、既に新しい値が代入されてし
まっているなど)も生じ、Xが大きいと修正・変更を受
け易い傾向があるため。) このルールは、「IF」文において、「定義・代入」か
つ「参照」に使われているデータ数(D AND R)
の全データ数(DATA)に対する割合(Y%)がX%
以上であるか否かを判定し、割合YがX以上である場合
は、このルールを真として、対象プログラムに対して
「定義・代入」かつ「参照」データの数が多いプログラ
ムであると評価する。そして、必要であれば、「BEC
AUSE」の評価判定理由内容を参照する。
Here, the evaluation or advisory rule is as follows. For example, RULE1: “Definition / substitution” and “reference” data is large. IF Y = ((D AND R) / DATA × 1
00) ≧ X THEN RULE1 = true BECAUSE: The data used for “definition / substitution” and “reference” not only change the value due to definition / substitution and increase the number of internal states, but also the timing of reference Problem (a new value has already been assigned when you want to refer to it), and if X is large, it tends to be corrected or changed. ) This rule is the number of data (D AND R) used for “definition / assignment” and “reference” in the “IF” statement.
Of the total number of data (DATA) (Y%) is X%
If the ratio Y is equal to or more than X, it is determined that the rule is true and the program has a large number of “definition / substitution” and “reference” data for the target program. To do. Then, if necessary, "BEC
Refer to the contents of the reason for evaluation judgment of "AUSE".

【0079】さらに、ルールの例をあげると、 RULE2:グローバルデータの数が多い IF Y=SCOPE2/DATA×100)≧
X THEN RULE2=真 BECAUSE:(省略) このルールは、「IF」文において、データスコープ値
が2以上のデータ数(SCOPE2)の全データ数(D
ATA)に対する割合(Y%)がX%以上であるか否か
を判定し、割合YがX以上である場合は、このルールを
真として、対象プログラムに対してグローバルデータの
数が多いプログラムであると評価する。そして、必要で
あれば、省略してある「BECAUSE」の評価判定理
由内容を参照する。
Further, as an example of the rule, RULE2: a large number of global data IF Y = SCOPE2 / DATA × 100) ≧
X THEN RULE2 = true BECAUSE: (Omitted) This rule is that in the "IF" statement, the total number of data (D) whose data scope value is 2 or more (SCOPE2)
ATA) ratio (Y%) is greater than or equal to X%. If the ratio Y is greater than or equal to X, this rule is set to true and a program that has a large number of global data in the target program. Evaluate to be. Then, if necessary, the evaluation determination reason content of “BECAUSE” omitted is referred to.

【0080】なお、このような複数のルールは、評価・
助言基準21内に予め保持されている。
Note that a plurality of such rules are
It is held in advance in the advice standard 21.

【0081】次に、高品質化支援装置によるプログラム
の評価および助言付与の処理結果について説明する。
Next, the processing results of the program evaluation and the advice giving processing by the quality improvement support device will be described.

【0082】図21は、図8で示したプログラム「AS
CENDANT」の評価結果の表示出力例を示す図であ
る。図21においては、プログラム構造の特徴として、 1.「定義・代入」かつ「参照」に使われているデータ
が多い。 2.データスコープ値が2以上のデータの比率が大き
い。 という評価結果を得ている。これは、「定義・代入」か
つ「参照」に使われているデータが多いというルールが
真であり、データスコープ値が2以上のデータの比率が
大きいというルールが真であったためである。このこと
は、図15(a)および図16(a)のグラフからデー
タスコープ値が5であるデータが10個あり、「定義・
代入」かつ「参照」に使われるデータが83.3%であ
ることからも理解することができる。また、修正・変更
量の予測値として、プログラムの31%という値を表示
しているが、これは、過去のデータから予測計算された
ものである。
FIG. 21 shows the program "AS" shown in FIG.
It is a figure which shows the display output example of the evaluation result of "CENDANT." In FIG. 21, the features of the program structure are: Most of the data is used for "definition / substitution" and "reference". 2. The ratio of data with a data scope value of 2 or more is large. The evaluation result is obtained. This is because the rule that a large amount of data is used for “definition / assignment” and “reference” is true, and the rule that a ratio of data having a data scope value of 2 or more is large is true. This means that from the graphs of FIG. 15 (a) and FIG. 16 (a), there are 10 data whose data scope value is 5,
It can be understood from the fact that the data used for “substitution” and “reference” is 83.3%. Further, as the predicted value of the correction / change amount, the value of 31% of the program is displayed, which is predicted and calculated from the past data.

【0083】図22は、プログラム「ASCENDAN
T」の助言結果の表示出力例を示す図である。ここで、
図22(a)は、マネージャへの助言の表示出力例であ
り、図22(b)は、プログラマへの助言の表示出力例
である。
FIG. 22 shows the program "ASCENDAN".
It is a figure which shows the example of a display output of the advice result of "T". here,
FIG. 22A is an example of display output of advice to the manager, and FIG. 22B is an example of display output of advice to the programmer.

【0084】図22(a)においては、助言M1の「モ
ジュールの分け方をもう一度検討する必要がある」とい
うルールと、助言M2の「「定義・代入」かつ「参照」
データを中心に詳細なレビューが必要である」というル
ールが真であったためである。
In FIG. 22 (a), the rule of the advice M1 "It is necessary to consider again how to divide the module" and the advice M2 "Definition / substitution" and "reference".
This is because the rule that "a detailed review is necessary focusing on data" is true.

【0085】また、図22(b)においては、マネージ
ャへの助言と同様に、助言P1の「モジュールの分け方
をもう一度検討する必要がある」というルールと、助言
P2の「「定義・代入」かつ「参照」データを中心に詳
細なレビューが必要である」というルールが真であった
ためである。また、プログラマへの助言の場合、さら
に、その助言の根拠となった分析結果も詳細に表示出力
する。
Further, in FIG. 22B, similarly to the advice to the manager, the rule of the advice P1 "It is necessary to consider again how to divide the module" and the advice P2 of "" Definition / substitution ". Moreover, the rule that "a detailed review is necessary centering on" reference "data" was true. Further, in the case of advice to the programmer, the analysis result which is the basis of the advice is also displayed in detail.

【0086】図23は、プログラム「ASCENDAN
T」の高品質化への助言の表示出力例を示す図である。
ここで、図23(a)は、マネージャへの高品質化のた
めの助言の表示出力例を示し、図23(b)は、プログ
ラマへの高品質化のための助言の表示出力例を示してい
る。
FIG. 23 shows the program "ASCENDAN".
It is a figure which shows the example of a display output of the advice to quality improvement of "T".
Here, FIG. 23A shows an example of display output of advice for high quality to the manager, and FIG. 23B shows an example of display output of advice for high quality to the programmer. ing.

【0087】図23(a)においては、助言HM1の
「モジュールの分け方をもう一度検討する必要がある」
という高品質化のためのルールと、助言HM2の「デー
タ「ARRAY」を中心に詳細なレビューが必要であ
る」という高品質化のためのルールが真であったため
に、その結果が表示されている。
In FIG. 23 (a), "It is necessary to reconsider how to divide modules" of the advice HM1.
The result is displayed because the rule for improving quality and the rule for improving quality called “Need a detailed review centered on the data“ ARRAY ”” of Advice HM2 are true. There is.

【0088】さらに、図23(b)においては、助言H
P1の「モジュールの分け方をもう一度見直しましょ
う」という高品質化のルールと、助言HP2の「データ
「ARRAY」に注意しましょう」というルールが真で
あったためであり、その結果が表示されている。
Further, in FIG. 23 (b), the advice H
This is because the high quality rule of "Let's review how to divide modules again" of P1 and the rule of "Let's be careful about data" ARRAY "" of advice HP2 were true, and the result is displayed. There is.

【0089】ここで、プログラマへの高品質化のための
助言の場合、表示部の表示画面上に助言に対する「理
由」と「ポイント」の選択部S1〜S4、すなわちアイ
コンを設け、このアイコンをマウスで選択することによ
り、新たなウィンドウが開かれて、選択された箇所の理
由、あるいはポイントの内容が表示される。
Here, in the case of advice for improving the quality to the programmer, the "reason" and "point" selection sections S1 to S4 for the advice, that is, icons are provided on the display screen of the display section, and this icon is displayed. By selecting with the mouse, a new window will open, displaying the reason for the selection or the contents of point.

【0090】図24は、図23(b)の表示出力画面の
助言HP1に対する理由を選択した場合の表示を示す図
であり、図25は、図23(b)の表示出力画面の助言
HP2に対するポイントを選択した場合の表示を示す図
である。すなわち、図24のウィンドウW1には、助言
HP1に対する理由の内容が表示され、図25のウィン
ドウW2には、助言HP2に対するポイントの内容が表
示される。
FIG. 24 is a diagram showing a display when the reason for the advice HP1 on the display output screen of FIG. 23 (b) is selected, and FIG. 25 is shown for the advice HP2 of the display output screen of FIG. 23 (b). It is a figure which shows the display when a point is selected. That is, the content of the reason for the advice HP1 is displayed in the window W1 of FIG. 24, and the content of the points for the advice HP2 is displayed in the window W2 of FIG.

【0091】このように、プログラムの分析結果を利用
し、ルールに基づいて、プログラムに対する一般的な評
価、マネージャあるいはプログラマへの助言を得ること
ができる。
As described above, by using the analysis result of the program, it is possible to obtain general evaluation of the program and advice to the manager or the programmer based on the rule.

【0092】なお、上記実施例においては、ソフトウェ
アの品質分析装置とソフトウェアの高品質化支援装置を
別々に説明したが、この2つの装置を組み合わせて1つ
の装置としてもよい。むしろ、プログラムの品質分析か
ら評価・助言という処理は連続処理であることから、1
つの装置とした方が効率がよい。
In the above embodiment, the software quality analysis device and the software quality improvement support device have been described separately, but these two devices may be combined into one device. Rather, the process of evaluation and advice from the program quality analysis is a continuous process, so 1
Two devices are more efficient.

【0093】[0093]

【発明の効果】以上説明したように、本発明は、従来か
ら用いられているプログラム量に関するメトリクスと制
御構造に関するメトリクスの他に、変数データの操作構
造に関するのメトリクスを計測し、このメトリクスをも
とにソフトウェアを分析処理し、分析処理内容をファイ
ルとして出力あるいは表示出力し、さらにはグラフとし
て表示出力する。そして、この変数データの操作構造に
関するメトリクスは、「定義・代入」や「参照」等の変
数データの使用型に分類した変数データの使用型別頻度
と、変数データのそれぞれがいくつのモジュールで使用
されているかを測ったデータスコープ値とからなり、変
数データの使用型別頻度からはプログラムにおける各種
変数データの操作法を細かくみることができ、データス
コープ値からは変数データのグローバル度を評価するこ
とができるため、ソフトウェアを構成するプログラムの
品質を本質的かつ客観的に分析・評価できるという利点
を有する。
As described above, according to the present invention, in addition to the metrics related to the program amount and the metrics related to the control structure which have been conventionally used, the metrics related to the operation structure of variable data are measured, and this metric is also measured. The software is subjected to analysis processing, and the analysis processing contents are output or displayed as a file, and further displayed and output as a graph. The metrics related to the operation structure of the variable data are classified into the usage types of the variable data such as "definition / assignment" and "reference", and the frequency by type of usage of the variable data and the number of modules used for each variable data. It is made up of the data scope value that measures whether or not the variable data is used, and the operation method of various variable data in the program can be seen in detail from the frequency of usage of variable data, and the global degree of variable data is evaluated from the data scope value. Therefore, there is an advantage that the quality of the program that constitutes the software can be essentially and objectively analyzed and evaluated.

【0094】また、前記変数データの操作構造に関する
メトリクスを含めたメトリクスによる分析処理結果か
ら、予めルール格納手段に格納されている評価および助
言のルールをもとに、ソフトウェアの評価および助言付
与の処理を行う。この際、ソフトウェアの評価は、該ソ
フトウェアを構成するプログラム毎に提示し、助言は、
マネージャあるいはプログラマに対する助言を選択する
ことができ、助言内容に対する理由および高品質化への
ポイントを選択により提示することができるため、ソフ
トウェアの結合テスト前およびテスト中においても効果
的なプログラムの修正・変更が可能となり、ソフトウェ
アの開発にかかる時間を短縮するとともに、高品質のソ
フトウェアを作成することができるという利点を有す
る。
Further, based on the analysis processing result by the metric including the metric relating to the operation structure of the variable data, the processing of software evaluation and advice provision based on the evaluation and advice rules stored in the rule storage means in advance. I do. At this time, the software evaluation is presented for each program that constitutes the software, and the advice is
It is possible to select the advice to the manager or the programmer, and the reason for the advice content and the point for improving the quality can be presented by the selection, so that effective program modification / correction before and during the software integration test This has the advantages that changes can be made, the time required for software development can be shortened, and high-quality software can be created.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例であるソフトウェアの品質分
析装置の構成ブロック図。
FIG. 1 is a block diagram showing the configuration of a software quality analysis device according to an embodiment of the present invention.

【図2】ソフトウェアの品質分析処理フローチャート。FIG. 2 is a software quality analysis processing flowchart.

【図3】図2のステップ105におけるデータ部の解析
処理フローチャート。
FIG. 3 is an analysis processing flowchart of a data part in step 105 of FIG.

【図4】図2のステップ106における手続き部の解析
処理フローチャート。
FIG. 4 is an analysis processing flowchart of a procedure section in step 106 of FIG.

【図5】データスコープ値の算出を説明する図。FIG. 5 is a diagram illustrating calculation of a data scope value.

【図6】モジュール毎の出力ファイルの表示処理結果を
示す図。
FIG. 6 is a diagram showing a display processing result of an output file for each module.

【図7】プログラム毎の出力ファイルの表示処理結果を
示す図。
FIG. 7 is a diagram showing a display processing result of an output file for each program.

【図8】プログラムASCENDANTの構成を示す
図。
FIG. 8 is a diagram showing a configuration of a program ASCENDANT.

【図9】プログラムMINIMUMの構成を示す図。FIG. 9 is a diagram showing a configuration of a program MINIMUM.

【図10】プログラムPG1に対する出力ファイルの表
示例を示す図。
FIG. 10 is a diagram showing a display example of an output file for a program PG1.

【図11】プログラムPG2に対する出力ファイルの表
示例を示す図。
FIG. 11 is a diagram showing a display example of an output file for a program PG2.

【図12】分析対象プログラムのプログラム毎の出力フ
ァイルの表示例を示す図。
FIG. 12 is a diagram showing a display example of an output file for each program of an analysis target program.

【図13】プログラム名「ASCENDANT」のデー
タDATAAに対するデータスコープ値を説明する図。
FIG. 13 is a diagram illustrating a data scope value for data DATAA having a program name “ASCENDANT”.

【図14】図14は、プログラム名「MINIMUM」
のデータIMINに対するデータスコープ値を説明する
図。
FIG. 14 is a program name “MINIMUM”.
For explaining the data scope value for the data IMIN of FIG.

【図15】図10(c)および図11(c)のデータス
コープ値をグラフ化処理した例を示す図。
FIG. 15 is a diagram showing an example of graphing the data scope values of FIGS. 10 (c) and 11 (c).

【図16】図12(c)のプログラム毎の使用型別頻度
をグラフ化処理した例を示す図。
FIG. 16 is a diagram showing an example of a graphing process of the frequency of each usage type for each program of FIG.

【図17】ソフトウェアの高品質化支援装置の構成ブロ
ック図。
FIG. 17 is a configuration block diagram of a software quality improvement support device.

【図18】ソフトウェアの高品質化支援装置の評価・助
言付与処理フローチャート。
FIG. 18 is a flowchart of an evaluation / advice giving process of the software quality improvement support device.

【図19】ステップ405におけるマネージャへの助言
付与フローチャートで
FIG. 19 is a flowchart for giving advice to a manager in step 405.

【図20】ステップ407におけるプログラマへの助言
付与フローチャート。
FIG. 20 is a flowchart of giving advice to a programmer in step 407.

【図21】図8で示したプログラム「ASCENDAN
T」の評価結果の表示出力例を示す図。
FIG. 21 shows the program “ASCENDAN” shown in FIG.
The figure which shows the display output example of the evaluation result of "T".

【図22】プログラム「ASCENDANT」の助言結
果の表示出力例を示す図。
FIG. 22 is a diagram showing a display output example of the advice result of the program “ASCENDANT”.

【図23】図23は、プログラム「ASCENDAN
T」の高品質化への助言の表示出力例を示す図。
FIG. 23 shows the program “ASCENDAN”
The figure which shows the example of a display output of the advice to quality improvement of "T".

【図24】図23(b)の表示出力画面の助言HP1に
対する理由を選択した場合の表示を示す図。
FIG. 24 is a diagram showing a display when the reason for the advice HP1 on the display output screen of FIG. 23 (b) is selected.

【図25】図23(b)の表示出力画面の助言HP2に
対するポイントを選択した場合の表示を示す図。
FIG. 25 is a diagram showing a display when a point for the advice HP2 on the display output screen of FIG. 23 (b) is selected.

【符号の説明】[Explanation of symbols]

1 分析対象システム格納部 2 分析結果格納部 3 ファイル管理部 4 入力部 5 出力部 6 入出力制御部 7 一時記憶部 8 分析処理部 9 モジュール呼出関係記憶部 10 メトリクス記憶部 11 ステップ数記憶部 12 データ数記憶部 13 条件判定数記憶部 14 データの使用型別頻度記憶部 15 データスコープ値記憶部 20 評価・助言処理部 21 評価・助言基準 1 analysis target system storage unit 2 analysis result storage unit 3 file management unit 4 input unit 5 output unit 6 input / output control unit 7 temporary storage unit 8 analysis processing unit 9 module call relation storage unit 10 metrics storage unit 11 step number storage unit 12 Number of data storage unit 13 Number of condition judgment storage unit 14 Frequency storage unit by data usage type 15 Data scope value storage unit 20 Evaluation / advice processing unit 21 Evaluation / advice standard

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】プログラム量に関するメトリクスおよび制
御構造に関するメトリクスを記憶する第1のメトリクス
記憶手段を有してソフトウェアの品質分析を行うソフト
ウェアの品質分析装置において、 変数データの操作構造に関するメトリクスを記憶する第
2のメトリクス記憶手段と、 前記ソフトウェアを構成するプログラム毎、および該プ
ログラムを構成するモジュール毎に前記第1および第2
のメトリクス記憶手段に記憶されるメトリクスを計数
し、該プログラム毎および該モジュール毎の品質分析処
理を行う分析処理手段と、 前記分析処理手段による分析処理結果を格納する分析結
果格納手段とを具備したことを特徴とするソフトウェア
の品質分析装置。
1. A software quality analysis device for performing software quality analysis, comprising first metric storage means for storing metrics relating to a program amount and metrics relating to a control structure, and storing metrics relating to an operation structure of variable data. Second metric storage means, each of the programs constituting the software, and each of the first and second modules for each module constituting the program.
The analysis processing means for counting the metrics stored in the metrics storage means and performing the quality analysis processing for each program and each module, and the analysis result storage means for storing the analysis processing result by the analysis processing means. A software quality analysis device characterized in that
【請求項2】前記ソフトウェアを構成するプログラム内
のモジュール間の呼出接続関係を木構造として記憶する
モジュール呼出関係記憶手段を有し、 前記分析処理手段が計数する変数データの操作構造に関
するメトリクスは、 変数データの使われ方により分類された所定の使用型別
に計数された変数データの使用型別頻度と、 前記モジュール呼出関係記憶手段に記憶されている木構
造内で所定の変数データが使用されているモジュールの
数と、該モジュール間を呼出接続する最小の接続枝の数
との和で与えられるデータスコープ値とであることを特
徴とする前記請求項1記載のソフトウェアの品質分析装
置。
2. A metric relating to an operation structure of variable data counted by the analysis processing means, comprising module call relation storing means for storing a call connection relation between modules in a program constituting the software as a tree structure, The usage type frequency of the variable data counted by the predetermined usage type classified according to the usage of the variable data, and the predetermined variable data is used in the tree structure stored in the module call relation storage means. 2. The software quality analysis device according to claim 1, wherein the data scope value is given by the sum of the number of existing modules and the minimum number of connection branches for call connection between the modules.
【請求項3】前記分析処理手段は、 前記第1および第2の記憶手段に記憶されているメトリ
クスをもとに、プログラム毎およびモジュール毎のグラ
フ化処理を行うことを特徴とする前記請求項1記載のソ
フトウェアの品質分析装置。
3. The analysis processing means performs graphing processing for each program and each module based on the metrics stored in the first and second storage means. 1. A software quality analysis device according to 1.
【請求項4】プログラム量に関するメトリクス、制御構
造に関するメトリクス、および変数データの操作構造に
関するメトリクスを記憶するメトリクス記憶手段と、 前記メトリクス記憶手段に記憶されるメトリクスを計数
し、プログラム毎および該プログラムを構成するモジュ
ール毎の品質分析処理を行う分析処理手段と、 前記分析処理手段による分析処理結果を格納する分析結
果格納手段と、 前記プログラムの評価および助言のルールを格納したル
ール格納手段と、 前記分析結果格納手段に格納された品質分析処理結果
と、前記ルール格納手段に格納されているルールをもと
に、前記プログラムの評価および助言付与の処理を行う
評価・助言処理手段とを具備することを特徴とするソフ
トウェアの高品質化支援装置。
4. A metric storage unit that stores a metric related to a program amount, a metric related to a control structure, and a metric related to an operation structure of variable data; Analysis processing means for performing quality analysis processing for each of the constituent modules; analysis result storage means for storing analysis processing results by the analysis processing means; rule storage means for storing rules for evaluation and advice of the program; A quality analysis processing result stored in the result storage means; and an evaluation / advice processing means for evaluating and advising the program based on the rules stored in the rule storage means. Characteristic software high quality support device.
JP4263733A 1992-10-01 1992-10-01 Quality analyzing device for software and supporting device for providing the same with high quality Pending JPH06119205A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4263733A JPH06119205A (en) 1992-10-01 1992-10-01 Quality analyzing device for software and supporting device for providing the same with high quality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4263733A JPH06119205A (en) 1992-10-01 1992-10-01 Quality analyzing device for software and supporting device for providing the same with high quality

Publications (1)

Publication Number Publication Date
JPH06119205A true JPH06119205A (en) 1994-04-28

Family

ID=17393543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4263733A Pending JPH06119205A (en) 1992-10-01 1992-10-01 Quality analyzing device for software and supporting device for providing the same with high quality

Country Status (1)

Country Link
JP (1) JPH06119205A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816370A (en) * 1994-06-24 1996-01-19 Nec Corp Managing list preparing device
JP2001273129A (en) * 2000-03-27 2001-10-05 Hitachi Information Systems Ltd Method for controlling/evaluating software quality by means of quality control and quality evaluation rule defined by structured document, and recording medium recorded with its program
JP2002041288A (en) * 2000-07-31 2002-02-08 Hitachi Information Systems Ltd Software development support method
WO2008038389A1 (en) * 2006-09-28 2008-04-03 Fujitsu Limited Program performance analyzing apparatus
KR20200123891A (en) * 2019-04-22 2020-11-02 주식회사 폴소프트 Method and apparatus for providing quality information of application

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816370A (en) * 1994-06-24 1996-01-19 Nec Corp Managing list preparing device
JP2001273129A (en) * 2000-03-27 2001-10-05 Hitachi Information Systems Ltd Method for controlling/evaluating software quality by means of quality control and quality evaluation rule defined by structured document, and recording medium recorded with its program
JP2002041288A (en) * 2000-07-31 2002-02-08 Hitachi Information Systems Ltd Software development support method
WO2008038389A1 (en) * 2006-09-28 2008-04-03 Fujitsu Limited Program performance analyzing apparatus
JPWO2008038389A1 (en) * 2006-09-28 2010-01-28 富士通株式会社 Program performance analyzer
US8839210B2 (en) 2006-09-28 2014-09-16 Fujitsu Limited Program performance analysis apparatus
KR20200123891A (en) * 2019-04-22 2020-11-02 주식회사 폴소프트 Method and apparatus for providing quality information of application

Similar Documents

Publication Publication Date Title
US6895577B1 (en) Risk metric for testing software
US9558464B2 (en) System and method to determine defect risks in software solutions
US8056060B2 (en) Software testing method and system
Harrold et al. Empirical studies of a prediction model for regression test selection
Subraya et al. Object driven performance testing of Web applications
US6959431B1 (en) System and method to measure and report on effectiveness of software program testing
EP0413485B1 (en) Performance improvement tool for rule based expert systems
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US7721269B2 (en) System and method for detecting redundant subroutine calls
US7810079B2 (en) System and method for determining execution path difference in program
US8402317B1 (en) Viewing multi-dimensional metric data from multiple test cases
US7451439B2 (en) System and method for automatically identifying compound refactorings of program code through quantitative metric analysis
US20060265188A1 (en) Methods and apparatus for defect reduction analysis
WO2020113526A1 (en) Chip verification method and device
US20080127083A1 (en) Method and system for combining multiple benchmarks
JPH06119205A (en) Quality analyzing device for software and supporting device for providing the same with high quality
Michael et al. Metrics for measuring the effectiveness of software-testing tools
EP2757468A1 (en) Apparatus and method for managing a software development and maintenance system
Hryszko et al. Cost effectiveness of software defect prediction in an industrial project
KR102060643B1 (en) Method for estimating reliability of weapon system software, method and apparatus for managing reliability of weapon system software and computer readable storage medium having program stored therein
Lee et al. Software reliability prediction for open source software adoption systems based on early lifecycle measurements
CN113570333B (en) Process design method suitable for integration
Schuh et al. Procedure For Hybrid Process Analysis And Design
CN117271278A (en) Performance evaluation method and device based on DevOps and electronic equipment
Cassaday et al. High speed system area networks (InfiniBand). challenges and solutions