JP2019144885A - Relevance determination program, relevance determination device, and relevance determination method - Google Patents

Relevance determination program, relevance determination device, and relevance determination method Download PDF

Info

Publication number
JP2019144885A
JP2019144885A JP2018028923A JP2018028923A JP2019144885A JP 2019144885 A JP2019144885 A JP 2019144885A JP 2018028923 A JP2018028923 A JP 2018028923A JP 2018028923 A JP2018028923 A JP 2018028923A JP 2019144885 A JP2019144885 A JP 2019144885A
Authority
JP
Japan
Prior art keywords
program
main program
information
subprogram
source code
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.)
Granted
Application number
JP2018028923A
Other languages
Japanese (ja)
Other versions
JP6993574B2 (en
Inventor
剛 小出
Takeshi Koide
剛 小出
裕介 浜根
Yusuke Hamane
裕介 浜根
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.)
Fujitsu Advanced Engineering Ltd
Original Assignee
Fujitsu Advanced Engineering 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 Fujitsu Advanced Engineering Ltd filed Critical Fujitsu Advanced Engineering Ltd
Priority to JP2018028923A priority Critical patent/JP6993574B2/en
Publication of JP2019144885A publication Critical patent/JP2019144885A/en
Application granted granted Critical
Publication of JP6993574B2 publication Critical patent/JP6993574B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a relevance determination program, a relevance determination device, and a relevance determination method capable of specifying a main program that calls a subprogram.SOLUTION: It includes deleting a declaration statement for any one of the one or more sub-programs called by a main program from a source code of the main program, compiling the source code of the main program after the declaration statement is deleted, and if the execution of compilation is completed normally, outputting information indicating that any subprogram is a subprogram that is not called by the main program.SELECTED DRAWING: Figure 6

Description

本発明は、関連判定プログラム、関連判定装置及び関連判定方法に関する。   The present invention relates to a related determination program, a related determination device, and a related determination method.

例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うための業務システム(以下、情報処理システムとも呼ぶ)を構築して稼働させる。そして、事業者は、業務システムを構成するプログラムの修正を行った場合、修正を行ったプログラムの動作についての各種テストを行う。   For example, a business provider (hereinafter simply referred to as a business operator) that provides a service to a user constructs and operates a business system (hereinafter also referred to as an information processing system) for providing the service. Then, when the company modifies the program constituting the business system, the company performs various tests on the operation of the modified program.

具体的に、上記のように修正が行われるプログラムには、例えば、実行中において他のプログラムを呼び出すプログラム(以下、メインプログラム)と、実行中の他のプログラムによって呼び出されるプログラム(以下、サブプログラムとも呼ぶ)とが含まれる。そのため、事業者は、例えば、サブプログラムの修正を行った場合、修正を行ったサブプログラムを呼び出すメインプログラムについても併せてテストを行う(例えば、特許文献1及び2参照)。   Specifically, the program that is modified as described above includes, for example, a program that calls another program during execution (hereinafter referred to as a main program) and a program that is called by another program being executed (hereinafter referred to as subprogram). Also called). Therefore, for example, when the subprogram is corrected, the business operator also performs a test on the main program that calls the corrected subprogram (see, for example, Patent Documents 1 and 2).

特開平4−250530JP-A-4-250530 特開2012−089055JP2012-089055

ここで、上記のようにサブプログラムの修正を行った場合、事業者は、例えば、各メインプログラムのソースコードを参照し、各メインプログラムが呼び出しを行うサブプログラムに関する宣言文を特定する。そして、事業者は、修正を行ったサブプログラムに関する宣言文がソースコードに記述されているメインプログラムを、修正を行ったサブプログラムを呼び出すメインプログラムとして特定する。   Here, when the subprogram is corrected as described above, for example, the business entity refers to the source code of each main program, and specifies a declaration statement related to the subprogram that each main program calls. Then, the business entity specifies the main program in which the declaration statement regarding the modified subprogram is described in the source code as the main program that calls the modified subprogram.

しかしながら、上記のようなメインプログラムには、呼び出しを行うサブプログラムの追加や削除を伴う修正が繰り返し行われているものが含まれている。そのため、メインプログラムのソースコードに含まれる宣言文には、現在では呼び出しが行われていないサブプログラムに関する宣言文が含まれている可能性がある。したがって、事業者は、修正を行ったサブプログラムを呼び出すメインプログラムを正確に特定することができない場合がある。   However, the main program as described above includes a program that is repeatedly modified with addition or deletion of a subprogram to be called. Therefore, the declaration statement included in the source code of the main program may include a declaration statement related to a subprogram that is not currently called. Therefore, the operator may not be able to accurately specify the main program that calls the corrected subprogram.

そこで、一つの側面では、本発明は、サブプログラムの呼び出しを行うメインプログラムを特定することを可能とする関連判定プログラム、関連判定装置及び関連判定方法を提供することを目的とする。   Therefore, in one aspect, an object of the present invention is to provide a related determination program, a related determination device, and a related determination method that can specify a main program that calls a subprogram.

実施の形態の一態様では、メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除し、前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行し、前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する、処理をコンピュータに実行させる。   In one aspect of the embodiment, a declaration statement related to any one of one or more subprograms called by the main program is deleted from the source code of the main program, and the declaration statement is deleted. Processing for executing compilation of the source code of the main program, and outputting information indicating that any of the subprograms is a subprogram that is not called by the main program when the execution of the compilation is completed normally Is executed on the computer.

一つの側面によれば、サブプログラムの呼び出しを行うメインプログラムを特定することを可能とする。   According to one aspect, it is possible to specify a main program that calls a subprogram.

図1は、情報処理システム10の全体構成を示す図である。FIG. 1 is a diagram illustrating an overall configuration of the information processing system 10. 図2は、ソースコード131の概略の具体例を説明する図である。FIG. 2 is a diagram for explaining a specific example of the outline of the source code 131. 図3は、関連情報132の内容を出力した場合の具体例を説明する図である。FIG. 3 is a diagram for explaining a specific example when the contents of the related information 132 are output. 図4は、情報処理装置1のハードウエア構成を示す図である。FIG. 4 is a diagram illustrating a hardware configuration of the information processing apparatus 1. 図5は、情報処理装置1の機能のブロック図である。FIG. 5 is a block diagram of functions of the information processing apparatus 1. 図6は、第1の実施の形態における関連判定処理の概略を説明するフローチャート図である。FIG. 6 is a flowchart for explaining the outline of the association determination process in the first embodiment. 図7は、第1の実施の形態における関連判定処理の概略を説明する図である。FIG. 7 is a diagram for explaining the outline of the association determination process in the first embodiment. 図8は、第1の実施の形態における関連判定処理の概略を説明する図である。FIG. 8 is a diagram for explaining the outline of the association determination process in the first embodiment. 図9は、第1の実施の形態における関連判定処理の詳細を説明するフローチャート図である。FIG. 9 is a flowchart for explaining the details of the association determination process in the first embodiment. 図10は、第1の実施の形態における関連判定処理の詳細を説明するフローチャート図である。FIG. 10 is a flowchart for explaining the details of the association determination process in the first embodiment. 図11は、第1の実施の形態における関連判定処理の詳細を説明するフローチャート図である。FIG. 11 is a flowchart for explaining the details of the association determination processing in the first embodiment. 図12は、第1の実施の形態における関連判定処理の詳細を説明するフローチャート図である。FIG. 12 is a flowchart for explaining the details of the association determination process in the first embodiment. 図13は、第1の実施の形態における関連判定処理の詳細を説明する図である。FIG. 13 is a diagram for explaining the details of the association determination processing in the first embodiment. 図14は、第1の実施の形態における関連判定処理の詳細を説明する図である。FIG. 14 is a diagram for explaining the details of the association determination processing in the first embodiment. 図15は、第1の実施の形態における関連判定処理の詳細を説明する図である。FIG. 15 is a diagram for explaining the details of the association determination processing in the first embodiment. 図16は、第1の実施の形態における関連判定処理の詳細を説明する図である。FIG. 16 is a diagram for explaining the details of the association determination processing in the first embodiment. 図17は、関連情報132の具体例について説明する図である。FIG. 17 is a diagram for describing a specific example of the related information 132. 図18は、関連情報132の具体例について説明する図である。FIG. 18 is a diagram for describing a specific example of the related information 132. 図19は、関連情報132の具体例について説明する図である。FIG. 19 is a diagram for describing a specific example of the related information 132. 図20は、関連情報132の具体例について説明する図である。FIG. 20 is a diagram for describing a specific example of the related information 132. 図21は、関連情報132の具体例について説明する図である。FIG. 21 is a diagram for describing a specific example of the related information 132. 図22は、第1の実施の形態における関連判定処理の詳細を説明する図である。FIG. 22 is a diagram for explaining the details of the association determination processing in the first embodiment. 図23は、第2の実施の形態における関連判定処理の詳細の一部を説明するフローチャート図である。FIG. 23 is a flowchart for explaining a part of the details of the association determination processing in the second embodiment. 図24は、第2の実施の形態における関連判定処理の詳細の一部を説明するフローチャート図である。FIG. 24 is a flowchart for explaining a part of the details of the association determination processing in the second embodiment. 図25は、第2の実施の形態における関連判定処理の詳細の一部を説明するフローチャート図である。FIG. 25 is a flowchart for explaining a part of the details of the association determination processing in the second embodiment. 図26は、修正情報133の具体例について説明する図である。FIG. 26 is a diagram for explaining a specific example of the correction information 133.

[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10には、情報処理装置1と、メインプログラムやサブプログラムのソースコード131を記憶する記憶装置1aと、関連情報132を記憶するデータベースを含む記憶装置1bと、操作端末3とが含まれている。関連情報132は、各メインプログラムが呼び出しを行うサブプログラムを示す情報である。なお、メインプログラムが呼び出しを行うサブプログラムは、例えば、DLL(Dynamic Link Library)であってよい。
[Configuration of information processing system]
FIG. 1 is a diagram illustrating an overall configuration of the information processing system 10. An information processing system 10 shown in FIG. 1 includes an information processing device 1, a storage device 1a that stores a source code 131 of a main program and a subprogram, a storage device 1b that includes a database that stores related information 132, and an operation terminal. 3 is included. The related information 132 is information indicating a subprogram that each main program calls. Note that the subprogram that the main program calls may be, for example, a DLL (Dynamic Link Library).

操作端末3は、例えば、事業者が情報処理装置1に対して情報の入力等を行うPC(Personal Computer)である。操作端末3は、例えば、ネットワーク(図示しない)を介して情報処理装置1と接続する。   The operation terminal 3 is, for example, a PC (Personal Computer) on which an operator inputs information to the information processing apparatus 1. The operation terminal 3 is connected to the information processing apparatus 1 via a network (not shown), for example.

情報処理装置1は、記憶装置1aに記憶されたソースコード131を取得する。そして、情報処理装置1は、記憶装置1aから取得したソースコード131を参照し、関連情報132を生成する。その後、情報処理装置1は、生成した関連情報132を情報格納領域130に記憶する。以下、ソースコード131の概略の具体例について説明する。   The information processing apparatus 1 acquires the source code 131 stored in the storage device 1a. Then, the information processing apparatus 1 refers to the source code 131 acquired from the storage device 1a and generates related information 132. Thereafter, the information processing apparatus 1 stores the generated related information 132 in the information storage area 130. Hereinafter, an outline specific example of the source code 131 will be described.

[ソースコードの概略の具体例]
図2は、ソースコード131の概略の具体例を説明する図である。
[Specific examples of outline of source code]
FIG. 2 is a diagram for explaining a specific example of the outline of the source code 131.

図2に示す例は、プログラムIDが「MainProC001」であるメインプログラムのソースコード131に、呼び出しが行われるサブプログラムのプログラムIDである「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」の宣言文がそれぞれ記述されていることを示している。   In the example shown in FIG. 2, the main program source code 131 whose program ID is “MainProC001” has the program IDs “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC005” of the subprogram to be called. Indicates that each declaration statement is described.

また、図2に示す例は、プログラムIDが「MainProC002」であるメインプログラムのソースコード131に、呼び出しが行われるサブプログラムのプログラムIDである「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC006」の宣言文がそれぞれ記述されていることを示している。   Further, in the example illustrated in FIG. 2, “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC006” are the program IDs of the subprograms to be called to the source code 131 of the main program whose program ID is “MainProC002”. "Indicates that each of the declaration statements is described.

[関連情報の内容を出力した場合の具体例(1)]
次に、関連情報132の内容を操作端末3の出力装置(図示しない)に出力した場合の具体例について説明を行う。図3は、関連情報132の内容を出力した場合の具体例を説明する図である。
[Specific example when related information is output (1)]
Next, a specific example when the content of the related information 132 is output to an output device (not shown) of the operation terminal 3 will be described. FIG. 3 is a diagram for explaining a specific example when the contents of the related information 132 are output.

図3に示す例において、例えば、「MainProC001」に対応する欄のうち、「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」に対応する欄には、それぞれ「〇」が設定されている。すなわち、図3に示す例は、プログラムIDが「MainProC001」であるメインプログラムが呼び出しを行うサブプログラムとして、プログラムIDが「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」であるサブプログラムがそれぞれ存在していることを示している。   In the example illustrated in FIG. 3, for example, among the columns corresponding to “MainProC001”, “◯” is set in the columns corresponding to “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC005”. . That is, in the example shown in FIG. 3, the subprograms whose program IDs are “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC005” are subprograms that the main program whose program ID is “MainProC001” calls. It shows that each exists.

また、図3に示す例において、例えば、「MainProC002」に対応する欄のうち、「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC006」に対応する欄には、それぞれ「〇」が設定されている。すなわち、図3に示す例は、プログラムIDが「MainProC002」であるメインプログラムが呼び出しを行うサブプログラムとして、プログラムIDが「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC006」であるサブプログラムがそれぞれ存在していることを示している。   In the example illustrated in FIG. 3, for example, among the columns corresponding to “MainProC002”, “◯” is set in the columns corresponding to “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC006”. ing. That is, in the example shown in FIG. 3, the subprograms whose program IDs are “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC006” are subprograms that the main program whose program ID is “MainProC002” calls. It shows that each exists.

上記のように、情報処理装置1は、例えば、情報格納領域130に記憶されているメインプログラムのソースコード131を参照し、宣言文が記述されているサブプログラムのプログラムIDをそれぞれ特定する。そして、情報処理装置1は、特定した情報に基づいて関連情報132を生成する。   As described above, for example, the information processing apparatus 1 refers to the source code 131 of the main program stored in the information storage area 130 and identifies the program ID of each subprogram in which the declaration statement is described. Then, the information processing apparatus 1 generates the related information 132 based on the specified information.

これにより、事業者は、例えば、サブプログラムの修正を行った場合に、関連情報132の内容が出力された出力装置を閲覧することで、修正を行ったサブプログラムの呼び出しを行うメインプログラムを特定することが可能になる。そのため、事業者は、例えば、サブプログラムの改修に伴ってテストを行う必要があるメインプログラムを特定することが可能になる。   As a result, for example, when the subprogram is corrected, the operator identifies the main program that calls the corrected subprogram by browsing the output device to which the content of the related information 132 is output. It becomes possible to do. Therefore, for example, the business operator can specify the main program that needs to be tested along with the modification of the subprogram.

しかしながら、上記のようなメインプログラムには、例えば、呼び出しを行うサブプログラムの追加や削除を伴う修正が繰り返し行われているものが含まれている。そのため、メインプログラムのソースコードに含まれる宣言文には、現在では呼び出しが行われていないサブプログラムに関する宣言文が含まれている可能性がある。したがって、情報処理装置1は、修正を行ったサブプログラムを呼び出すメインプログラムを正確に特定することができない場合がある。   However, the main program as described above includes, for example, a program in which correction accompanied by addition or deletion of a subprogram to be called is repeatedly performed. Therefore, the declaration statement included in the source code of the main program may include a declaration statement related to a subprogram that is not currently called. Therefore, the information processing apparatus 1 may not be able to accurately specify the main program that calls the corrected subprogram.

そこで、本実施の形態における情報処理装置1は、メインプログラムのソースコード131から、メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する。そして、情報処理装置1は、宣言文が削除された後のメインプログラムのコンパイルを実行する。   Therefore, the information processing apparatus 1 according to the present embodiment deletes a declaration statement related to any one of the one or more subprograms called by the main program from the source code 131 of the main program. Then, the information processing apparatus 1 compiles the main program after the declaration statement is deleted.

その結果、情報処理装置1は、コンパイルの実行が正常に完了した場合、宣言文を削除したサブプログラムがメインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する。   As a result, when the execution of compilation is completed normally, the information processing apparatus 1 outputs information indicating that the subprogram from which the declaration statement is deleted is a subprogram that is not called by the main program.

すなわち、メインプログラムが実際に呼び出しを行っているサブプログラムの宣言文の削除が行われた場合、メインプログラムのコンパイルは、呼び出しを行うサブプログラムの宣言文が存在しないために失敗する。そこで、情報処理装置1は、いずれかのサブプログラムに関する宣言文を削除したメインプログラムのソースコード131のコンパイルを実行し、そのコンパイルが正常に完了するか否かの判定を行う。そして、コンパイルが正常に完了した場合、情報処理装置1は、宣言文を削除したサブプログラムの呼び出しが行われていないものと判定する。   That is, when the declaration statement of the subprogram that the main program is actually calling is deleted, the compilation of the main program fails because there is no declaration statement of the subprogram that is calling. Therefore, the information processing apparatus 1 compiles the source code 131 of the main program from which the declaration statement regarding any of the subprograms is deleted, and determines whether or not the compile is normally completed. When the compilation is normally completed, the information processing apparatus 1 determines that the subprogram from which the declaration statement is deleted has not been called.

これにより、情報処理装置1は、修正を行ったサブプログラムを実際に呼び出しているメインプログラムを特定することが可能になる。そのため、情報処理装置1は、サブプログラムの修正が行われた場合に、テストを行う必要があるメインプログラムを正確に特定することが可能になる。したがって、情報処理装置1は、サブプログラムの修正に伴うメインプログラムのテストが必要以上に行われることを防止することが可能になる。   As a result, the information processing apparatus 1 can specify the main program that is actually calling the corrected subprogram. Therefore, the information processing apparatus 1 can accurately specify the main program that needs to be tested when the subprogram is corrected. Therefore, the information processing apparatus 1 can prevent the main program test accompanying the correction of the subprogram from being performed more than necessary.

[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図4は、情報処理装置1のハードウエア構成を示す図である。
[Hardware configuration of information processing system]
Next, the hardware configuration of the information processing system 10 will be described. FIG. 4 is a diagram illustrating a hardware configuration of the information processing apparatus 1.

情報処理装置1は、図4に示すように、プロセッサであるCPU101と、メモリ102と、入出力インターフェース103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。   As illustrated in FIG. 4, the information processing apparatus 1 includes a CPU 101 that is a processor, a memory 102, an input / output interface 103, and a storage medium 104. Each unit is connected to each other via a bus 105.

記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、メインプログラムが呼び出しを行うサブプログラムの判定を行う処理(以下、関連判定処理とも呼ぶ)を行うためのプログラム110を記憶する。記憶媒体104は、例えば、HDD(Hard Disk Drive)であってよい。   The storage medium 104 includes, for example, a program 110 for performing processing for determining a subprogram to be called by the main program (hereinafter also referred to as related determination processing) in a program storage area (not shown) in the storage medium 104. Remember. The storage medium 104 may be, for example, an HDD (Hard Disk Drive).

また、記憶媒体104は、例えば、関連判定処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。   In addition, the storage medium 104 includes, for example, a storage unit 130 (hereinafter also referred to as an information storage area 130) that stores information used when performing the association determination process.

なお、図1で説明した記憶装置1a及び記憶装置1bは、例えば、情報処理装置1の内部に位置する情報格納領域130に対応するものであってよい。以下、記憶装置1a及び記憶装置1bが情報格納領域130に対応するものとして説明を行う。   Note that the storage device 1a and the storage device 1b described in FIG. 1 may correspond to the information storage area 130 located inside the information processing device 1, for example. In the following description, it is assumed that the storage device 1a and the storage device 1b correspond to the information storage area 130.

CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して関連判定処理を行う。   The CPU 101 executes the program 110 loaded from the storage medium 104 to the memory 102 and performs the association determination process.

入出力インターフェース103は、例えば、ネットワーク(図示しない)を介して操作端末3と通信を行う。   The input / output interface 103 communicates with the operation terminal 3 via a network (not shown), for example.

[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図5は、情報処理装置1の機能のブロック図である。
[Functions of information processing device]
Next, functions of the information processing apparatus 1 will be described. FIG. 5 is a block diagram of functions of the information processing apparatus 1.

情報処理装置1は、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、図5に示すように、ソースコード取得部111と、宣言文削除部112と、コンパイル実行部113と、結果判定部114と、情報管理部115(以下、情報出力部115とも呼ぶ)とを含む各種機能を実現する。   As shown in FIG. 5, the information processing apparatus 1 compiles the source code acquisition unit 111, the declaration sentence deletion unit 112, and the compile by the organic cooperation between the hardware such as the CPU 101 and the memory 102 and the program 110. Various functions including an execution unit 113, a result determination unit 114, and an information management unit 115 (hereinafter also referred to as an information output unit 115) are realized.

また、情報処理装置1は、図5に示すように、ソースコード131と、関連情報132と、修正情報133とを情報格納領域130に記憶する。   Further, as illustrated in FIG. 5, the information processing apparatus 1 stores the source code 131, the related information 132, and the correction information 133 in the information storage area 130.

ソースコード取得部111は、情報格納領域130に記憶されたソースコード131を取得する。   The source code acquisition unit 111 acquires the source code 131 stored in the information storage area 130.

宣言文削除部112は、ソースコード取得部111が取得したメインプログラムのソースコード131から、メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する。   The declaration sentence deletion unit 112 deletes a declaration sentence related to one of the one or more subprograms called by the main program from the source code 131 of the main program acquired by the source code acquisition unit 111.

コンパイル実行部113は、宣言文削除部112が宣言文を削除した後のメインプログラムのソースコード131のコンパイルを実行する。   The compile execution unit 113 compiles the source code 131 of the main program after the declaration statement deletion unit 112 deletes the declaration statement.

結果判定部114は、コンパイル実行部113によって実行されたコンパイルが正常に完了したか否かを判定する。   The result determination unit 114 determines whether the compilation executed by the compilation execution unit 113 has been completed normally.

情報管理部115は、結果判定部114によってコンパイルの実行が正常に完了したと判定された場合、宣言文削除部112によって宣言文の削除が行われたサブプログラムが、メインプログラムによって呼び出されていないサブプログラムであることを示す情報を出力する。   When the result determination unit 114 determines that the execution of compilation has been completed normally, the information management unit 115 has not called the subprogram from which the declaration statement has been deleted by the declaration statement deletion unit 112. Outputs information indicating that it is a subprogram.

具体的に、情報管理部115は、例えば、宣言文の削除が行われたサブプログラムがメインプログラムによって呼び出されないサブプログラムであることを示す関連情報132を生成する。そして、情報管理部115は、例えば、生成した関連情報132の内容を出力装置に出力する。修正情報133についての説明は後述する。   Specifically, for example, the information management unit 115 generates the related information 132 indicating that the subprogram from which the declaration statement has been deleted is a subprogram that is not called by the main program. And the information management part 115 outputs the content of the produced | generated relevant information 132 to an output device, for example. The correction information 133 will be described later.

[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図6は、第1の実施の形態における関連判定処理の概略を説明するフローチャート図である。図7及び図8は、第1の実施の形態における関連判定処理の概略を説明する図である。以下、図7及び図8を参照しながら、図6に示す関連判定処理の概略について説明を行う。
[Outline of First Embodiment]
Next, an outline of the first embodiment will be described. FIG. 6 is a flowchart for explaining the outline of the association determination process in the first embodiment. 7 and 8 are diagrams for explaining the outline of the association determination process in the first embodiment. Hereinafter, the outline of the association determination process illustrated in FIG. 6 will be described with reference to FIGS. 7 and 8.

情報処理装置1は、図6に示すように、情報出力タイミングまで待機する(S1のNO)。情報出力タイミングは、例えば、事業者によって予め決められた定期的なタイミングであってよい。具体的に、情報出力タイミングは、例えば、毎朝午前5時等であってよい。   As shown in FIG. 6, the information processing apparatus 1 waits until the information output timing (NO in S1). The information output timing may be a regular timing determined in advance by a business operator, for example. Specifically, the information output timing may be, for example, 5 am every morning.

そして、情報出力タイミングになった場合(S1のYES)、情報処理装置1は、メインプログラムのソースコード131から、メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する(S2)。続いて、情報処理装置1は、S2の処理で宣言文が削除された後のメインプログラムのソースコード131のコンパイルを実行する(S3)。   When the information output timing is reached (YES in S1), the information processing apparatus 1 declares, from the source code 131 of the main program, a declaration statement related to one of the one or more subprograms called by the main program. Is deleted (S2). Subsequently, the information processing apparatus 1 compiles the source code 131 of the main program after the declaration statement is deleted in the process of S2 (S3).

具体的に、情報処理装置1は、図7に示すように、記憶装置1aから取得したメインプログラムのソースコード131のうちのいずれかから、そのメインプログラムによって呼び出されるいずれかのサブプログラムに関する宣言文を削除してコンパイルを実行する。   Specifically, as shown in FIG. 7, the information processing apparatus 1 declares a declaration statement related to any subprogram called by the main program from any one of the source codes 131 of the main program acquired from the storage device 1 a. Remove and run the compilation.

その後、情報処理装置1は、S3の処理においてコンパイルが正常に完了したか否かを判定する(S4)。   Thereafter, the information processing apparatus 1 determines whether the compilation is normally completed in the process of S3 (S4).

その結果、コンパイルが正常に完了したと判定した場合(S4のYES)、情報処理装置1は、S2の処理で宣言文を削除したサブプログラムがメインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する(S5)。   As a result, when it is determined that the compilation is completed normally (YES in S4), the information processing apparatus 1 indicates that the subprogram in which the declaration statement is deleted in the process of S2 is a subprogram that is not called by the main program. Information is output (S5).

具体的に、情報処理装置1は、この場合、図8に示すように、例えば、S2の処理で宣言文を削除したサブプログラムがメインプログラムによって呼び出されないサブプログラムであることを示す関連情報132を生成し、情報格納領域130に記憶する。   Specifically, in this case, as illustrated in FIG. 8, the information processing apparatus 1, for example, relates information 132 indicating that the subprogram from which the declaration statement is deleted in the process of S <b> 2 is a subprogram that is not called by the main program. Is generated and stored in the information storage area 130.

一方、コンパイルが正常に完了していないと判定した場合(S4のYES)、情報処理装置1は、S5の処理を行わない。   On the other hand, when it is determined that the compilation has not been completed normally (YES in S4), the information processing apparatus 1 does not perform the process in S5.

これにより、情報処理装置1は、修正を行ったサブプログラムを実際に呼び出しているメインプログラムを特定することが可能になる。そのため、情報処理装置1は、サブプログラムの修正が行われた場合に、テストを行う必要があるメインプログラムを正確に特定することが可能になる。したがって、情報処理装置1は、サブプログラムの修正に伴うメインプログラムのテストが必要以上に行われることを防止することが可能になる。   As a result, the information processing apparatus 1 can specify the main program that is actually calling the corrected subprogram. Therefore, the information processing apparatus 1 can accurately specify the main program that needs to be tested when the subprogram is corrected. Therefore, the information processing apparatus 1 can prevent the main program test accompanying the correction of the subprogram from being performed more than necessary.

[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図9から図12は、第1の実施の形態における関連判定処理の詳細を説明するフローチャート図である。また、図13から図22は、第1の実施の形態における関連判定処理の詳細を説明する図である。以下、図13から図22を参照しながら、図9から図12に示す関連判定処理の詳細について説明を行う。
[Details of First Embodiment]
Next, details of the first embodiment will be described. FIG. 9 to FIG. 12 are flowcharts for explaining the details of the association determination processing in the first embodiment. FIGS. 13 to 22 are diagrams for explaining the details of the association determination processing in the first embodiment. Hereinafter, the details of the association determination process illustrated in FIGS. 9 to 12 will be described with reference to FIGS. 13 to 22.

なお、以下、図3で説明したメインプログラムのうち、プログラムIDが「MainProC001」から「MainProC005」であるプログラムがC言語によって記述されたプログラムであり、プログラムIDが「MainProC006」から「MainProC010」であるプログラムがC♯によって記述されたプログラムであるものとして説明を行う。また、以下、図3で説明したサブプログラムのうち、プログラムIDが「SubProC001」から「SubProC006」であるプログラムがC言語によって記述されたプログラムであり、プログラムIDが「SubProC007」から「SubProC010」であるプログラムがC♯によって記述されたプログラムであるものとして説明を行う。   In the following, among the main programs described in FIG. 3, programs whose program IDs are “MainProC001” to “MainProC005” are programs written in C language, and program IDs are “MainProC006” to “MainProC010”. The description will be made assuming that the program is a program described by C #. In the following, among the subprograms described in FIG. 3, programs whose program IDs are “SubProC001” to “SubProC006” are programs written in C language, and program IDs are “SubProC007” to “SubProC010”. The description will be made assuming that the program is a program described by C #.

情報処理装置1のソースコード取得部111は、図9に示すように、情報出力タイミングまで待機する(S11のNO)。   As shown in FIG. 9, the source code acquisition unit 111 of the information processing apparatus 1 waits until the information output timing (NO in S11).

そして、情報出力タイミングになった場合(S11のYES)、ソースコード取得部111は、情報格納領域130に記憶されたソースコード131を取得する(S12)。   When it is time to output information (YES in S11), the source code acquisition unit 111 acquires the source code 131 stored in the information storage area 130 (S12).

続いて、情報処理装置1の情報管理部115は、S12の処理で取得したソースコード131から、メインプログラムのソースコード131を特定する(S13)。   Subsequently, the information management unit 115 of the information processing device 1 specifies the source code 131 of the main program from the source code 131 acquired in the process of S12 (S13).

この場合、情報管理部115は、例えば、S12の処理で取得したソースコード131のそれぞれに記述されたプログラムIDを特定し、特定したプログラムIDのそれぞれがメインプログラムのプログラムIDの決定ルールに従っているか否かを判定する。そして、情報管理部115は、例えば、決定ルールに従っていると判定したプログラムIDが記述されたソースコード131を、メインプログラムのソースコード131として特定する。   In this case, for example, the information management unit 115 specifies the program ID described in each of the source codes 131 acquired in the process of S12, and whether each of the specified program IDs conforms to the main program ID determination rule. Determine whether. Then, for example, the information management unit 115 identifies the source code 131 in which the program ID determined to be in accordance with the decision rule is described as the source code 131 of the main program.

また、情報管理部115は、例えば、S12の処理で取得したソースコード131のそれぞれに記述されたプログラムIDを特定し、特定したプログラムIDのうち、情報格納領域130に記憶された関連情報132においてメインプログラムのプログラムIDとして設定されているプログラムIDを特定する。そして、情報管理部115は、関連情報132においてメインプログラムのプログラムIDとして設定されているプログラムIDが記述されたソースコード131を、メインプログラムのソースコード131として特定する。関連情報132の具体例については後述する。   For example, the information management unit 115 identifies the program ID described in each of the source codes 131 acquired in the process of S12, and in the related information 132 stored in the information storage area 130 among the identified program IDs. The program ID set as the program ID of the main program is specified. Then, the information management unit 115 identifies the source code 131 in which the program ID set as the program ID of the main program in the related information 132 is described as the source code 131 of the main program. A specific example of the related information 132 will be described later.

その結果、メインプログラムのソースコード131が特定されなかった場合(S14のNO)、情報処理装置1は、関連判定処理を終了する。   As a result, when the source code 131 of the main program is not specified (NO in S14), the information processing apparatus 1 ends the association determination process.

一方、メインプログラムのソースコード131を特定した場合(S14のYES)、情報管理部115は、特定したソースコード131のうちの1つを特定する(S15)。   On the other hand, when the source code 131 of the main program is specified (YES in S14), the information management unit 115 specifies one of the specified source codes 131 (S15).

そして、情報管理部115は、情報格納領域130に記憶された関連情報132から、S15の処理でソースコード131を特定したメインプログラムに対応する情報を削除する(S16)。   And the information management part 115 deletes the information corresponding to the main program which specified the source code 131 by the process of S15 from the relevant information 132 memorize | stored in the information storage area 130 (S16).

その後、情報処理装置1の宣言文削除部112は、図10に示すように、S15の処理で特定したメインプログラムのソースコード131に宣言文が含まれるサブプログラムを特定する(S21)。以下、S21の処理の具体例について説明を行う。   Thereafter, as shown in FIG. 10, the declaration sentence deletion unit 112 of the information processing apparatus 1 identifies a subprogram in which the declaration sentence is included in the source code 131 of the main program identified in the process of S15 (S21). Hereinafter, a specific example of the process of S21 will be described.

[S21の処理の具体例]
図13及び図14は、S21の処理の具体例について説明する図である。
[Specific example of processing in S21]
13 and 14 are diagrams for explaining a specific example of the processing of S21.

初めに、S15の処理で特定したメインプログラムのソースコード131がC言語によって記述されたソースコード131(以下、ソースコード131aとも呼ぶ)であった場合におけるS21の処理について説明を行う。図13は、ソースコード131aの一部の具体例を説明する図である。   First, the processing of S21 when the source code 131 of the main program identified in the processing of S15 is the source code 131 described in C language (hereinafter also referred to as source code 131a) will be described. FIG. 13 is a diagram illustrating a specific example of part of the source code 131a.

この場合、宣言文削除部112は、図13に示すソースコード131aに含まれている記述から、「<AdditionalDependencies>」を含む文字列を検索する。具体的に、宣言文削除部112は、例えば、図13に示すように、「<AdditionalDependencies>」を含む文字列として、文字列CS01を特定する。   In this case, the declaration sentence deletion unit 112 searches for a character string including “<Additional Dependencies>” from the description included in the source code 131a illustrated in FIG. Specifically, for example, as illustrated in FIG. 13, the declarative sentence deletion unit 112 specifies the character string CS01 as a character string including “<Additional Dependencies>”.

続いて、宣言文削除部112は、文字列CS01のうち、「<AdditionalDependencies>」と「</AdditionalDependencies>」との間において「;」で区切られている文字列を、S15の処理で特定したメインプログラムが呼び出しを行うサブプログラムのプログラムIDとして特定する。   Subsequently, the declarative sentence deletion unit 112 identified the character string delimited by “;” between “<Additional Dependencies>” and “</ Additional Dependencies>” in the character string CS01 in the process of S15. It is specified as the program ID of the subprogram that the main program calls.

具体的に、宣言文削除部112は、図13に示す例において、例えば、プログラムIDとして「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」を特定する。すなわち、宣言文削除部112は、図13に示す例において、S15の処理で特定したメインプログラムのソースコード131に宣言文が含まれるサブプログラムとして、プログラムIDが「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」であるサブプログラムを特定する。   Specifically, in the example illustrated in FIG. 13, for example, the declaration deletion unit 112 identifies “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC005” as program IDs. That is, in the example illustrated in FIG. 13, the declaration sentence deletion unit 112 has program IDs “SubProC001”, “SubProC002”, “Subprogram” as subprograms in which the declaration sentence is included in the source code 131 of the main program identified in the process of S15. The subprograms “SubProC003” and “SubProC005” are specified.

次に、S15の処理で特定したメインプログラムのソースコード131がC#によって記述されたソースコード131(以下、ソースコード131bとも呼ぶ)であった場合におけるS21の処理について説明を行う。図14は、ソースコード131bの一部の具体例を説明する図である。   Next, the process of S21 when the source code 131 of the main program identified in the process of S15 is the source code 131 described in C # (hereinafter also referred to as source code 131b) will be described. FIG. 14 is a diagram illustrating a specific example of part of the source code 131b.

この場合、宣言文削除部112は、図14に示すソースコード131bに含まれている記述から、「<Reference Include>」を含む文字列を検索する。具体的に、宣言文削除部112は、例えば、図14に示すように、「<Reference Include>」を含む文字列として、文字列CS02a、文字列CS02b及び文字列CS02cをそれぞれ特定する。   In this case, the declaration sentence deletion unit 112 searches for a character string including “<Reference Include>” from the description included in the source code 131b illustrated in FIG. Specifically, for example, as illustrated in FIG. 14, the declaration sentence deletion unit 112 specifies a character string CS02a, a character string CS02b, and a character string CS02c as character strings including “<Reference Include>”.

続いて、宣言文削除部112は、例えば、文字列CS02aと文字列CS02aの直後に位置する「</Reference>」との間において、「<HintPath>」と「</HintPath>」とに囲まれる文字列CS02dに含まれるプログラムIDを、S15の処理で特定したメインプログラムが呼び出しを行うサブプログラムのプログラムIDとして特定する。また、宣言文削除部112は、例えば、文字列CS02bと文字列CS02bの直後に位置する「</Reference>」との間において、「<HintPath>」と「</HintPath>」とに囲まれる文字列CS02eに含まれるプログラムIDを、S15の処理で特定したメインプログラムが呼び出しを行うサブプログラムのプログラムIDとして特定する。さらに、宣言文削除部112は、例えば、文字列CS02cと文字列CS02cの直後に位置する「</Reference>」との間において、「<HintPath>」と「</HintPath>」とに囲まれる文字列CS02fに含まれるプログラムIDを、S15の処理で特定したメインプログラムが呼び出しを行うサブプログラムのプログラムIDとして特定する。   Subsequently, the declaration sentence deletion unit 112 is surrounded by “<HintPath>” and “</ HintPath>” between the character string CS02a and “</ Reference>” positioned immediately after the character string CS02a, for example. The program ID included in the character string CS02d to be specified is specified as the program ID of the subprogram to be called by the main program specified in the process of S15. In addition, the declaration sentence deletion unit 112 is surrounded by, for example, “<HintPath>” and “</ HintPath>” between the character string CS02b and “</ Reference>” located immediately after the character string CS02b. The program ID included in the character string CS02e is specified as the program ID of the subprogram to be called by the main program specified in the process of S15. Furthermore, the declaration sentence deletion unit 112 is surrounded by “</ HintPath>” and “</ HintPath>” between the character string CS02c and “</ Reference>” located immediately after the character string CS02c, for example. The program ID included in the character string CS02f is specified as the program ID of the subprogram that is called by the main program specified in the process of S15.

具体的に、宣言文削除部112は、図14に示す例において、例えば、プログラムIDとして「SubProC007」、「SubProC008」及び「SubProC009」を特定する。すなわち、宣言文削除部112は、図14に示す例において、S15の処理で特定したメインプログラムのソースコード131に宣言文が含まれるサブプログラムとして、プログラムIDが「SubProC007」、「SubProC008」及び「SubProC009」であるサブプログラムを特定する。   Specifically, in the example illustrated in FIG. 14, for example, the declaration deletion unit 112 identifies “SubProC007”, “SubProC008”, and “SubProC009” as program IDs. That is, in the example shown in FIG. 14, the declaration sentence deletion unit 112 has program IDs “SubProC007”, “SubProC008”, and “SubProC008” as subprograms including the declaration sentence in the source code 131 of the main program identified in the process of S15. The subprogram “SubProC009” is specified.

図10に戻り、S21の処理においてサブプログラムを特定した場合(S22のYES)、宣言文削除部112は、S21の処理で特定したサブプログラムのうちの1つを特定する(S23)。   Returning to FIG. 10, when the subprogram is specified in the process of S21 (YES in S22), the declaration sentence deletion unit 112 specifies one of the subprograms specified in the process of S21 (S23).

具体的に、S21の処理において、プログラムIDが「SubProC001」、「SubProC002」、「SubProC003」及び「SubProC005」であるサブプログラムが特定された場合、宣言文削除部112は、例えば、プログラムIDが「SubProC001」であるサブプログラムを特定する。   Specifically, when the subprograms whose program IDs are “SubProC001”, “SubProC002”, “SubProC003”, and “SubProC005” are specified in the processing of S21, the declaration sentence deletion unit 112, for example, has the program ID “ The subprogram “SubProC001” is specified.

そして、宣言文削除部112は、S15の処理で特定したソースコード131から、S23の処理で特定したサブプログラムの宣言文を削除する(S24)。   Then, the declaration statement deletion unit 112 deletes the declaration statement of the subprogram specified by the process of S23 from the source code 131 specified by the process of S15 (S24).

具体的に、例えば、S15の処理で特定したソースコード131が図13で説明したソースコード131aであった場合、宣言文削除部112は、例えば、図15に示すように、文字列CS01から「SubProC001.lib;」を削除する。   Specifically, for example, when the source code 131 specified in the processing of S15 is the source code 131a described with reference to FIG. 13, the declaration sentence deletion unit 112, for example, as shown in FIG. SubProC001.lib; "is deleted.

また、例えば、S15の処理で特定したソースコード131が図14で説明したソースコード131bであった場合、宣言文削除部112は、例えば、図16に示すように、文字列CS02aに含まれる「<Reference Include>」と文字列CS02dの直後に位置する「</Reference>」とに囲まれる文字列を削除する。   For example, when the source code 131 identified in the process of S15 is the source code 131b described with reference to FIG. 14, the declaration sentence deletion unit 112, for example, as illustrated in FIG. The character string surrounded by “<Reference Include>” and “</ Reference>” located immediately after the character string CS02d is deleted.

その後、情報処理装置1のコンパイル実行部113は、S24の処理で宣言文が削除されたソースコード131のコンパイルを実行する(S25)。   Thereafter, the compile execution unit 113 of the information processing apparatus 1 compiles the source code 131 from which the declaration statement is deleted in the process of S24 (S25).

具体的に、コンパイル実行部113は、図15で説明したソースコード131aや図16で説明したソースコード131bのコンパイルを実行する。   Specifically, the compile execution unit 113 compiles the source code 131a described in FIG. 15 and the source code 131b described in FIG.

そして、情報処理装置1の結果判定部114は、図11に示すように、S25の処理で実行したコンパイルの結果が正常であるか否かを判定する(S31)。   Then, as illustrated in FIG. 11, the result determination unit 114 of the information processing apparatus 1 determines whether or not the result of the compilation executed in the process of S25 is normal (S31).

具体的に、結果判定部114は、例えば、コンパイル実行部113によって出力されたコンパイル結果情報(図示しない)を参照し、コンパイル結果情報に「error」の文字列が含まれているか否かを判定する。そして、結果判定部114は、例えば、コンパイル結果情報に「error」の文字列が含まれていないと判定した場合、S25の処理で実行したコンパイルの結果が正常であると判定する。一方、結果判定部114は、例えば、コンパイル結果情報に「error」の文字列が含まれていると判定した場合、S25の処理で実行したコンパイルの結果が正常でないと判定する。   Specifically, the result determination unit 114 refers to, for example, compile result information (not shown) output by the compile execution unit 113 and determines whether or not the character string “error” is included in the compile result information. To do. For example, if the result determination unit 114 determines that the character string “error” is not included in the compilation result information, the result determination unit 114 determines that the result of the compilation executed in the process of S25 is normal. On the other hand, for example, if the result determination unit 114 determines that the character string “error” is included in the compilation result information, the result determination unit 114 determines that the result of the compilation executed in the process of S25 is not normal.

その結果、S25の処理で実行したコンパイルの結果が正常であると判定した場合(S32のYES)、情報管理部115は、情報格納領域130に記憶された関連情報132に、S15の処理でソースコード131が特定されたメインプログラムが、S23の処理で特定したサブプログラムの呼び出しを行わないことを示す情報を追加する(S33)。   As a result, when it is determined that the result of the compilation executed in the process of S25 is normal (YES in S32), the information management unit 115 adds the source information in the process of S15 to the related information 132 stored in the information storage area 130. Information indicating that the main program in which the code 131 is specified does not call the subprogram specified in the processing of S23 is added (S33).

一方、S25の処理で実行したコンパイルの結果が正常でないと判定した場合(S32のNO)、情報管理部115は、情報格納領域130に記憶された関連情報132に、S15の処理でソースコード131が特定されたメインプログラムが、S23の処理で特定したサブプログラムの呼び出しを行うことを示す情報を追加する(S34)。   On the other hand, when it is determined that the result of the compilation executed in the process of S25 is not normal (NO in S32), the information management unit 115 stores the source code 131 in the related information 132 stored in the information storage area 130 in the process of S15. Is added to indicate that the main program identified by is calling the subprogram identified in the processing of S23 (S34).

そして、宣言文削除部112は、S33の処理またはS34の処理の後、図12に示すように、S24の処理で宣言文が削除されたソースコード131を、宣言文を削除する前の状態に戻す(S41)。   Then, after the process of S33 or S34, the declaration sentence deletion unit 112 changes the source code 131 from which the declaration sentence has been deleted in the process of S24 to the state before the declaration sentence is deleted, as shown in FIG. Return (S41).

その後、情報管理部115は、S21の処理で特定された全てのサブプログラムをS23の処理において特定したか否かを判定する(S42)。また、情報管理部115は、S21の処理においてサブプログラムが特定されなかった場合(S22のNO)も同様に、S42の処理を行う。   Thereafter, the information management unit 115 determines whether or not all the subprograms specified in the process of S21 have been specified in the process of S23 (S42). Further, the information management unit 115 performs the process of S42 in the same manner even when the subprogram is not specified in the process of S21 (NO in S22).

その結果、全てのサブプログラムを特定していないと判定した場合(S42のNO)、宣言文削除部112は、S23以降の処理を再度行う。   As a result, when it is determined that not all the subprograms have been specified (NO in S42), the declaration sentence deletion unit 112 performs the processes subsequent to S23 again.

一方、全てのサブプログラムを特定したと判定した場合(S42のYES)、情報管理部115は、S13の処理で特定された全てのメインプログラムのソースコード131をS15の処理において特定したか否かを判定する(S43)。   On the other hand, if it is determined that all the subprograms have been identified (YES in S42), the information management unit 115 has determined whether the source code 131 of all the main programs identified in the process of S13 has been identified in the process of S15. Is determined (S43).

その結果、全てのメインプログラムのソースコード131を特定していないと判定した場合(S43のNO)、情報管理部115は、S15以降の処理を再度行う。   As a result, when it is determined that the source codes 131 of all the main programs have not been specified (NO in S43), the information management unit 115 performs the processes subsequent to S15 again.

一方、全てのメインプログラムのソースコード131を特定したと判定した場合(S43のYES)、情報処理装置1は、関連判定処理を終了する。以下、関連情報132の具体例について説明を行う。   On the other hand, when it is determined that the source codes 131 of all the main programs have been specified (YES in S43), the information processing apparatus 1 ends the association determination process. Hereinafter, a specific example of the related information 132 will be described.

[関連情報の具体例]
図17から図21は、関連情報132の具体例について説明する図である。
[Specific examples of related information]
FIGS. 17 to 21 are diagrams illustrating specific examples of the related information 132.

初めに、S16の処理が行われる前の関連情報132の具体例について説明を行う。図17は、S16の処理が行われる前の関連情報132の具体例について説明する図である。   First, a specific example of the related information 132 before the process of S16 will be described. FIG. 17 is a diagram illustrating a specific example of the related information 132 before the process of S16 is performed.

図17等に示す関連情報132は、メインプログラムのプログラムIDが設定される「メインプログラムID」と、サブプログラムのプログラムIDが設定される「サブプログラムID」とを項目として有する。また、図17等に示す関連情報132は、メインプログラムやサブプログラムのプログラム言語の識別情報が設定される「言語識別情報」と、「サブプログラムID」に情報が設定されたサブプログラムが「メインプログラムID」に情報が設定されたメインプログラムによって実際に呼び出されているか否かを示す情報が設定される「判定結果」とを項目として有する。「言語識別情報」には、例えば、C言語を示す「1」、または、C#を示す「2」が設定される。また、「判定結果」には、サブプログラムの呼び出しが実際に行われていることを示す「TRUE」、または、サブプログラムの呼び出しが実際には行われていないことを示す「FALSE」が設定される。すなわち、「判定結果」には、S31の処理において行われた判定の結果を示す情報が設定される。   The related information 132 illustrated in FIG. 17 and the like includes “main program ID” in which the program ID of the main program is set and “subprogram ID” in which the program ID of the subprogram is set. The related information 132 shown in FIG. 17 and the like includes “language identification information” in which identification information of the program language of the main program and subprogram is set, and a subprogram in which information is set in “subprogram ID” is “main The item includes “determination result” in which information indicating whether or not the program is actually called by the main program in which information is set in “program ID” is set. In the “language identification information”, for example, “1” indicating C language or “2” indicating C # is set. In addition, “TRUE” indicating that the subprogram is actually called or “FALSE” indicating that the subprogram is not actually called is set in the “determination result”. The That is, in the “determination result”, information indicating the result of the determination performed in the process of S31 is set.

具体的に、図17に示す関連情報132において、「メインプログラムID」に「MainProC001」が設定され、「サブプログラムID」に「SubProC001」が設定されている情報には、「言語識別情報」として「1」が設定され、「判定結果」として「TRUE」が設定されている。また、図17に示す関連情報132において、「メインプログラムID」に「MainProC001」が設定され、「サブプログラムID」に「SubProC002」が設定されている情報には、「言語識別情報」として「1」が設定され、「判定結果」として「TRUE」が設定されている。図17に含まれる他の情報についての説明は省略する。   Specifically, in the related information 132 shown in FIG. 17, “main program ID” is set to “MainProC001”, and “subprogram ID” is set to “SubProC001” as “language identification information”. “1” is set, and “TRUE” is set as the “determination result”. In the related information 132 shown in FIG. 17, “main program ID” is set to “MainProC001” and “subprogram ID” is set to “SubProC002” as “language identification information” as “1”. "Is set, and" TRUE "is set as the" determination result ". Description of other information included in FIG. 17 is omitted.

そして、例えば、S15の処理においてプログラムIDが「MainProC001」であるメインプログラムが特定された場合、情報管理部115は、図18に示すように、「メインプログラムID」に「MainProC001」が設定された情報をそれぞれ削除する。   For example, when the main program whose program ID is “MainProC001” is identified in the processing of S15, the information management unit 115 sets “MainProC001” to “main program ID” as shown in FIG. Delete each piece of information.

続いて、例えば、S15の処理においてプログラムIDが「MainProC001」であるメインプログラムが特定され、S23の処理においてプログラムIDが「SubProC001」であるサブプログラムが特定されている場合であって、S31の処理においてコンパイル結果が正常であると判定された場合、情報管理部115は、図19の下線部分に示すように、「メインプログラムID」に「MainProC001」が設定され、「サブプログラムID」に「SubProC001」が設定され、「判定結果」に「TRUE」が設定された情報を追加する。   Subsequently, for example, when the main program whose program ID is “MainProC001” is specified in the process of S15, and the subprogram whose program ID is “SubProC001” is specified in the process of S23, the process of S31 is performed. 19, the information management unit 115 sets “MainProC001” to “Main Program ID” and “SubProC001” to “Subprogram ID”, as indicated by the underlined portion in FIG. 19. "Is set, and information in which" TRUE "is set to" judgment result "is added.

さらに、例えば、S15の処理においてプログラムIDが「MainProC001」であるメインプログラムが特定され、S23の処理においてプログラムIDが「SubProC002」であるサブプログラムが特定されている場合であって、S31の処理においてコンパイル結果が正常でないと判定された場合、情報管理部115は、図20の下線部分に示すように、「メインプログラムID」に「MainProC001」が設定され、「サブプログラムID」に「SubProC002」が設定され、「判定結果」に「FALSE」が設定された情報を追加する。   Further, for example, when the main program whose program ID is “MainProC001” is specified in the process of S15 and the subprogram whose program ID is “SubProC002” is specified in the process of S23, When it is determined that the compilation result is not normal, the information management unit 115 sets “MainProC001” to “Main Program ID” and “SubProC002” to “Subprogram ID”, as shown by the underlined portion in FIG. Information that is set and “FALSE” is added to “judgment result” is added.

その後、情報管理部115は、S23の処理からS42の処理までを繰り返し行うことにより、例えば、図21の下線部分に示すように、「メインプログラムID」に「MainProC001」が設定された情報をそれぞれ追加する。   After that, the information management unit 115 repeatedly performs the processing from S23 to S42, for example, as shown in the underlined portion in FIG. 21, for each piece of information in which “MainProC001” is set in the “main program ID” to add.

これにより、情報管理部115は、情報格納領域130に記憶されたソースコード131の現在の状態に対応する関連情報132を生成することが可能になる。そのため、事業者は、情報処理装置1が生成した関連情報132を参照することにより、各メインプログラムが呼び出しを行うサブプログラムのそれぞれを正確に特定することが可能になる。   Thereby, the information management unit 115 can generate the related information 132 corresponding to the current state of the source code 131 stored in the information storage area 130. Therefore, the operator can accurately specify each of the subprograms that each main program calls by referring to the related information 132 generated by the information processing apparatus 1.

[関連情報の内容を出力した場合の具体例(2)]
次に、図21で説明した関連情報132の内容を出力した場合の具体例について説明を行う。図22は、関連情報132の内容を出力した場合の具体例を説明する図である。
[Specific example when related information is output (2)]
Next, a specific example when the content of the related information 132 described with reference to FIG. 21 is output will be described. FIG. 22 is a diagram illustrating a specific example when the contents of the related information 132 are output.

図21で説明した関連情報132において、「メインプログラムID」が「MainProC001」であって「サブプログラムID」が「SubProC001」及び「SubProC005」である情報の「判定結果」には、それぞれ「TRUE」が設定されている。また、図21で説明した関連情報132において、「メインプログラムID」が「MainProC001」であって「サブプログラムID」が「SubProC002」及び「SubProC003」である情報の「判定結果」には、それぞれ「FALSE」が設定されている。   In the related information 132 described with reference to FIG. 21, “TRUE” is included in each “determination result” of information whose “main program ID” is “MainProC001” and “subprogram ID” is “SubProC001” and “SubProC005”. Is set. Further, in the related information 132 described with reference to FIG. 21, the “determination result” of information whose “main program ID” is “MainProC001” and whose “subprogram ID” is “SubProC002” and “SubProC003” is “ "FALSE" is set.

そのため、図22に示す例において、例えば、「MainProC001」に対応する欄のうち、「SubProC001」及び「SubProC005」に対応する欄のそれぞれには、サブプログラムの呼び出しが実際に行われていることを示す「〇」が設定されている。また、図22に示す例において、例えば、「MainProC001」に対応する欄のうち、「SubProC002」及び「SubProC003」に対応する欄のそれぞれには、サブプログラムの呼び出しが実際には行われていないことを示す「×」が設定されている。   Therefore, in the example shown in FIG. 22, for example, among the columns corresponding to “MainProC001”, the subprograms are actually called in the columns corresponding to “SubProC001” and “SubProC005”. “◯” shown is set. In the example illustrated in FIG. 22, for example, among the columns corresponding to “MainProC001”, the subprograms are not actually called in each of the columns corresponding to “SubProC002” and “SubProC003”. “×” is set.

これにより、事業者は、例えば、図22に示す内容が出力された出力装置を閲覧することで、メインプログラムが呼び出しを行うサブプログラムを正確に特定することが可能になる。   As a result, for example, the operator can accurately identify the subprogram to be called by the main program by browsing the output device from which the content shown in FIG. 22 is output.

このように、本実施の形態における情報処理装置1は、メインプログラムのソースコード131から、メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する。そして、情報処理装置1は、宣言文が削除された後のメインプログラムのコンパイルを実行する。   As described above, the information processing apparatus 1 according to the present embodiment deletes the declaration statement related to one of the one or more subprograms called by the main program from the source code 131 of the main program. Then, the information processing apparatus 1 compiles the main program after the declaration statement is deleted.

その後、情報処理装置1は、コンパイルの実行が正常に完了した場合、宣言文を削除したサブプログラムがメインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する。   Thereafter, when the execution of the compilation is normally completed, the information processing apparatus 1 outputs information indicating that the subprogram from which the declaration statement is deleted is a subprogram that is not called by the main program.

すなわち、メインプログラムが実際に呼び出しを行っているサブプログラムの宣言文の削除が行われた場合、メインプログラムのコンパイルは、呼び出しを行うサブプログラムの宣言文が存在しないために失敗する。そこで、情報処理装置1は、いずれかのサブプログラムに関する宣言文を削除したメインプログラムのソースコード131のコンパイルを実行し、そのコンパイルが正常に完了するか否かの判定を行う。そして、コンパイルが正常に完了した場合、情報処理装置1は、宣言文を削除したサブプログラムの呼び出しが行われていないものと判定する。   That is, when the declaration statement of the subprogram that the main program is actually calling is deleted, the compilation of the main program fails because there is no declaration statement of the subprogram that is calling. Therefore, the information processing apparatus 1 compiles the source code 131 of the main program from which the declaration statement regarding any of the subprograms is deleted, and determines whether or not the compile is normally completed. When the compilation is normally completed, the information processing apparatus 1 determines that the subprogram from which the declaration statement is deleted has not been called.

これにより、情報処理装置1は、修正を行ったサブプログラムを実際に呼び出しているメインプログラムを特定することが可能になる。そのため、情報処理装置1は、サブプログラムの修正が行われた場合に、テストを行う必要があるメインプログラムを正確に特定することが可能になる。したがって、情報処理装置1は、サブプログラムの修正に伴うメインプログラムのテストが必要以上に行われることを防止することが可能になる。   As a result, the information processing apparatus 1 can specify the main program that is actually calling the corrected subprogram. Therefore, the information processing apparatus 1 can accurately specify the main program that needs to be tested when the subprogram is corrected. Therefore, the information processing apparatus 1 can prevent the main program test accompanying the correction of the subprogram from being performed more than necessary.

なお、図22に示す例において、「SubProC007」に対応する欄のうちの「MainProC007」に対応する欄には、「〇」が設定されており、「SubProC007」に対応する欄のうちの「MainProC006」、「MainProC008」、「MainProC009」及び「MainProC010」に対応する欄には、それぞれ「×」が設定されている。   In the example shown in FIG. 22, “◯” is set in the column corresponding to “MainProC007” in the column corresponding to “SubProC007”, and “MainProC006” in the column corresponding to “SubProC007”. “,” “MainProC008”, “MainProC009”, and “MainProC010” are respectively set to “x”.

すなわち、図22に示す例は、プログラムIDが「MainProC006」、「MainProC008」、「MainProC009」及び「MainProC010」であるメインプログラムのそれぞれが、プログラムIDが「SubProC007」であるサブプログラムの呼び出しを中止していることを示している。また、図22に示す例は、プログラムIDが「MainProC007」であるメインプログラムのみが、プログラムIDが「SubProC007」であるサブプログラムの呼び出しを引き続き行っていることを示している。   That is, in the example shown in FIG. 22, each of the main programs whose program IDs are “MainProC006”, “MainProC008”, “MainProC009”, and “MainProC010” cancels calling the subprogram whose program ID is “SubProC007”. It shows that. In addition, the example illustrated in FIG. 22 indicates that only the main program whose program ID is “MainProC007” continues to call the subprogram whose program ID is “SubProC007”.

一方、図22に示す例において、「SubProC009」に対応する欄のうちの「MainProC006」、「MainProC008」、「MainProC009」及び「MainProC010」に対応する欄には、「〇」が設定されており、「SubProC009」に対応する欄のうちの「MainProC007」に対応する欄には、「〇」または「×」が設定されていない。   On the other hand, in the example shown in FIG. 22, “O” is set in the columns corresponding to “MainProC006”, “MainProC008”, “MainProC009”, and “MainProC010” among the columns corresponding to “SubProC009”. Of the columns corresponding to “SubProC009”, “◯” or “×” is not set in the column corresponding to “MainProC007”.

すなわち、図22に示す例は、プログラムIDが「MainProC006」から「MainProC010」であるメインプログラムが呼び出すサブプログラムを、プログラムIDが「SubProC007」であるサブプログラムからプログラムIDが「SubProC009」であるサブプログラムに変更するための修正が過去に行われた可能性があることを示している。そして、図22に示す例は、プログラムIDが「MainProC007」であるメインプログラムについては、上記の修正が行われていない可能性があることを示している。   That is, in the example shown in FIG. 22, the subprogram called by the main program whose program ID is “MainProC006” to “MainProC010”, and the subprogram whose program ID is “SubProC009” from the subprogram whose program ID is “SubProC007”. This indicates that there was a possibility that corrections to change to have been made in the past. The example illustrated in FIG. 22 indicates that the above-described correction may not be performed for the main program whose program ID is “MainProC007”.

そのため、事業者は、図22で説明した内容が出力された出力装置を閲覧することで、例えば、ソースコード131の修正漏れが発生している可能性に気が付くことが可能になる。   Therefore, the business operator can notice the possibility that the correction of the source code 131 has occurred, for example, by browsing the output device in which the content described in FIG. 22 is output.

[第2の実施の形態の概略]
次に、第2の実施の形態における関連判定処理について説明を行う。
[Outline of Second Embodiment]
Next, the association determination process in the second embodiment will be described.

第1の実施の形態における情報処理装置1は、情報格納領域130に記憶されたソースコード131のうち、メインプログラムのソースコード131の全てを対象として関連判定処理を行う。これに対し、第2の実施の形態における情報処理装置1では、情報格納領域130に記憶されたソースコード131のうち、所定期間内に修正が行われたメインプログラムのソースコード131のみを対象として関連判定処理を行う。   The information processing apparatus 1 according to the first embodiment performs an association determination process for all the source codes 131 of the main program among the source codes 131 stored in the information storage area 130. On the other hand, in the information processing apparatus 1 according to the second embodiment, only the source code 131 of the main program that has been modified within a predetermined period among the source code 131 stored in the information storage area 130 is targeted. Relevance determination processing is performed.

これにより、情報処理装置1は、関連判定処理の実行に要する時間を短縮させることが可能になる。   As a result, the information processing apparatus 1 can shorten the time required for executing the association determination process.

なお、第2の実施の形態における関連判定処理は、S12及びS13の処理において行われる処理の内容についてのみ、第1の実施の形態における関連判定処理と異なる。そのため、以下、第2の実施の形態における関連判定処理のうち、S12及びS13の処理についてのみ説明を行う。   Note that the association determination processing in the second embodiment differs from the association determination processing in the first embodiment only in the contents of the processing performed in the processing of S12 and S13. Therefore, only the processes of S12 and S13 will be described below in the association determination process in the second embodiment.

[第2の実施の形態の詳細]
図23から図25は、第2の実施の形態における関連判定処理の詳細の一部を説明するフローチャート図である。具体的に、図23及び図24は、第2の実施の形態における処理のうち、S12の処理について説明する図であり、図25は、第2の実施の形態における処理のうち、S13の処理について説明する図である。また、図26は、第2の実施の形態における関連判定処理の詳細を説明する図である。以下、図26を参照しながら、図23から図25に示す関連判定処理の詳細について説明を行う。
[Details of Second Embodiment]
FIG. 23 to FIG. 25 are flowcharts for explaining a part of the details of the association determination processing in the second embodiment. Specifically, FIG. 23 and FIG. 24 are diagrams for explaining the processing of S12 in the processing in the second embodiment, and FIG. 25 is the processing of S13 in the processing in the second embodiment. It is a figure explaining about. FIG. 26 is a diagram for explaining the details of the association determination processing in the second embodiment. Hereinafter, the details of the association determination process shown in FIGS. 23 to 25 will be described with reference to FIG.

ソースコード取得部111は、情報出力タイミングになった場合(S11のYES)、図23に示すように、ソースコード取得部111は、情報格納領域130に記憶されたソースコード131を取得する(S51)。   When the information output timing comes (YES in S11), the source code acquisition unit 111 acquires the source code 131 stored in the information storage area 130 as shown in FIG. 23 (S51). ).

そして、情報管理部115は、S51の処理で取得したソースコード131のうち、所定期間内に修正が行われたソースコード131を特定する(S52)。具体的に、情報管理部115は、例えば、S51の処理で取得したソースコード131のうち、関連判定処理が前回行われてから現在までの間に修正が行われたソースコード131の特定を行う。   Then, the information management unit 115 identifies the source code 131 that has been modified within a predetermined period from the source code 131 acquired in the process of S51 (S52). Specifically, the information management unit 115 specifies, for example, the source code 131 that has been modified from the last time the association determination process was performed to the current time, out of the source code 131 acquired in the process of S51. .

その結果、所定期間内に修正が行われたソースコード131が特定されなかった場合(S53のNO)、情報処理装置1は、S12の処理を終了する。   As a result, when the source code 131 that has been modified within the predetermined period is not specified (NO in S53), the information processing apparatus 1 ends the process in S12.

一方、所定期間内に修正が行われたソースコード131が特定された場合(S53のYES)、情報管理部115は、情報格納領域130に記憶された修正情報133を削除する(S54)。修正情報133は、例えば、関連判定処理が前回行われてから現在までの間に修正が行われたソースコード131を示す情報である。修正情報133の具体例については後述する。   On the other hand, when the source code 131 modified within the predetermined period is identified (YES in S53), the information management unit 115 deletes the modification information 133 stored in the information storage area 130 (S54). The correction information 133 is information indicating, for example, the source code 131 that has been corrected since the last time the association determination process was performed. A specific example of the correction information 133 will be described later.

続いて、情報管理部115は、S53の処理で特定したソースコード131のうちの1つを特定する(S55)。   Subsequently, the information management unit 115 identifies one of the source codes 131 identified in the process of S53 (S55).

そして、情報管理部115は、S55の処理で特定したソースコード131がサブプログラムのソースコード131であるか否かを判定する(S56)。   Then, the information management unit 115 determines whether or not the source code 131 specified in the process of S55 is the source code 131 of the subprogram (S56).

具体的に、情報管理部115は、例えば、S55の処理で取得したソースコード131のそれぞれに記述されたプログラムIDを特定し、特定したプログラムIDのそれぞれがサブプログラムのプログラムIDの決定ルールに従っているか否かを判定する。そして、情報管理部115は、例えば、決定ルールに従っていると判定したプログラムIDが記述されたソースコード131を、サブプログラムのソースコード131として特定する。   Specifically, for example, the information management unit 115 identifies the program ID described in each of the source codes 131 acquired in the process of S55, and whether each of the identified program IDs conforms to the determination rule for the program ID of the subprogram. Determine whether or not. Then, the information management unit 115 identifies, for example, the source code 131 in which the program ID determined to comply with the decision rule is described as the source code 131 of the subprogram.

また、情報管理部115は、例えば、S55の処理で取得したソースコード131のそれぞれに記述されたプログラムIDを特定し、特定したプログラムIDのうち、情報格納領域130に記憶された関連情報132の「サブプログラムID」に設定されているプログラムIDを特定する。そして、情報管理部115は、関連情報132の「サブプログラムID」に設定されているプログラムIDが記述されたソースコード131を、サブプログラムのソースコード131として特定する。   For example, the information management unit 115 identifies the program ID described in each of the source codes 131 acquired in the process of S55, and the related information 132 stored in the information storage area 130 among the identified program IDs. The program ID set in the “subprogram ID” is specified. The information management unit 115 identifies the source code 131 in which the program ID set in the “subprogram ID” of the related information 132 is described as the source code 131 of the subprogram.

その結果、図24に示すように、S55の処理で特定したソースコード131がサブプログラムのソースコード131であると判定した場合(S61のYES)、情報管理部115は、情報格納領域130に記憶された修正情報133に、S55の処理で特定したソースコード131が所定期間内に修正されているサブプログラムのソースコード131であることを示す情報を追加する(S62)。   As a result, as shown in FIG. 24, when it is determined that the source code 131 identified in the process of S55 is the source code 131 of the subprogram (YES in S61), the information management unit 115 stores the information in the information storage area 130. Information indicating that the source code 131 specified in the process of S55 is the source code 131 of the subprogram that has been corrected within a predetermined period is added to the corrected information 133 (S62).

一方、S55の処理で特定したソースコード131がサブプログラムのソースコード131でないと判定した場合(S61のNO)、情報管理部115は、情報格納領域130に記憶された修正情報133に、S55の処理で特定したソースコード131が所定期間内に修正されているメインプログラムのソースコード131であることを示す情報を追加する(S63)。   On the other hand, when it is determined that the source code 131 identified in the process of S55 is not the source code 131 of the subprogram (NO in S61), the information management unit 115 adds the correction information 133 stored in the information storage area 130 to the correction information 133 of S55. Information indicating that the source code 131 identified in the processing is the source code 131 of the main program that has been modified within a predetermined period is added (S63).

そして、S62の処理またはS63の処理の後、情報管理部115は、S52の処理で特定した全てのプログラムのソースコード131をS55の処理において特定したか否かを判定する(S64)。   Then, after the process of S62 or the process of S63, the information management unit 115 determines whether the source code 131 of all the programs specified in the process of S52 has been specified in the process of S55 (S64).

その結果、全てのプログラムを特定していないと判定した場合(S64のNO)、情報管理部115は、S55以降の処理を再度行う。   As a result, when it is determined that not all the programs have been specified (NO in S64), the information management unit 115 performs the processes subsequent to S55 again.

一方、全てのプログラムを特定したと判定した場合(S64のYES)、情報処理装置1は、S12の処理を終了する。以下、修正情報133の具体例について説明を行う。   On the other hand, when it determines with having specified all the programs (YES of S64), the information processing apparatus 1 complete | finishes the process of S12. Hereinafter, a specific example of the correction information 133 will be described.

[修正情報の具体例]
図26は、修正情報133の具体例について説明する図である。
[Specific examples of correction information]
FIG. 26 is a diagram for explaining a specific example of the correction information 133.

図26に示す修正情報133は、メインプログラムまたはサブプログラムのプログラムIDが設定される「メインプログラムID」と、メインプログラムまたはサブプログラムのプログラム言語の識別情報が設定される「言語識別情報」とを項目として有する。また、図26に示す修正情報133は、プログラムの種別が設定される「プログラム種別」を項目として有する。「プログラム種別」には、メインプログラムを示す「メイン」、または、サブプログラムを示す「サブ」が設定される。   The correction information 133 shown in FIG. 26 includes “main program ID” in which the program ID of the main program or subprogram is set, and “language identification information” in which the program language identification information of the main program or subprogram is set. Have as an item. Also, the modification information 133 illustrated in FIG. 26 includes “program type” in which the program type is set as an item. In “program type”, “main” indicating a main program or “sub” indicating a subprogram is set.

具体的に、図26に示す修正情報133において、「プログラムID」が「MainProC001」である情報には、「言語識別情報」として「1」が設定され、「プログラム種別」として「メイン」が設定されている。すなわち、図26に示す修正情報133は、プログラムIDが「MainProC001」であるメインプログラムの修正が、所定期間内に行われたことを示している。   Specifically, in the correction information 133 shown in FIG. 26, “1” is set as “language identification information” and “main” is set as “program type” for information whose “program ID” is “MainProC001”. Has been. That is, the correction information 133 illustrated in FIG. 26 indicates that the main program whose program ID is “MainProC001” has been corrected within a predetermined period.

また、図26に示す修正情報133において、「プログラムID」が「SubProC004」である情報には、「言語識別情報」として「1」が設定され、「プログラム種別」として「サブ」が設定されている。すなわち、図26に示す修正情報133は、プログラムIDが「SubProC004」であるサブプログラムの修正が、所定期間内に行われたことを示している。図26に含まれる他の情報については説明を省略する。   In addition, in the correction information 133 shown in FIG. 26, “1” is set as “language identification information” and “sub” is set as “program type” for information whose “program ID” is “SubProC004”. Yes. That is, the modification information 133 illustrated in FIG. 26 indicates that the modification of the subprogram whose program ID is “SubProC004” was performed within a predetermined period. Description of other information included in FIG. 26 is omitted.

そして、情報管理部115は、図25に示すように、情報格納領域130に記憶された修正情報133に情報が含まれるメインプログラムを特定する(S71)。具体的に、情報管理部115は、例えば、図26で説明した修正情報133を参照し、「プログラムID」に情報が設定されているメインプログラムとして、プログラムIDが「MainProC001」及び「MainProC007」であるプログラムを特定する。   Then, as illustrated in FIG. 25, the information management unit 115 identifies the main program whose information is included in the correction information 133 stored in the information storage area 130 (S71). Specifically, the information management unit 115 refers to, for example, the correction information 133 described with reference to FIG. 26, and the program IDs “MainProC001” and “MainProC007” are the main programs whose information is set in the “program ID”. Identify a program.

続いて、情報管理部115は、情報格納領域130に記憶された修正情報133に情報が含まれるサブプログラムを特定する(S72)。具体的に、情報管理部115は、例えば、図26で説明した修正情報133を参照し、「プログラムID」に情報が設定されているサブプログラムとして、プログラムIDが「SubProC004」、「SubProC005」及び「SubProC010」であるプログラムを特定する。   Subsequently, the information management unit 115 identifies a subprogram whose information is included in the correction information 133 stored in the information storage area 130 (S72). Specifically, the information management unit 115 refers to, for example, the correction information 133 described with reference to FIG. 26, and the program IDs “SubProC004”, “SubProC005”, and the subprograms whose information is set in the “program ID”. The program which is “SubProC010” is specified.

そして、情報管理部115は、情報格納領域130に記憶された関連情報132を参照し、S72の処理で特定したサブプログラムの呼び出しを行うメインプログラムを特定する(S73)。   Then, the information management unit 115 refers to the related information 132 stored in the information storage area 130, and identifies the main program that calls the subprogram identified in the process of S72 (S73).

具体的に、図22で説明した例では、「SubProC004」に対応する欄のうち、「MainProC003」、「MainProC004」及び「MainProC005」に対応する欄に「〇」が設定されている。また、図22で説明した例では、「SubProC005」に対応する欄のうち、「MainProC001」及び「MainProC003」に対応する欄に「〇」が設定されている。さらに、図22で説明した例では、「SubProC010」に対応する欄のうち、「MainProC008」に対応する欄に「〇」が設定されている。   Specifically, in the example described with reference to FIG. 22, “◯” is set in the columns corresponding to “MainProC003”, “MainProC004”, and “MainProC005” among the columns corresponding to “SubProC004”. In the example described with reference to FIG. 22, “◯” is set in the columns corresponding to “MainProC001” and “MainProC003” among the columns corresponding to “SubProC005”. Further, in the example described with reference to FIG. 22, “◯” is set in the column corresponding to “MainProC008” among the columns corresponding to “SubProC010”.

そのため、情報管理部115は、S73の処理において、プログラムIDが「SubProC004」、「SubProC005」または「SubProC010」であるサブプログラムの呼び出しを行うメインプログラムとして、プログラムIDが「MainProC001」、「MainProC003」、「MainProC004」、「MainProC005」及び「MainProC008」であるメインプログラムを特定する。   Therefore, in the process of S73, the information management unit 115 uses the program IDs “MainProC001”, “MainProC003”, The main programs “MainProC004”, “MainProC005”, and “MainProC008” are specified.

すなわち、情報管理部115は、S13の処理において、プログラムIDが「MainProC001」、「MainProC003」、「MainProC004」、「MainProC005」、「MainProC007」及び「MainProC008」であるメインプログラムを特定する。そして、情報管理部115は、この場合、プログラムIDが「MainProC001」、「MainProC003」、「MainProC004」、「MainProC005」、「MainProC007」及び「MainProC008」であるメインプログラムについてのみ、S14以降の処理を行う。   That is, in the process of S13, the information management unit 115 identifies main programs whose program IDs are “MainProC001”, “MainProC003”, “MainProC004”, “MainProC005”, “MainProC007”, and “MainProC008”. In this case, the information management unit 115 performs the processing after S14 only for the main programs whose program IDs are “MainProC001”, “MainProC003”, “MainProC004”, “MainProC005”, “MainProC007”, and “MainProC008”. .

これにより、情報処理装置1は、S14以降の処理が行われるメインプログラムの数を抑制することが可能になる。そのため、情報処理装置1は、関連判定処理の実行に要する時間を短縮させることが可能になる。   As a result, the information processing apparatus 1 can suppress the number of main programs in which the processes after S14 are performed. Therefore, the information processing apparatus 1 can shorten the time required for executing the association determination process.

以上の実施の形態をまとめると、以下の付記のとおりである。   The above embodiment is summarized as follows.

(付記1)
メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除し、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行し、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする関連判定プログラム。
(Appendix 1)
Deleting from the source code of the main program a declaration statement related to any one of the one or more subprograms called by the main program;
Compile the source code of the main program after the declaration statement has been deleted,
When the execution of the compilation is completed normally, information indicating that any of the subprograms is a subprogram that is not called by the main program is output.
An association determination program that causes a computer to execute processing.

(付記2)
付記1において、
前記出力する処理では、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されるサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定プログラム。
(Appendix 2)
In Appendix 1,
In the output process, when the execution of the compilation is not completed normally, information indicating that any one of the subprograms is a subprogram called by the main program is output.
A related determination program characterized by that.

(付記3)
付記2において、
前記出力する処理では、前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要がないことを示す情報を出力し、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要があることを示す情報を出力する、
ことを特徴とする関連判定プログラム。
(Appendix 3)
In Appendix 2,
In the output process, when the execution of the compilation is completed normally, information indicating that it is not necessary to perform a test on the main program in accordance with the correction of any of the subprograms is output. When execution is not completed normally, information indicating that it is necessary to perform a test on the main program in accordance with correction of any of the subprograms is output.
A related determination program characterized by that.

(付記4)
付記1において、さらに、
前記メインプログラムのソースコードに前記宣言文が複数含まれている場合、前記削除する処理、前記実行する処理及び前記出力する処理を前記宣言文のそれぞれについて繰り返し行う、
処理をコンピュータに実行させることを特徴とする関連判定プログラム。
(Appendix 4)
In Appendix 1,
When a plurality of the declaration statements are included in the source code of the main program, the deletion process, the execution process, and the output process are repeatedly performed for each of the declaration statements.
An association determination program that causes a computer to execute processing.

(付記5)
付記1において、
前記メインプログラムは、所定期間内に修正が行われたプログラムである、
ことを特徴とする関連判定プログラム。
(Appendix 5)
In Appendix 1,
The main program is a program modified within a predetermined period.
A related determination program characterized by that.

(付記6)
付記5において、
前記所定期間は、前記出力する処理が前回行われてから現在までの期間である、
ことを特徴とする関連判定プログラム。
(Appendix 6)
In Appendix 5,
The predetermined period is a period from the time when the output process was performed last time until the present time.
A related determination program characterized by that.

(付記7)
付記1において、
前記メインプログラムは、所定期間内に修正が行われたサブプログラムを呼び出すプログラムである、
ことを特徴とする関連判定プログラム。
(Appendix 7)
In Appendix 1,
The main program is a program that calls a subprogram that has been modified within a predetermined period.
A related determination program characterized by that.

(付記8)
付記1において、
前記いずれかのサブプログラムに関する宣言文は、前記メインプログラムにおいて前記いずれかのサブプログラムが呼び出されることを示す宣言文である、
ことを特徴とする関連判定プログラム。
(Appendix 8)
In Appendix 1,
The declaration statement related to any one of the subprograms is a declaration statement indicating that any one of the subprograms is called in the main program.
A related determination program characterized by that.

(付記9)
メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する宣言文削除部と、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行するコンパイル実行部と、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する情報出力部と、を有する、
ことを特徴とする関連判定装置。
(Appendix 9)
A declaration statement deletion unit that deletes a declaration statement related to any one of the one or more subprograms called by the main program from the source code of the main program;
A compile execution unit that compiles the source code of the main program after the declaration statement is deleted;
An information output unit that outputs information indicating that any of the subprograms is a subprogram that is not called by the main program when the execution of the compilation is completed normally;
A related determination device characterized by the above.

(付記10)
付記9において、
前記情報出力部は、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されるサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定装置。
(Appendix 10)
In Appendix 9,
The information output unit outputs information indicating that any of the subprograms is a subprogram called by the main program when the execution of the compilation is not normally completed.
A related determination device characterized by the above.

(付記11)
付記10において、
前記情報出力部は、前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要がないことを示す情報を出力し、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要があることを示す情報を出力する、
ことを特徴とする関連判定装置。
(Appendix 11)
In Appendix 10,
The information output unit outputs information indicating that it is not necessary to perform a test on the main program in accordance with correction of any of the subprograms when the execution of the compilation is normally completed. When execution is not completed normally, information indicating that it is necessary to perform a test on the main program in accordance with correction of any of the subprograms is output.
A related determination device characterized by the above.

(付記12)
メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除し、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行し、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定方法。
(Appendix 12)
Deleting from the source code of the main program a declaration statement related to any one of the one or more subprograms called by the main program;
Compile the source code of the main program after the declaration statement has been deleted,
When the execution of the compilation is completed normally, information indicating that any of the subprograms is a subprogram that is not called by the main program is output.
An association determination method characterized by that.

(付記13)
付記12において、
前記出力する工程では、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されるサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定方法。
(Appendix 13)
In Appendix 12,
In the outputting step, when the execution of the compilation is not normally completed, information indicating that any one of the subprograms is a subprogram called by the main program is output.
An association determination method characterized by that.

(付記14)
付記13において、
前記出力する工程では、前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要がないことを示す情報を出力し、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要があることを示す情報を出力する、
ことを特徴とする関連判定方法。
(Appendix 14)
In Appendix 13,
In the outputting step, when the execution of the compilation is normally completed, information indicating that it is not necessary to perform a test on the main program in accordance with the correction of any of the subprograms is output, and When execution is not completed normally, information indicating that it is necessary to perform a test on the main program in accordance with correction of any of the subprograms is output.
An association determination method characterized by that.

1:情報処理装置 1a:記憶装置
1b:記憶装置 3:操作端末
1: Information processing device 1a: Storage device 1b: Storage device 3: Operation terminal

Claims (10)

メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除し、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行し、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする関連判定プログラム。
Deleting from the source code of the main program a declaration statement related to any one of the one or more subprograms called by the main program;
Compile the source code of the main program after the declaration statement has been deleted,
When the execution of the compilation is completed normally, information indicating that any of the subprograms is a subprogram that is not called by the main program is output.
An association determination program that causes a computer to execute processing.
請求項1において、
前記出力する処理では、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されるサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定プログラム。
In claim 1,
In the output process, when the execution of the compilation is not completed normally, information indicating that any one of the subprograms is a subprogram called by the main program is output.
A related determination program characterized by that.
請求項2において、
前記出力する処理では、前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要がないことを示す情報を出力し、前記コンパイルの実行が正常に完了しなかった場合、前記いずれかのサブプログラムの修正に伴って前記メインプログラムについてのテストを行う必要があることを示す情報を出力する、
ことを特徴とする関連判定プログラム。
In claim 2,
In the output process, when the execution of the compilation is completed normally, information indicating that it is not necessary to perform a test on the main program in accordance with the correction of any of the subprograms is output. When execution is not completed normally, information indicating that it is necessary to perform a test on the main program in accordance with correction of any of the subprograms is output.
A related determination program characterized by that.
請求項1において、さらに、
前記メインプログラムのソースコードに前記宣言文が複数含まれている場合、前記削除する処理、前記実行する処理及び前記出力する処理を前記宣言文のそれぞれについて繰り返し行う、
処理をコンピュータに実行させることを特徴とする関連判定プログラム。
The claim 1, further comprising:
When a plurality of the declaration statements are included in the source code of the main program, the deletion process, the execution process, and the output process are repeatedly performed for each of the declaration statements.
An association determination program that causes a computer to execute processing.
請求項1において、
前記メインプログラムは、所定期間内に修正が行われたプログラムである、
ことを特徴とする関連判定プログラム。
In claim 1,
The main program is a program modified within a predetermined period.
A related determination program characterized by that.
請求項5において、
前記所定期間は、前記出力する処理が前回行われてから現在までの期間である、
ことを特徴とする関連判定プログラム。
In claim 5,
The predetermined period is a period from the time when the output process was performed last time until the present time.
A related determination program characterized by that.
請求項1において、
前記メインプログラムは、所定期間内に修正が行われたサブプログラムを呼び出すプログラムである、
ことを特徴とする関連判定プログラム。
In claim 1,
The main program is a program that calls a subprogram that has been modified within a predetermined period.
A related determination program characterized by that.
請求項1において、
前記いずれかのサブプログラムに関する宣言文は、前記メインプログラムにおいて前記いずれかのサブプログラムが呼び出されることを示す宣言文である、
ことを特徴とする関連判定プログラム。
In claim 1,
The declaration statement related to any one of the subprograms is a declaration statement indicating that any one of the subprograms is called in the main program.
A related determination program characterized by that.
メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除する宣言文削除部と、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行するコンパイル実行部と、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する情報出力部と、を有する、
ことを特徴とする関連判定装置。
A declaration statement deletion unit that deletes a declaration statement related to any one of the one or more subprograms called by the main program from the source code of the main program;
A compile execution unit that compiles the source code of the main program after the declaration statement is deleted;
An information output unit that outputs information indicating that any of the subprograms is a subprogram that is not called by the main program when the execution of the compilation is completed normally;
A related determination device characterized by the above.
メインプログラムのソースコードから、前記メインプログラムによって呼び出される1以上のサブプログラムのうちのいずれかのサブプログラムに関する宣言文を削除し、
前記宣言文が削除された後の前記メインプログラムのソースコードのコンパイルを実行し、
前記コンパイルの実行が正常に完了した場合、前記いずれかのサブプログラムが前記メインプログラムによって呼び出されないサブプログラムであることを示す情報を出力する、
ことを特徴とする関連判定方法。
Deleting from the source code of the main program a declaration statement related to any one of the one or more subprograms called by the main program;
Compile the source code of the main program after the declaration statement has been deleted,
When the execution of the compilation is completed normally, information indicating that any of the subprograms is a subprogram that is not called by the main program is output.
An association determination method characterized by that.
JP2018028923A 2018-02-21 2018-02-21 Related judgment program, related judgment device and related judgment method Active JP6993574B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018028923A JP6993574B2 (en) 2018-02-21 2018-02-21 Related judgment program, related judgment device and related judgment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018028923A JP6993574B2 (en) 2018-02-21 2018-02-21 Related judgment program, related judgment device and related judgment method

Publications (2)

Publication Number Publication Date
JP2019144885A true JP2019144885A (en) 2019-08-29
JP6993574B2 JP6993574B2 (en) 2022-01-13

Family

ID=67772428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018028923A Active JP6993574B2 (en) 2018-02-21 2018-02-21 Related judgment program, related judgment device and related judgment method

Country Status (1)

Country Link
JP (1) JP6993574B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02285424A (en) * 1989-04-27 1990-11-22 Nec Corp Output system for unnecessary label and its deletion system for compiler
JPH04253223A (en) * 1991-01-29 1992-09-09 Nec Corp Synchronous erasing system for function reference part and definition part
JP2005346578A (en) * 2004-06-04 2005-12-15 Ricoh Co Ltd File extracting system and program
JP2006252488A (en) * 2005-03-14 2006-09-21 Fujitsu Ltd Software management system, software management method, software management program, and recording medium
US20090172633A1 (en) * 2005-04-22 2009-07-02 Sap Ag Methods of transforming application layer structure as objects

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4253223B2 (en) 2003-06-26 2009-04-08 常陸森紙業株式会社 Packaging box

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02285424A (en) * 1989-04-27 1990-11-22 Nec Corp Output system for unnecessary label and its deletion system for compiler
JPH04253223A (en) * 1991-01-29 1992-09-09 Nec Corp Synchronous erasing system for function reference part and definition part
JP2005346578A (en) * 2004-06-04 2005-12-15 Ricoh Co Ltd File extracting system and program
JP2006252488A (en) * 2005-03-14 2006-09-21 Fujitsu Ltd Software management system, software management method, software management program, and recording medium
US20090172633A1 (en) * 2005-04-22 2009-07-02 Sap Ag Methods of transforming application layer structure as objects

Also Published As

Publication number Publication date
JP6993574B2 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US10409574B2 (en) Incremental whole program compilation of code
US10261889B2 (en) Techniques for edit-and-continue and enhanced optimized debugging on optimized code
US9489418B2 (en) Processing database queries embedded in application source code from within integrated development environment tool
US9047337B2 (en) Database connectivity and database model integration within integrated development environment tool
US9311077B2 (en) Identification of code changes using language syntax and changeset data
CN107015841B (en) Preprocessing method for program compiling and program compiling device
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
WO2020000747A1 (en) Anti-crawler method and terminal and computer readable storage medium
CN112732300A (en) Data packet updating method and device, electronic equipment and readable storage medium
CN111596970B (en) Method, device, equipment and storage medium for dynamic library delay loading
JP6451417B2 (en) Debug support device, debug support system, debug support method, and debug support program
JP6651974B2 (en) Information processing apparatus, compiling method and compiler program
JP6993574B2 (en) Related judgment program, related judgment device and related judgment method
CN111796832B (en) Hot patch file generation method, device, equipment and storage medium
US9710360B2 (en) Optimizing error parsing in an integrated development environment
WO2023277802A2 (en) Device and method for identifying errors in a software application
CN114691197A (en) Code analysis method and device, electronic equipment and storage medium
JP7380851B2 (en) Test script generation device, test script generation method and program
US10402304B2 (en) Non-transitory computer-readable storage medium, correction support method and correction support device
JP5578625B2 (en) Program analysis apparatus, program analysis method, and program
JP2005190330A (en) Source program review assisting system
JP5962350B2 (en) Program, information processing apparatus and test method
JP2007219893A (en) Firmware evaluation system and firmware evaluation method
JP2018181121A (en) Analyzer, analysis program, and analysis method
JP2024013784A (en) Source code modification support device and source code modification support method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201102

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20210831

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6993574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150