JP2015102878A - Program relation analysis method - Google Patents

Program relation analysis method Download PDF

Info

Publication number
JP2015102878A
JP2015102878A JP2013240520A JP2013240520A JP2015102878A JP 2015102878 A JP2015102878 A JP 2015102878A JP 2013240520 A JP2013240520 A JP 2013240520A JP 2013240520 A JP2013240520 A JP 2013240520A JP 2015102878 A JP2015102878 A JP 2015102878A
Authority
JP
Japan
Prior art keywords
program
data item
business
argument
grouping
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
JP2013240520A
Other languages
Japanese (ja)
Inventor
敬志 大島
Takashi Oshima
敬志 大島
大二郎 村田
Daijiro Murata
大二郎 村田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013240520A priority Critical patent/JP2015102878A/en
Publication of JP2015102878A publication Critical patent/JP2015102878A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To save the time for understanding the outline of a numerous number of programs constituting a program relation chart of a large-scale system when the program relation chart is created on the basis of a technique for creating and displaying a program relation chart for analyzing and grasping the programs of an enterprise information system.SOLUTION: A program relation analysis method is for analyzing program files and creating and displaying the relations of the programs. The program relation analysis method analyzes the syntax of the program files to acquire the inter-program call information and data item information, creating a program relation chart, performing grouping in terms of the relations of data item references and updates, extracting programs relating to business data items, sorting the programs on the basis of the relations with the business data items, creating a program relation chart on the basis of the results of program sorting, and displaying the program relation chart.

Description

本発明は、コンピューティングシステムのプログラムの分析に関する。その中でも特に、所定の業務を行うための業務システムにおける分析とこの分析結果の出力する技術に関する。   The present invention relates to analysis of a program of a computing system. In particular, the present invention relates to an analysis in a business system for performing a predetermined business and a technique for outputting the analysis result.

コンピューティングシステムにおいては、そこで使われるプログラムの分析が必要になっている。これは、当該システムのリプレイスや新たなシステムを開発する際などに、既存システムや開発中システムの内容を把握し、新たな開発へのフィードバックや既存システムの問題把握に役立てている。このような本技術分野の背景技術として、特開2008−293486号公報(特許文献1)がある。この公報には、「関数呼び出し、ファイル、クラス、ライブラリなどの構造に基づいて複数のプログラムをモジュールという単位でグループ化し、その関連図を表示する。これにより、大量のプログラムの関連(以下プログラム関連図と呼ぶ)を解析目的に応じて効果的に表示できる。」と記載されている(要約参照)。   In computing systems, it is necessary to analyze the programs used there. This is useful for grasping the contents of an existing system or a system under development, for example, when replacing the system or developing a new system, and for feedback on new development or problems of the existing system. As a background art of this technical field, there is JP 2008-293486 A (Patent Document 1). In this publication, “a plurality of programs are grouped in units of modules based on the structure of function calls, files, classes, libraries, etc., and the related diagram is displayed. Can be effectively displayed according to the purpose of the analysis "(see summary).

特開2008−293486号公報JP 2008-293486 A

近年、リプレース案件の増加に伴い、既存アプリ分析・把握技術が注目されており、その技術のひとつとして、プログラム呼出関係をグラフ構造で表示したプログラム関連図の生成・表示が挙げられる。しかし、大規模システムでは、プログラム関連図を構成するプログラム数が大量に存在するため、プログラム関連図の概要を理解するのに時間がかかってしまう。前記特許文献1には、フォルダ構成や関数の呼び出し方等のプログラム構造に着目したグループ化を行うことで、プログラム関連図を効果的に表示している。   In recent years, with the increase in replacement projects, attention has been paid to existing application analysis and grasping techniques. One of the techniques is the generation and display of program related diagrams in which program call relationships are displayed in a graph structure. However, in a large-scale system, since there are a large number of programs constituting the program related diagram, it takes time to understand the outline of the program related diagram. In Patent Document 1, a program related diagram is effectively displayed by performing grouping focusing on a program structure such as a folder structure and a function calling method.

しかし、前記特許文献1には、フォルダ構成や関数の呼び出し方等のプログラム構造に着目したグループ化であるため、業務観点でプログラム関連図を効果的に表示するのは困難である。例えば、ひとつのプログラム関連図の中で、複数の業務処理を実装している場合、業務共通で実行される部分と業務個別で実行される部分を分類して表示することや、業務と無関係なログ出力やエラーチェックなどのシステム向け処理を実装している部分を省略して表示する等である。   However, since the above-mentioned Patent Document 1 is a grouping that focuses on the program structure such as the folder structure and how to call a function, it is difficult to effectively display a program related diagram from a business viewpoint. For example, if multiple business processes are implemented in one program related diagram, the part that is executed in common for the business and the part that is executed individually for the business are classified and displayed. For example, a part that implements system processing such as log output or error check is omitted.

一方、エンタープライズ向けの企業情報システムでは、業務に関係するデータを格納しているデータベースへの参照と更新が主な機能であり、業務とデータ項目の関係は把握できているケースが少なくない。   On the other hand, enterprise information systems for enterprises mainly refer to and update a database storing business-related data, and there are many cases in which the relationship between business and data items can be grasped.

上記課題を解決するために、本発明は、プログラム関連図を構成するプログラムを業務と関連している業務データ項目に基づきグループ化することで、可読性を向上するものである。そのより具体的な態様として、例えば特許請求の範囲に記載の構成を採用する。つまり、本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、プログラムファイルを分析し、プログラムの関連性を作成し表示するプログラム関連分析方法であって、プログラムファイルの構文を解析しプログラム間の呼出情報とデータ項目の情報を入手し、プログラム関連図を作成する手段を備え、データ項目の参照と更新の関係からグループ化を実施する手段と、業務データ項目と関連するプログラムを抽出する手段と、業務データ項目との関連性に基づきプログラムを分類する手段と、プログラムの分類結果に基づきプログラム関連図を作成し表示する手段とを有することを特徴とする。   In order to solve the above-described problems, the present invention improves readability by grouping programs constituting a program-related diagram based on business data items related to business. As a more specific aspect thereof, for example, the configuration described in the claims is adopted. In other words, the present application includes a plurality of means for solving the above-mentioned problems. To give an example, a program-related analysis method for analyzing a program file and creating and displaying a program relationship, Analyzing the syntax, obtaining the call information between programs and data item information, providing means for creating a program-related diagram, means for grouping from the relationship between reference and update of data items, and business data items And a means for classifying the program based on the relationship with the business data item, and a means for creating and displaying a program related diagram based on the classification result of the program.

本発明によれば、プログラム関連図を構成する大量のプログラムを業務用データ項目に基づきグループ化することで、可読性を向上できる。これにより、例えば業務観点でのプログラム関連把握の作業時間を短縮することができる。   According to the present invention, readability can be improved by grouping a large number of programs constituting a program-related diagram based on business data items. Thereby, for example, it is possible to shorten the work time for grasping the program relation from the business viewpoint.

上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

本発明の一実施形態におけるプログラム分析装置の構成図の例である。It is an example of the block diagram of the program analyzer in one Embodiment of this invention. 本発明の一実施形態におけるプログラム分析装置の処理を説明するフローチャートの例である。It is an example of the flowchart explaining the process of the program analyzer in one Embodiment of this invention. 本発明の一実施形態におけるプログラム分析装置の構文解析の処理を説明するためのプログラムファイルの例である。It is an example of the program file for demonstrating the process of the syntax analysis of the program analyzer in one Embodiment of this invention. 本発明の一実施形態におけるデータ項目のグルーピングの処理を説明するフローチャートの例である。It is an example of the flowchart explaining the process of the grouping of the data item in one Embodiment of this invention. 本発明の一実施形態におけるデータ項目のグルーピングの処理を説明するためのプログラムファイルの例である。It is an example of the program file for demonstrating the process of the grouping of the data item in one Embodiment of this invention. 本発明の一実施形態における動作開始時引数別グルーピング結果114を説明するテーブルの例である。It is an example of the table explaining the grouping result by argument at the time of operation start in one embodiment of the present invention. 本発明の一実施形態におけるデータ項目のグルーピングの処理を説明するためのプログラムファイルの例である。It is an example of the program file for demonstrating the process of the grouping of the data item in one Embodiment of this invention. 本発明の一実施形態におけるCALL引数別グルーピング結果115を説明するテーブルの例である。It is an example of the table explaining the grouping result 115 by CALL argument in one Embodiment of this invention. 本発明の一実施形態におけるプログラム間引数対応一覧116を説明するテーブルの例である。It is an example of the table explaining the correspondence list 116 between programs in one Embodiment of this invention. 本発明の一実施形態における業務データ項目と関連するプログラムの抽出の処理を説明するフローチャートの例である。It is an example of the flowchart explaining the process of extraction of the program relevant to the business data item in one Embodiment of this invention. 本発明の一実施形態における業務データ項目一覧112を説明するテーブルの例である。It is an example of the table explaining the business data item list 112 in one Embodiment of this invention. 本発明の一実施形態における業務データ項目・プログラム関連117を説明するテーブルの例である。It is an example of the table explaining the business data item / program relation 117 in one embodiment of the present invention. 本発明の一実施形態における業務データ項目と関連する呼出元プログラムを抽出するフローチャートの例である。It is an example of the flowchart which extracts the call origin program relevant to the business data item in one Embodiment of this invention. 本発明の一実施形態における業務データ項目と関連する呼出先プログラムを抽出するフローチャートの例である。It is an example of the flowchart which extracts the call destination program relevant to the business data item in one Embodiment of this invention. 本発明の一実施形態におけるプログラム分類結果118を説明するテーブルの例である。It is an example of the table explaining the program classification result 118 in one Embodiment of this invention. 本発明の一実施形態における作業者に結果を表示する画面のイメージ図の例である。It is an example of the image figure of the screen which displays a result for the operator in one Embodiment of this invention. 本発明の一実施形態における作業者に結果を表示する画面のイメージ図の例である。It is an example of the image figure of the screen which displays a result for the operator in one Embodiment of this invention.

以下、本発明の一実施形態を図面を用いて説明する。
本実施実施形態では、いわゆる業務システムのプログラム関連分析装置の例を説明する。
図1は、本実施例のプログラム関連分析装置の構成図の例である。
プログラム分析装置1は、CPU10、メインメモリ11、記憶装置12、入力装置13、出力装置14、及び通信インタフェース15とからなる計算機であり、これらは内部バス等により接続される。CPU10は、記憶装置12に格納されている部をメインメモリ11に読み込み、実行することにより、種々の処理を行う。記憶装置12は、プログラムファイルの構文を解析するプログラム構文解析部101、データ項目の参照と更新の関係からグループ化を実施するデータ項目グルーピング部102、業務データ項目と関連するプログラムを抽出する業務データ項目関連プログラム抽出部103、業務データ項目との関連性に基づきプログラムを分類するプログラム分類部104、プログラムの分類結果に基づきプログラム関連図を作成し表示するプログラム関連表示部105、分析対象となるプログラムファイル111、業務と関連している業務データ項目を格納している業務データ項目一覧112、各プログラムファイルの構文を解析した結果を格納するプログラム構文解析結果113、プログラム動作時に引数として取得するデータ項目(以下、動作開始時引数と呼ぶ)に着目してグループ化したデータ項目の情報を格納する動作開始時引数別グルーピング結果114、プログラム呼び出し時に引数として利用するデータ項目(以下、CALL文引数と呼ぶ)に着目してグループ化したデータ項目の情報を格納するCALL引数別グルーピング結果115、CALL文引数と動作開始時引数を対応付けした結果を格納するプログラム間引数対応一覧116、業務データ項目と関連するプログラムの情報を格納する業務データ項目・プログラム関連117、業務データ項目との関連性に基づきプログラムを分類した結果を格納するプログラム分類結果118を格納している。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
In the present embodiment, an example of a so-called business system program related analysis apparatus will be described.
FIG. 1 is an example of a configuration diagram of the program-related analysis apparatus of this embodiment.
The program analysis device 1 is a computer including a CPU 10, a main memory 11, a storage device 12, an input device 13, an output device 14, and a communication interface 15, which are connected by an internal bus or the like. The CPU 10 performs various processes by reading the unit stored in the storage device 12 into the main memory 11 and executing it. The storage device 12 includes a program syntax analysis unit 101 that analyzes the syntax of a program file, a data item grouping unit 102 that performs grouping from the relationship between reference and update of data items, and business data that extracts programs related to business data items Item-related program extraction unit 103, program classification unit 104 that classifies programs based on relevance to business data items, program-related display unit 105 that creates and displays program-related diagrams based on program classification results, and programs to be analyzed File 111, business data item list 112 that stores business data items related to the business, program syntax analysis result 113 that stores the result of analyzing the syntax of each program file, and data items that are acquired as arguments during program operation (Hereafter, operation starts Grouping by focusing on the grouping result by argument 114 at the start of operation for storing information on data items grouped by focusing on the argument), and on the data item used as an argument at the time of calling the program (hereinafter referred to as CALL statement argument) CALL argument grouping result 115 for storing the information of the converted data item, the inter-program argument correspondence list 116 for storing the result of associating the CALL statement argument and the operation start argument, and the information of the program related to the business data item The business data item / program relation 117 and the program classification result 118 for storing the result of classifying the program based on the relation with the business data item are stored.

図2は、本実施形態のプログラム関連分析装置の処理を説明するフローチャートの例である。以降、図2のフローチャートに基づいて、図1の各部の動作を説明する。   FIG. 2 is an example of a flowchart for explaining processing of the program-related analysis apparatus of the present embodiment. Hereinafter, the operation of each unit in FIG. 1 will be described based on the flowchart in FIG. 2.

S11プログラム構文解析では、プログラム構文解析部101がプログラムファイル111の構文を解析する。構文解析により、プログラム名称、データ項目情報、動作開始時引数情報、プログラム呼出情報を抽出し、プログラム構文解析結果113に格納する。データ項目情報はプログラムで使用しているデータ項目名称、型、サイズ、各データ項目を使用している箇所を示すデータ項目使用箇所、使用箇所でそのデータ項目が参照されているか更新されているかを示すデータ項目の利用方法等を格納している。動作開始時引数情報では各プログラムの動作開始時引数のサイズ、型などの情報を格納している。例えば、COBOLの動作開始時引数はLINKAGE SECTIONで宣言しているデータ項目のことである。プログラム呼出情報は構文解析しているプログラムから呼び出している他プログラムの名称、他プログラムを呼び出している箇所を示すCALL文使用箇所、呼び出しているプログラムにどのデータ項目を引数としているかのCALL文引数名称を格納している。プログラム呼び出し引数の例としてCOBOLの場合、CALL文のUSING句で割り当てた引数があげられる。   In S11 program syntax analysis, the program syntax analysis unit 101 analyzes the syntax of the program file 111. The program name, data item information, operation start argument information, and program call information are extracted by syntax analysis and stored in the program syntax analysis result 113. Data item information is the data item name, type, size used in the program, the data item usage location indicating the location where each data item is used, and whether the data item is referenced or updated at the usage location. The usage method of the indicated data item is stored. The operation start argument information stores information such as the size and type of the operation start argument of each program. For example, the argument at the start of COBOL operation is a data item declared by LINKAGE SECTION. The program call information includes the name of the other program called from the program being parsed, the location where the CALL statement is used to indicate the location where the other program is called, and the CALL statement argument name indicating which data item is the argument to the calling program. Is stored. In the case of COBOL as an example of a program call argument, an argument assigned in the USING phrase of the CALL statement is given.

次に、図3を例に、ここで説明した抽出する情報を示す。図3のプログラムは、動作開始時にデータ項目A1を動作開始時の引数とし、行番号00101でA1に1を加えてデータ項目A2に値をセットし、行番号00102でPGM002を呼び出すプログラムである。プログラム構文解析部101は、プログラム名称として、PGM001を抽出する。データ項目情報としてA1は行番号00101で参照されていること、A2は行番号00101で更新されており、行番号00102で参照されていることを抽出する。動作開始時引数情報としてA1を抽出する。プログラム呼出情報として行番号00102でPGM002をよびだしており、その引数としてA2を使用していることを抽出する。
これらの情報を取得する手段は特許文献1や既存のコンパイラ技術の利用により実現可能である。
Next, the information to be extracted described here will be shown by taking FIG. 3 as an example. The program of FIG. 3 is a program that uses data item A1 as an argument at the start of operation, adds 1 to A1 at line number 00101, sets a value in data item A2, and calls PGM002 at line number 00102. The program syntax analysis unit 101 extracts PGM001 as the program name. As data item information, it is extracted that A1 is referred to by line number 00101, and A2 is updated by line number 00101 and is referenced by line number 00102. A1 is extracted as argument information at the start of operation. It is extracted that PGM002 is called with the line number 00102 as the program call information and A2 is used as the argument.
Means for acquiring such information can be realized by using Patent Document 1 or existing compiler technology.

S12データ項目グルーピングでは、データ項目グルーピング部102が動作開始時引数、CALL文で引数として指定されたデータ項目を起点とし、データ項目の参照と更新の関係からグループ化を実施する。図4は、S12の詳細フローチャートの例である。S121では、動作開始時引数名称を起点とし、それを参照しているデータ項目を追跡することでグループ化を行い、動作開始時引数別グルーピング結果114に結果を格納する。図5を例として説明する。図5は行番号00201で動作開始時引数Arg1を参照してA1の値を更新し、行番号00202でA1を参照してA2の値を更新しているプログラムPGM001である。また、行番号00301で動作開始時引数Arg1を参照してA3の値を更新している。データ項目グルーピング部102は、データ項目情報を検索し、動作開始時引数であるArg1を参照して値を更新するデータ項目であるA1、A3を抽出する。次に抽出したデータ項目A1もしくはA3を参照して値を更新するデータ項目A2を抽出する。この作業を繰り返し、抽出するデータ項目が無くなった場合、抽出したデータ項目をまとめてひとつのグループとする。本例では、Arg1,A1,A2,A3がひとつのグループとなる。データ項目グルーピング部102は動作開始時引数別グルーピング結果114に結果を格納する。図6は動作開始時引数別グルーピング結果114の例である。プログラム名1141にPGM001、動作開始時引数1142にArg1、引数別データ項目グループ1143にArg1,A1,A2,A3、引数別グループIDに各レコードが一意になる識別子番号GH001を格納する。   In S12 data item grouping, the data item grouping unit 102 performs grouping based on the relationship between the reference and update of the data item, starting from the data item specified as the argument at the start of operation and the argument in the CALL statement. FIG. 4 is an example of a detailed flowchart of S12. In S121, the argument name at the start of the operation is used as a starting point, grouping is performed by tracking the data item referring to it, and the result is stored in the grouping result 114 by argument at the start of operation. FIG. 5 will be described as an example. FIG. 5 shows a program PGM001 that updates the value of A1 with reference to the operation start argument Arg1 at line number 00201 and updates the value of A2 with reference to A1 at line number 00202. In addition, the value of A3 is updated with reference to the operation start argument Arg1 at line number 00301. The data item grouping unit 102 searches the data item information and extracts A1 and A3 which are data items whose values are updated with reference to Arg1 which is an argument at the start of operation. Next, the data item A2 whose value is updated is extracted with reference to the extracted data item A1 or A3. When this operation is repeated and there are no more data items to be extracted, the extracted data items are combined into one group. In this example, Arg1, A1, A2, and A3 form one group. The data item grouping unit 102 stores the result in the argument grouping result 114 at the start of operation. FIG. 6 shows an example of the argument grouping result 114 at the start of operation. The program name 1141 stores PGM001, the operation start argument 1142 stores Arg1, the argument-specific data item group 1143 stores Arg1, A1, A2, A3, and the argument-specific group ID stores an identifier number GH001 that makes each record unique.

S122では、CALL文の引数をキーとし、それを更新しているデータ項目を追跡し、グループ化を行い、CALL文引数別グルーピング結果115に結果を格納する。図7を例として説明する。図7は行番号00401で動作開始時引数ARG2を参照してB1の値を更新し、行番号00402でデータ項目B1を参照してB2の値を更新し、行番号00403でPGM003というプログラムをB2を引数として呼び出しているプログラムPGM002である。データ項目グルーピング部102は、データ項目情報を検索し、プログラム呼び出しの引数としているデータ項目B2の値を更新する時に参照しているデータ項目であるB1を抽出する。次に抽出したデータ項目B1の値を更新する際に参照しているデータ項目Arg2を抽出する。この作業を繰り返し、抽出するデータ項目が無くなった場合、抽出したデータ項目をまとめてひとつのグループとする。本例では、B2、B1、Arg2がひとつのグループとなる。データ項目グルーピング部102はCALL文引数別グルーピング結果115に結果を格納する。図8は、CALL文引数別グルーピング結果115の例である。呼出元プログラム名1151にPGM002、CALL文行番号1152に00403、呼出先プログラム名1153にPGM003、CALL文引数1154にB2、CALL別データ項目グループ1155にB2、B1、Arg2、CALL別グループIDに各レコードを識別する識別子番号を格納する。   In S122, the CALL statement argument is used as a key, the data item being updated is tracked, grouped, and the result is stored in the CALL statement argument grouping result 115. FIG. 7 will be described as an example. 7 updates the value of B1 by referring to the operation start argument ARG2 at the line number 00401, updates the value of B2 by referring to the data item B1 at the line number 00402, and updates the program PGM003 at the line number 00403 to B2. Is a program PGM002 that is called as an argument. The data item grouping unit 102 searches the data item information, and extracts B1, which is a data item referred to when updating the value of the data item B2 as an argument of the program call. Next, the data item Arg2 referred to when the value of the extracted data item B1 is updated is extracted. When this operation is repeated and there are no more data items to be extracted, the extracted data items are combined into one group. In this example, B2, B1, and Arg2 form one group. The data item grouping unit 102 stores the result in the CALL sentence argument grouping result 115. FIG. 8 is an example of the CALL sentence argument grouping result 115. PGM002 for the call source program name 1151, 00403 for the CALL statement line number 1152, PGM003 for the call destination program name 1153, B2 for the CALL statement argument 1154, B2, B1, Arg2 for the CALL data item group 1155, and the group ID for each CALL Stores the identifier number that identifies the record.

なお、S121とS122の例では、各プログラムにひとつしかグループが存在しないように記述しているが、実際は、ひとつのプログラム内に複数のグループが存在する。   In the examples of S121 and S122, it is described that there is only one group in each program, but actually there are a plurality of groups in one program.

S123では、データ項目グルーピング部102がプログラム呼出情報に格納しているCALL文使用箇所に基づき、CALL文引数名称と呼び出すプログラムの動作時引数の対応付けを行い、その結果をプログラム間引数対応一覧116に格納する。図9にプログラム間引数対応一覧116の例を示す。図7において、PGM003の動作開始時引数がC1の場合、プログラム間引数対応一覧116の呼出元プログラム名1161にPGM002、CALL文行番号1162に00403、CALL文引数1163にB2、呼出先プログラム名1164にPGM003、動作開始時引数1165にC1が格納される。   In S123, the CALL statement argument name is associated with the operation time argument of the program to be called based on the CALL statement use location stored in the program call information by the data item grouping unit 102, and the result is displayed as an inter-program argument correspondence list 116. To store. FIG. 9 shows an example of the inter-program argument correspondence list 116. In FIG. 7, when the operation start argument of PGM003 is C1, PGM002 is the call source program name 1161 of the inter-program argument correspondence list 116, 00403 is the CALL statement line number 1162, B2 is the call statement argument 1163, and the call destination program name 1164 PGM003, and C1 is stored in the operation start argument 1165.

S13業務データ項目関連プログラム抽出では、業務データ項目関連プログラム抽出部103が業務データ項目と同じグループに属するデータ項目を抽出することで、関連するプログラムを抽出する。図10は、S13の詳細フローチャートの例である。S131では、業務データ項目一覧112を参照して各業務と関連する業務データ項目の名称を取得し、取得した各業務データ項目がどのグループに属しているかを抽出し、その結果を業務データ項目・プログラム関連117に格納する。図11に業務データ項目一覧112の例を示す。業務の名称を業務名1121、業務と関連するデータ項目を業務データ項目1122に格納している。図12に業務データ項目・プログラム関連117の例を示す。業務データ項目名1171、業務データ項目名と関連するプログラムである関連プログラム1172、関連データ項目の属しているグループのIDであるグループID1173で構成される。   In S13 business data item related program extraction, the business data item related program extraction unit 103 extracts a data item belonging to the same group as the business data item, thereby extracting a related program. FIG. 10 is an example of a detailed flowchart of S13. In S131, the name of the business data item related to each business is acquired by referring to the business data item list 112, the group to which each acquired business data item belongs is extracted, and the result is stored in the business data item / Stored in the program relation 117. FIG. 11 shows an example of the business data item list 112. The business name is stored in the business name 1121, and the data item related to the business is stored in the business data item 1122. FIG. 12 shows an example of the business data item / program relation 117. A business data item name 1171, a related program 1172 that is a program related to the business data item name, and a group ID 1173 that is an ID of a group to which the related data item belongs.

また、抽出手法の例として、プログラム構文解析結果113に格納したデータ項目情報の文字列検索などが挙げられる。
S132では、S131で抽出したプログラムを呼び出しているプログラムが業務データ項目の観点で関連しているかを判定する。図13は、S132の詳細フローチャートの例である。
Further, as an example of the extraction method, there is a character string search of data item information stored in the program syntax analysis result 113.
In S132, it is determined whether the program calling the program extracted in S131 is related in terms of business data items. FIG. 13 is an example of a detailed flowchart of S132.

S1321では、動作開始時引数別グルーピング結果114を検索し、S131で抽出したプログラムの中で、業務データ項目を含むグループを抽出する。S1322では、抽出したグループに動作開始時引数が存在するかを確認する。存在すればS1323に進む。S1323では、プログラム間引数対応一覧116をS1322で抽出した動作開始時引数で検索し、呼出元プログラムとCALL文引数を取得する。S1324では、呼出元プログラムとCALL文引数の属しているグループ名を業務データ項目・プログラム関連117に登録する。S1325では、登録したグループに動作開始時引数が存在するかを確認する。存在すればS1323に戻る。S1326では、未調査のグループがあれば、S1322に戻り、未調査のグループに同様の処理を行う。   In S1321, the grouping result 114 by argument at the start of operation is searched, and the group including the business data item is extracted from the program extracted in S131. In S1322, it is confirmed whether or not there is an operation start argument in the extracted group. If it exists, the process proceeds to S1323. In S1323, the inter-program argument correspondence list 116 is searched with the operation start argument extracted in S1322, and the calling source program and the CALL statement argument are acquired. In S1324, the caller program and the group name to which the CALL statement argument belongs are registered in the business data item / program relation 117. In step S1325, it is confirmed whether or not an operation start argument exists in the registered group. If it exists, the process returns to S1323. In S1326, if there is an uninvestigated group, the process returns to S1322, and the same processing is performed for the uninvestigated group.

S133では、S131で抽出したプログラムから呼び出されているプログラムが業務データ項目の観点で関連しているかを判定する。図14は、S133の詳細フローチャートの例である。S1331では、CALL別グルーピング結果115を検索し、S131で抽出したプログラムの中で、業務データ項目を含むグループを抽出する。S1332では、抽出したグループにCALL文引数が存在するかを確認する。存在すればS1333に進む。S1333では、プログラム間引数対応一覧116をS1332で抽出したCALL文引数で検索し、呼出先プログラムと動作開始時引数を取得する。S1334では、呼出先プログラムと動作開始時引数の属しているグループ名を業務データ項目・プログラム関連117に登録する。S1335では、登録したグループにCALL文引数が存在するかを確認する。存在すればS1333に戻る。S1336では、未調査のグループがあれば、S1332に戻り、未調査のグループに同様の処理を行う。   In S133, it is determined whether the program called from the program extracted in S131 is related in terms of business data items. FIG. 14 is an example of a detailed flowchart of S133. In S1331, the CALL grouping result 115 is searched, and the group including the business data item is extracted from the program extracted in S131. In S1332, it is confirmed whether the CALL sentence argument exists in the extracted group. If it exists, the process proceeds to S1333. In S1333, the inter-program argument correspondence list 116 is searched with the CALL statement argument extracted in S1332, and the call destination program and the operation start argument are acquired. In S 1334, the call destination program and the group name to which the operation start argument belongs are registered in the business data item / program relation 117. In S1335, it is confirmed whether the CALL statement argument exists in the registered group. If it exists, the process returns to S1333. In S1336, if there is an uninvestigated group, the process returns to S1332, and the same processing is performed for the uninvestigated group.

S14プログラム分類では、プログラム分類部104が、プログラムと業務の関連に基づき、業務特有の処理、複数業務利用の処理、エラー処理などの業務以外の処理に分類する。プログラム分類部104は、業務データ項目・プログラム関連117を検索し、各プログラムと関連する業務データ項目を抽出する。次に、業務データ項目一覧112に基づき、プログラムを業務観点で分類し、分類結果をプログラム分類結果118に格納する。図15にプログラム分類結果118の例を示す。プログラム名1181、関連する業務名1182、分類パターン1183を格納している。分類パターン1183の例として、抽出した業務データ項目が全て同じ業務に属していた場合、そのプログラムは業務個別の処理とみなし、分類パターンを業務個別とする。また、複数の業務に属していた場合、複数共通の処理とみなし、分類パターンを業務共通とする。また、関連する業務データ項目が無い場合、業務以外の処理とみなし、分類パターンを業務以外とする。   In S14 program classification, the program classification unit 104 classifies the processing into processing other than business such as business-specific processing, multi-business usage processing, and error processing based on the relationship between the program and the business. The program classification unit 104 searches the business data item / program relation 117 and extracts business data items related to each program. Next, based on the business data item list 112, the program is classified from the business viewpoint, and the classification result is stored in the program classification result 118. FIG. 15 shows an example of the program classification result 118. A program name 1181, a related business name 1182 and a classification pattern 1183 are stored. As an example of the classification pattern 1183, when all the extracted business data items belong to the same business, the program is regarded as business-specific processing, and the classification pattern is business-specific. Further, when belonging to a plurality of tasks, it is regarded as a process common to a plurality of tasks, and the classification pattern is made common to the tasks. If there is no related business data item, it is regarded as processing other than business, and the classification pattern is set to other than business.

S15プログラム関連表示部では、プログラム分類結果118に基づき、プログラムを業務個別、業務共通、業務以外に分類し、プログラム関連図を表示する。図16と図17は表示の例である。図16はユーザが業務名を指定し、その業務と関連するプログラムだけを強調表示している例であり、業務と関連しているプログラムであるPGM001、002、003、011、012を表示し、それ以外のプログラムは非表示としている。図17は業務共通で利用しているプログラムと業務個別で利用しているプログラムを強調表示している例である。   In S15, the program related display unit classifies the program into individual business, common business, and non-business based on the program classification result 118, and displays a program related diagram. 16 and 17 are display examples. FIG. 16 shows an example in which a user designates a business name and only a program related to the business is highlighted. PGM001, 002, 003, 011 and 012 which are programs related to the business are displayed. Other programs are hidden. FIG. 17 shows an example in which programs commonly used for business and programs used for individual business are highlighted.

101 プログラム構造解析部
102 データ項目グルーピング部
103 業務データ項目関連プログラム抽出部
104 プログラム分類部
105 プログラム関連表示部
111 プログラムファイル
112 業務データ項目一覧
113 プログラム構文解析結果
114 動作開始時引数別グルーピング結果
115 CALL引数別グルーピング結果
116 プログラム間引数対応一覧
117 業務データ項目・プログラム関連
118 プログラム分類結果
101 program structure analysis unit 102 data item grouping unit 103 business data item related program extraction unit 104 program classification unit 105 program related display unit 111 program file 112 business data item list 113 program syntax analysis result 114 grouping result by argument at start of operation CALL Argument grouping result 116 Inter-program argument correspondence list 117 Business data item / program related 118 Program classification result

Claims (5)

プログラムファイルを分析し、プログラムの関連性を作成し表示するプログラム関連分析装置であって、
前記プログラムファイルを受付る手段と、
受付けられた前記プログラムファイルの構文を解析しプログラム間の呼出情報とデータ項目の情報を入手し、プログラム関連図を作成する手段と、
前記データ項目の参照と更新の関係から、当該データ項目を業務毎の業務データ項目にグループ化を実施する手段と、
前記業務データ項目と当該業務データ項目に関連するプログラムを抽出する手段と、
前記業務データ項目との関連性に基づき、前記プログラムファイルに含まれるプログラムを分類する手段と、
前記プログラムの分類結果に基づきプログラム関連図を作成し表示する手段とを有することを特徴とするプログラム関連分析装置。
A program-related analysis device that analyzes a program file and creates and displays program relevance,
Means for receiving the program file;
Means for analyzing the syntax of the received program file, obtaining call information between programs and data item information, and creating a program related diagram;
Means for grouping the data items into business data items for each business from the relationship between reference and update of the data items;
Means for extracting the business data item and a program related to the business data item;
Means for classifying the programs included in the program file based on the relationship with the business data item;
And a means for creating and displaying a program relation diagram based on the classification result of the program.
請求項1に記載のプログラム関連分析装置であって、
前記グループ化を実現する手段は、プログラム動作の際に引数として取得するデータ項目を起点として、前記データ項目のグループ化を実施することを特徴とするプログラム関連分析装置。
The program-related analysis device according to claim 1,
The means for realizing the grouping performs grouping of the data items starting from a data item acquired as an argument during a program operation.
請求項1に記載のプログラム関連分析装置であって、
前記グループ化を実現する手段は、プログラム呼び出しの際に引数として利用するデータ項目を起点として、前記データ項目のグループ化を実施する手段を有することを特徴とするプログラム関連分析装置。
The program-related analysis device according to claim 1,
The means for realizing the grouping includes means for grouping the data items starting from a data item used as an argument when calling the program.
請求項1に記載のプログラム関連分析装置であって、
前記プログラムを抽出する手段は、前記業務データ項目の属しているグループと関連する他グループを抽出することで関連するプログラムを抽出することを特徴とするプログラム関連分析装置。
The program-related analysis device according to claim 1,
The program-related analysis device is characterized in that the means for extracting the program extracts a related program by extracting another group related to the group to which the business data item belongs.
請求項1に記載のプログラム関連分析装置であって、
前記表示する手段は、プログラムと業務の関連に基づきプログラムを分類し、プログラム関連図を作成し表示することを特徴とするプログラム関連分析装置。
The program-related analysis device according to claim 1,
The program-related analysis apparatus characterized in that the display means classifies the program based on the relationship between the program and the business, and creates and displays a program-related diagram.
JP2013240520A 2013-11-21 2013-11-21 Program relation analysis method Pending JP2015102878A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013240520A JP2015102878A (en) 2013-11-21 2013-11-21 Program relation analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013240520A JP2015102878A (en) 2013-11-21 2013-11-21 Program relation analysis method

Publications (1)

Publication Number Publication Date
JP2015102878A true JP2015102878A (en) 2015-06-04

Family

ID=53378560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013240520A Pending JP2015102878A (en) 2013-11-21 2013-11-21 Program relation analysis method

Country Status (1)

Country Link
JP (1) JP2015102878A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018158893A1 (en) * 2017-03-01 2018-09-07 三菱電機株式会社 Source code analysis device, source code analysis method, and source code analysis program
KR20190039758A (en) * 2016-10-25 2019-04-15 가부시끼가이샤 히다치 세이사꾸쇼 Data analysis support device and data analysis support system
JP2020187390A (en) * 2019-05-09 2020-11-19 富士通株式会社 Analysis support program, analysis support method, analysis support apparatus and analysis support system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285707A (en) * 2005-04-01 2006-10-19 Hitachi Ltd Business specification creation support system and method
JP2008052312A (en) * 2006-08-22 2008-03-06 Hitachi Ltd Operation specification extraction support system
JP2009116638A (en) * 2007-11-07 2009-05-28 Hitachi Consulting Co Ltd System and method for supporting understanding of business specification
JP2012164148A (en) * 2011-02-07 2012-08-30 Ntt Data Corp Reverse engineering support device, reverse engineering support method and program thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285707A (en) * 2005-04-01 2006-10-19 Hitachi Ltd Business specification creation support system and method
JP2008052312A (en) * 2006-08-22 2008-03-06 Hitachi Ltd Operation specification extraction support system
JP2009116638A (en) * 2007-11-07 2009-05-28 Hitachi Consulting Co Ltd System and method for supporting understanding of business specification
JP2012164148A (en) * 2011-02-07 2012-08-30 Ntt Data Corp Reverse engineering support device, reverse engineering support method and program thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190039758A (en) * 2016-10-25 2019-04-15 가부시끼가이샤 히다치 세이사꾸쇼 Data analysis support device and data analysis support system
KR102172029B1 (en) 2016-10-25 2020-10-30 가부시끼가이샤 히다치 세이사꾸쇼 Data analysis support device and data analysis support system
WO2018158893A1 (en) * 2017-03-01 2018-09-07 三菱電機株式会社 Source code analysis device, source code analysis method, and source code analysis program
JP2020187390A (en) * 2019-05-09 2020-11-19 富士通株式会社 Analysis support program, analysis support method, analysis support apparatus and analysis support system
JP7196757B2 (en) 2019-05-09 2022-12-27 富士通株式会社 Analysis support program, analysis support method, analysis support device, and analysis support system

Similar Documents

Publication Publication Date Title
US20210342369A1 (en) Method and system for implementing efficient classification and exploration of data
CN111459799B (en) Software defect detection model establishing and detecting method and system based on Github
Abgaz et al. Decomposition of monolith applications into microservices architectures: A systematic review
Asadi et al. A heuristic-based approach to identify concepts in execution traces
EP3198478A1 (en) Method and system for implementing efficient classification and exploration of data
Ali et al. Trust-based requirements traceability
US9389852B2 (en) Technique for plagiarism detection in program source code files based on design pattern
CN110959153B (en) Application analysis using flexible post-processing
EP4030300B1 (en) Test cycle optimization using contextual association mapping
US9965252B2 (en) Method and system for generating stateflow models from software requirements
CN110750297A (en) Python code reference information generation method based on program analysis and text analysis
CN113268500A (en) Service processing method and device and electronic equipment
JP2015102878A (en) Program relation analysis method
US9507592B2 (en) Analysis of data integration job
Chiticariu et al. The systemt ide: an integrated development environment for information extraction rules
US8892951B2 (en) Fault localization for data-centric programs
Eken et al. Predicting defects with latent and semantic features from commit logs in an industrial setting
Kazato et al. Incremental feature location and identification in source code
JP4948126B2 (en) Program for analyzing large-scale business system using Java (registered trademark) language program and processing method thereof
US9286349B2 (en) Dynamic search system
CN113419964B (en) Test case generation method and device, computer equipment and storage medium
CN113900956A (en) Test case generation method and device, computer equipment and storage medium
Farah et al. Analysis of intercrossed open-source software repositories data in GitHub
Almasaud et al. Mining Data Wrangling Workflows for Patterns, Reuse and Optimisation Opportunities.
Huang et al. Domain analysis for mining software repositories: Towards feature-based DSL construction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160824

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180123