JP2020038586A - Determination device, determination method, and determination program - Google Patents

Determination device, determination method, and determination program Download PDF

Info

Publication number
JP2020038586A
JP2020038586A JP2018166548A JP2018166548A JP2020038586A JP 2020038586 A JP2020038586 A JP 2020038586A JP 2018166548 A JP2018166548 A JP 2018166548A JP 2018166548 A JP2018166548 A JP 2018166548A JP 2020038586 A JP2020038586 A JP 2020038586A
Authority
JP
Japan
Prior art keywords
source code
difference
information
relationship
change
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
JP2018166548A
Other languages
Japanese (ja)
Other versions
JP7230378B2 (en
Inventor
崚 梅原
Shun Umehara
崚 梅原
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2018166548A priority Critical patent/JP7230378B2/en
Publication of JP2020038586A publication Critical patent/JP2020038586A/en
Application granted granted Critical
Publication of JP7230378B2 publication Critical patent/JP7230378B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To determine whether a plurality of source codes created from a reference source code have been properly updated.SOLUTION: A determination device 1 includes an analysis unit 2 configured to generate relevant information indicating a relation between programs with respect to a reference source code, a first source code, and a second source code, a calculating unit 3 configured to calculate, on the basis of the relevant information of each source code, difference information for each of the first and second source codes with respect to difference from the reference source code and calculate an applied difference indicating a difference between the calculated difference information, and an evaluation unit 4 configured to determine whether the first source code and the second source code are the same on the basis of the applied difference, and when the first source code and the second source code are not the same, determine difference information of the second source code based on the first source code.SELECTED DRAWING: Figure 1

Description

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

企業がITシステムを構築する際、構築コストを削減するため、複数の企業で共通に利用される機能を含む「共通ソースコード」を作成すると共に、一部の企業固有の機能を共通ソースコードに追加するカスタマイズ作業を行い、「専用ソースコード」を作成する。   When a company builds an IT system, it creates "common source code" that includes functions commonly used by multiple companies and reduces some company-specific functions to a common source code in order to reduce the construction cost. Perform the customization work to be added and create the "dedicated source code".

一方で、ある時点の共通ソースコードをカスタマイズして専用ソースコードを作成した後、ITシステムの運用を続けていく中で、共通ソースコードをアップデートした場合、専用ソースコードに対しても同様の更新を実施する必要がある。   On the other hand, when the common source code is updated while customizing the common source code at a certain point in time and creating the dedicated source code and continuing to operate the IT system, the same update is performed on the dedicated source code as well. Need to be implemented.

専用ソースコードにはカスタマイズによって追加された更新内容が存在しており、機械的に統合を行うと更新内容が適切に反映されず、更新内容の一部が欠損してしまうという危険性がある。そこで、更新内容の一部が欠損してしまうことを防ぐために、共通ソースコードに対するアップデート(更新内容)をソースコードに反映するではなく、文章や設計書等の形式で受け取る。そして、開発者又は運用者が受け取った文章や設計書の内容を、専用ソースコードに手動で適用していくことにより、更新内容の一部が欠損することを防ぐ。   The update content added by customization exists in the dedicated source code, and there is a risk that if the integration is performed mechanically, the update content will not be appropriately reflected and a part of the update content will be lost. Therefore, in order to prevent a part of the update content from being lost, the update (update content) for the common source code is not reflected in the source code, but is received in the form of a text or a design document. Then, by manually applying the contents of the text or design document received by the developer or the operator to the dedicated source code, it is possible to prevent a part of the updated contents from being lost.

しかしながら、開発者又は運用者が手動で更新内容をソースコードに適用すると、開発コスト又は運用コストが高くなってしまう。また、開発者又は運用者が手動で更新内容をソースコードに適用する場合であっても、更新内容の一部が欠損してしまうことを十分に防ぐことは出来ない。そこで、基準となるソースコードの一部に修正が加えられる場合に、更新内容を差分内容として算出し、算出された差分内容をソースコードに適用する関連技術が存在する(例えば、特許文献1及び2)。   However, if the developer or the operator manually applies the updated content to the source code, the development cost or the operation cost increases. Further, even when the developer or the operator manually applies the updated content to the source code, it is not possible to sufficiently prevent a part of the updated content from being lost. Therefore, when a part of the reference source code is modified, there is a related technology that calculates the updated content as the difference content and applies the calculated difference content to the source code (for example, Patent Document 1 and Patent Document 1). 2).

特許文献1には、修正前のソフトウェアの呼び出し関係を示すコールグラフと修正後のソフトウェアの呼び出し関係を示すコールグラフとを比較し、サブルーチンの呼び出し元が変更されたことなどを把握し修正後のソフトウェアに適用する技術が開示されている。   In Patent Document 1, a call graph indicating a call relationship of software before correction is compared with a call graph indicating a call relationship of software after correction, and it is determined that the call source of a subroutine has been changed. A technique applied to software is disclosed.

また、特許文献2には、ターゲットモデル0のn回目の変更によって得られたターゲットモデルの変更点と、ターゲットモデル1の変更点とをマージして、更新内容を適切に適用したターゲットモデルを作成する技術が開示されている。   Patent Document 2 discloses a target model in which a change in a target model obtained by an n-th change of a target model 0 and a change in a target model 1 are merged to appropriately apply updated contents. A technique for performing this is disclosed.

特開2017−142712号公報JP 2017-142712 A 特開2008−269136号公報JP 2008-269136 A

しかしながら、特許文献1及び2は、基準となるソースコードから異なる更新内容が加えられて作成された複数のソースコードが同一であることを判定することを開示していない。さらに、特許文献1及び2は、上記複数のソースコードに差分があった場合に、差分となる更新内容を把握する技術も開示していない。   However, Patent Literatures 1 and 2 do not disclose determining that a plurality of source codes created by adding different update contents from a reference source code are the same. Further, Patent Literatures 1 and 2 do not disclose a technique for grasping an update content that becomes a difference when there is a difference between the plurality of source codes.

本開示の目的は、上述の問題を解決するためになされたものであり、基準となるソースコードから作成された複数のソースコードが適切に更新されているかを判定することが可能な判定装置、判定方法及び判定プログラムを提供することである。   The purpose of the present disclosure has been made in order to solve the above-described problem, and a determination device capable of determining whether a plurality of source codes created from a reference source code are appropriately updated, A determination method and a determination program are provided.

本開示にかかる判定装置は、
基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成する分析部と、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出する算出部と、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を決定する評価部と、を備える判定装置である。
The determination device according to the present disclosure,
A reference source code, an analysis unit that generates relationship information indicating a relationship between programs included in each source code with respect to a first source code and a second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. A calculation unit that calculates the difference information including a change type indicating a change content of the information, and calculates an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first An evaluation unit that determines difference information of the second source code based on a source code.

本開示にかかる判定方法は、
基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成することと、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出することと、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を決定することと、を含む判定方法である。
The determination method according to the present disclosure,
Generating relationship information indicating a relationship between programs included in each of the reference source code and the first source code and the second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. Calculating the difference information including a change type indicating a change content of the information, and calculating an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first Determining difference information of the second source code based on the source code.

本開示にかかる判定プログラムは、
基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成することと、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出することと、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を決定することと、をコンピュータに実行させる判定プログラムである。
The determination program according to the present disclosure includes:
Generating relationship information indicating a relationship between programs included in each of the reference source code and the first source code and the second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. Calculating the difference information including a change type indicating a change content of the information, and calculating an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first Determining the difference information of the second source code based on the source code.

本開示によれば、基準となるソースコードから作成された複数のソースコードが適切に更新されているかを判定することが可能となる。   According to the present disclosure, it is possible to determine whether a plurality of source codes created from a reference source code have been appropriately updated.

実施の形態の概要にかかる判定装置の構成例を示す図である。1 is a diagram illustrating a configuration example of a determination device according to an outline of an embodiment. 実施の形態に関連するソースコードの関係を説明する図である。FIG. 3 is a diagram illustrating a relationship between source codes related to the embodiment. 実施の形態にかかる判定装置の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a determination device according to the embodiment; ソースコード格納部に格納される各ソースコードとプログラムとの関係を示す模式図である。FIG. 3 is a schematic diagram illustrating a relationship between each source code stored in a source code storage unit and a program. 各ソースコードに含まれるプログラムの関係を示す概念図である。FIG. 3 is a conceptual diagram illustrating a relationship between programs included in each source code. 各ソースコードに含まれるプログラムの関係を示す概念図である。FIG. 3 is a conceptual diagram illustrating a relationship between programs included in each source code. 各ソースコードに含まれるプログラムの関係を示す概念図である。FIG. 3 is a conceptual diagram illustrating a relationship between programs included in each source code. 各ソースコードに含まれるプログラムの関係を示す概念図である。FIG. 3 is a conceptual diagram illustrating a relationship between programs included in each source code. 各ソースコードの関係情報の一例を示す図である。FIG. 4 is a diagram illustrating an example of relation information of each source code. 差分算出部が行う処理概要を説明する図である。FIG. 9 is a diagram for describing an outline of a process performed by a difference calculation unit. 関係情報差分テーブルの一例を示す図である。It is a figure showing an example of a relation information difference table. 変更差分テーブルの一例を説明する図である。It is a figure explaining an example of a change difference table. 適用差分算出部及び適用差分評価部の処理を説明する図である。It is a figure explaining processing of an application difference calculation part and an application difference evaluation part. 適用差分算出部及び適用差分評価部の処理を説明する図である。It is a figure explaining processing of an application difference calculation part and an application difference evaluation part. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 実施の形態にかかる判定装置の動作例を説明する図である。FIG. 5 is a diagram illustrating an operation example of the determination device according to the embodiment. 本開示の各実施の形態にかかる判定装置のハードウェア構成を例示するブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration of a determination device according to each embodiment of the present disclosure.

以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。   Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. The following description and drawings are appropriately omitted and simplified for clarity of explanation. In the following drawings, the same elements are denoted by the same reference numerals, and a repeated description is omitted as necessary.

(実施の形態の概要)
本開示の実施の形態の説明に先立って、実施の形態の概要について説明する。図1は、実施の形態の概要にかかる判定装置の構成例を示す図である。判定装置1は、基準となるソースコードから作成された複数のソースコードが一致するか否かを判定する。判定装置1は、例えば、サーバ、コンピュータ装置等であってもよい。
(Outline of Embodiment)
Prior to description of an embodiment of the present disclosure, an outline of the embodiment will be described. FIG. 1 is a diagram illustrating a configuration example of a determination device according to an outline of an embodiment. The determination device 1 determines whether a plurality of source codes created from a reference source code match. The determination device 1 may be, for example, a server, a computer device, or the like.

判定装置1は、分析部2と、算出部3と、評価部4とを備える。
分析部2は、基準ソースコード、基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成する。
The determination device 1 includes an analysis unit 2, a calculation unit 3, and an evaluation unit 4.
The analysis unit 2 generates relationship information indicating a relationship between a reference source code and a program included in each of the first source code and the second source code created from the reference source code.

ソースコードは、例えば、ソフトウェア、バッチファイル等であってもよい。もしくは、ソースコードは、実行されるプログラムの集合を示すプログラム群が1つのファイルに設定されたプログラムファイルであってもよい。   The source code may be, for example, software, a batch file, or the like. Alternatively, the source code may be a program file in which a program group indicating a set of programs to be executed is set in one file.

プログラムは、例えば、ソースコードに含まれる1又は複数の関数であってもよい。もしくは、プログラムは、例えば、判定装置1に実行させる1又は複数の処理内容であってもよいし、判定装置1に実行させる命令であってもよい。   The program may be, for example, one or more functions included in the source code. Alternatively, the program may be, for example, one or more processing contents to be executed by the determination device 1 or an instruction to be executed by the determination device 1.

関係情報は、例えば、呼び出し元のプログラムと呼び出し先のプログラムとの関係を示す情報であってもよい。もしくは、関係情報は、例えば、実行される処理順序の関係を示す情報であってもよい。   The relationship information may be, for example, information indicating a relationship between a calling program and a called program. Alternatively, the relationship information may be, for example, information indicating a relationship between the processing orders to be executed.

算出部3は、各ソースコードの関係情報に基づいて、第1ソースコード及び第2ソースコードの各々と、基準ソースコードとの差分情報であって、関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む差分情報を算出する。算出部3は、差分情報同士の差分を示す適用差分を算出する。   The calculating unit 3 is a difference information between each of the first source code and the second source code and the reference source code based on the relation information of each source code, and a difference between the relation information and a relation that is the difference. Difference information including a change type indicating information change content is calculated. The calculation unit 3 calculates an applied difference indicating a difference between pieces of difference information.

評価部4は、算出部3が算出した適用差分に基づいて、第1ソースコードと第2ソースコードとが同一であるかを判定する。また、評価部4は、第1ソースコードと第2ソースコードとが同一ではない場合、第1ソースコードを基準にした第2ソースコードの差分情報を決定する。   The evaluation unit 4 determines whether the first source code and the second source code are the same based on the application difference calculated by the calculation unit 3. When the first source code and the second source code are not the same, the evaluation unit 4 determines difference information of the second source code based on the first source code.

以上説明したように、分析部2が各ソースプログラムに含まれるプログラムの関係を示す関係情報を生成する。算出部3は、各ソースコードの関係情報に基づいて、第1ソースコード及び第2ソースコードの各々に対して、基準ソースコードとの差分情報し、差分情報同士の差分を示す適用差分を算出する。評価部4は、適用差分に基づいて、第1ソースコードと第2ソースコードとが同一であるかを判定する。また、評価部4は、第1ソースコードと第2ソースコードとが同一ではない場合、第1ソースコードを基準にした第2ソースコードの差分情報を決定する。したがって、実施の形態にかかる判定装置1を用いることにより、基準となるソースコードから作成された複数のソースコードが適切に更新されているかを判定することが可能となる。さらに、実施の形態にかかる判定装置10を用いることにより、基準となるソースコードから作成された複数のソースコードが適切に更新されていない場合であっても差分内容を把握することが可能となる。   As described above, the analysis unit 2 generates the relationship information indicating the relationship between the programs included in each source program. The calculating unit 3 calculates difference information with respect to the reference source code for each of the first source code and the second source code based on the relation information of each source code, and calculates an applied difference indicating a difference between the difference information. I do. The evaluation unit 4 determines whether the first source code and the second source code are the same based on the applied difference. When the first source code and the second source code are not the same, the evaluation unit 4 determines difference information of the second source code based on the first source code. Therefore, by using the determination device 1 according to the embodiment, it is possible to determine whether a plurality of source codes created from a reference source code have been appropriately updated. Further, by using the determination device 10 according to the embodiment, even when a plurality of source codes created from the reference source code are not appropriately updated, it is possible to grasp the details of the difference. .

(実施の形態)
まず、実施の形態の詳細を説明する前に、課題事項を再度整理する。図2は、実施の形態に関連するソースコードの関係を説明する図である。
(Embodiment)
First, before describing the details of the embodiments, the issues are re-arranged. FIG. 2 is a diagram illustrating a relationship between source codes related to the embodiment.

図2のうち、網掛けがされていない、白色のブロックは、ソースコードを示している。また、斜線により網掛けされたブロックは、矢印の始点に記載されたソースコードからの更新内容を示しており、当該更新内容に基づいて作成されたソースコードを矢印の終点に記載している。例えば、共通ソースコード2は、共通ソースコード1に対して、共通アップデート1という更新内容が加えられて作成されたソースコードであることを示している。   In FIG. 2, white blocks that are not shaded indicate source codes. The blocks shaded by oblique lines indicate the updated contents from the source code described at the starting point of the arrow, and the source code created based on the updated contents is described at the ending point of the arrow. For example, the common source code 2 indicates that the common source code 1 is a source code created by adding the update content of the common update 1 to the common source code 1.

図2に示したソースコードのうち、複数の企業で共通に使用される機能を盛り込んだソースコードを共通ソースコードと呼び、一部の企業で使用される機能を盛り込んだソースコードを専用ソースコードと呼ぶ。また、共通ソースコードのうち、例えば、全企業に対して共通して使用される機能を盛り込んだソースコードであって、基準となるソースコードを共通ソースコード1とする。共通ソースコード1は、実施の形態の概要における基準ソースコードに対応する。   Of the source code shown in FIG. 2, a source code including functions commonly used by a plurality of companies is called a common source code, and a source code including functions used by some companies is a dedicated source code. Call. Further, among the common source codes, for example, a source code including functions commonly used by all the companies, and a reference source code is referred to as a common source code 1. The common source code 1 corresponds to the reference source code in the outline of the embodiment.

一般的に、共通ソースコード1から複数のソースコードが作成される。複数のソースコードのうちの1つは、共通ソースコード1を基準として、全企業で共通に使用される機能を更新内容として作成された共通ソースコード2である。当該更新内容を共通アップデート1と称する。共通アップデート1は、全企業で共通に利用されると想定される新機能の追加、及び発覚した問題の修正等が発生した場合、共通ソースコード1を編集する更新内容(更新作業)である。共通アップデート1により作成されるソースコードを共通ソースコード2とする。   Generally, a plurality of source codes are created from the common source code 1. One of the plurality of source codes is a common source code 2 created based on the common source code 1 with updated functions of functions commonly used by all companies. The updated content is referred to as a common update 1. The common update 1 is an update content (update work) for editing the common source code 1 when a new function that is assumed to be used in common by all companies is added and a discovered problem is corrected. The source code created by the common update 1 is referred to as a common source code 2.

その他としては、共通ソースコード1を基準として、一部の企業で使用される機能を更新内容として作成された専用ソースコード1である。当該更新内容をカスタマイズ1と称する。カスタマイズ1は、一部の企業固有の要求が存在する等の理由により、共通ソースコード1のみでは要求を満たせない企業が現れた場合、当該企業固有の要求を実現するための更新内容(更新作業)である。   The other is the dedicated source code 1 created with the functions used by some companies as updated contents based on the common source code 1. The updated content is referred to as customization 1. If there is a company that cannot satisfy the request with only the common source code 1 due to the fact that some company-specific requests exist, for example, the customization 1 requires the update contents (update work) to realize the company-specific request. ).

なお、図2には、共通ソースコード1から2つのソースコードが作成されることとして記載したが、当然ながら3つ以上のソースコードが作成されてもよい。また、図2には、共通ソースコード1と、専用ソースコード2との間には、それぞれ共通ソースコード2及び専用ソースコード1の1つのみが記載されているが、複数のソースコードが存在してもよい。なお、共通ソースコード2及び専用ソースコード1は、共通ソースコード1と、専用ソースコード2との間の中間に存在するソースコードであるので、中間ソースコードと称されてもよい。   Although FIG. 2 illustrates that two source codes are created from the common source code 1, three or more source codes may be created. FIG. 2 shows only one of the common source code 2 and the dedicated source code 1 between the common source code 1 and the dedicated source code 2, but a plurality of source codes exist. May be. The common source code 2 and the dedicated source code 1 are source codes existing between the common source code 1 and the dedicated source code 2, and may be referred to as intermediate source codes.

上記の様に、共通ソースコード1から2つのソースコードが作成されたとしても、管理するソースコードの数が増加すると、管理が難しくなり、開発コストが高くなることから、基準となるソースコードを共通化しておくことが好ましい。そのため、ソースコードをアップデートするいずれかのタイミングにおいて、ソースコードを共通化する。   Even if two source codes are created from the common source code 1 as described above, if the number of source codes to be managed increases, management becomes difficult and development costs increase. It is preferable to make them common. Therefore, the source code is shared at any timing of updating the source code.

図2に示すように、共通ソースコード2から専用ソースコード2を作成し、専用ソースコード1からも専用ソースコード2を作成する。専用ソースコード1に対して、共通アップデート1に相当する変更を施す作業を専用アップデート1とする。共通ソースコード2に対して、カスタマイズ1に相当する変更を施す作業をカスタマイズ2とする。専用ソースコード2は、専用アップデート1又はカスタマイズ2によって作成される、共通ソースコード1に対して共通アップデート1及びカスタマイズ1に相当する変更が加わったソースコードである。換言すると、共通ソースコード2から作成された専用ソースコード2と、専用ソースコード1から作成された専用ソースコード2とは、共通化されたソースコードである。   As shown in FIG. 2, the dedicated source code 2 is created from the common source code 2, and the dedicated source code 2 is created from the dedicated source code 1. A task of making a change corresponding to the common update 1 to the dedicated source code 1 is referred to as a dedicated update 1. The operation of making a change corresponding to customization 1 to the common source code 2 is referred to as customization 2. The dedicated source code 2 is a source code created by the dedicated update 1 or the customization 2 and obtained by adding a change corresponding to the common update 1 and the customization 1 to the common source code 1. In other words, the dedicated source code 2 created from the common source code 2 and the dedicated source code 2 created from the dedicated source code 1 are common source codes.

ここで、共通ソースコード2から作成された専用ソースコード2と、専用ソースコード1から作成された専用ソースコード2とは、共通化されたソースコードであることから、同一のソースコードである必要がある。しかしながら、共通ソースコード1から共通ソースコード2を介して専用ソースコード2を作成する場合と、共通ソースコード1から専用ソースコード1を介して専用ソースコード2を作成する場合とでは、それぞれ対応する更新内容が異なる。したがって、共通ソースコード1から共通ソースコード2を介して作成された専用ソースコード2と、共通ソースコード1から専用ソースコード1を介して作成された専用ソースコード2とが同一のソースコードとはならない可能性が生じる。   Here, since the dedicated source code 2 created from the common source code 2 and the dedicated source code 2 created from the dedicated source code 1 are common source codes, they must be the same source code. There is. However, a case where the dedicated source code 2 is created from the common source code 1 via the common source code 2 and a case where the dedicated source code 2 is created from the common source code 1 via the dedicated source code 1 correspond to each case. Update content is different. Therefore, the dedicated source code 2 created from the common source code 1 via the common source code 2 and the dedicated source code 2 created from the common source code 1 via the dedicated source code 1 are the same source code. There is a possibility that it will not.

異なる専用ソースコード2が作成されてしまうと、異なる専用ソースコード2を基準にさらに更新内容を盛り込んだソースコードが作成されてしまうことになり、ITシステム全体の品質に懸念が残ることになる。また、共通ソースコード1からのアップデートは複数回の行われることが通常であることから、例えば、それに応じたアップデートの度に作成されたソースコードが同一であるかを目視による確認をしているとなると、開発又は運用効率は低くなる。また、例えば、それに応じたアップデートの度に作成されたソースコードが同一であるかを目視による確認をしているとなると、ITシステム全体の品質に懸念が残ることとなる。   If a different dedicated source code 2 is created, a source code that further includes updated contents is created based on the different dedicated source code 2, and there is a concern about the quality of the entire IT system. Also, since the update from the common source code 1 is usually performed a plurality of times, for example, it is visually checked whether the source code created is the same every time the update is performed. Then, the development or operation efficiency becomes low. Further, for example, if it is visually checked whether or not the source code created at each update corresponding to the update is the same, there is a concern about the quality of the entire IT system.

そこで、本実施の形態では、基準となる共通ソースコード1から異なる変更内容に基づき作成された専用ソースコード2が同一であるかを判定することを目的とする。さらに、本実施の形態では、仮に異なる専用ソースコード2が作成された場合であっても、どの更新内容が適用されていないかを把握することを目的とする。   Therefore, in the present embodiment, an object is to determine whether or not the dedicated source code 2 created based on different changes from the reference common source code 1 is the same. Furthermore, in the present embodiment, even if a different dedicated source code 2 is created, it is an object to grasp which update content has not been applied.

以下、図面を参照して、本開示の実施の形態の詳細について説明する。
<判定装置の構成例>
図3を用いて、判定装置10の構成例について説明する。図3は、実施の形態にかかる判定装置の構成例を示す図である。判定装置10は、実施の形態の概要における判定装置1に対応する。判定装置10は、基準となる共通ソースコード1から異なる更新内容に基づき作成された専用ソースコード2が同一であるか否かを判定する装置である。判定装置10は、例えば、コンピュータ装置であってもよいし、サーバであってもよい。
Hereinafter, with reference to the drawings, details of an embodiment of the present disclosure will be described.
<Configuration example of determination device>
A configuration example of the determination device 10 will be described with reference to FIG. FIG. 3 is a diagram illustrating a configuration example of a determination device according to the embodiment. The determination device 10 corresponds to the determination device 1 in the outline of the embodiment. The determination device 10 is a device that determines whether or not a dedicated source code 2 created based on a different update content from a reference common source code 1 is the same. The determination device 10 may be, for example, a computer device or a server.

判定装置10は、関係情報分析部11と、差分算出部12と、適用差分評価部13と、記憶部14と、出力部15とを備える。   The determination device 10 includes a relation information analysis unit 11, a difference calculation unit 12, an applied difference evaluation unit 13, a storage unit 14, and an output unit 15.

関係情報分析部11は、実施の形態の概要における分析部2に対応する。関係情報分析部11は、記憶部14のソースコード格納部141に格納された各ソースコードに対して、各ソースコードに含まれるプログラム間の関係情報を生成する。関係情報分析部11は、ソースコードに記述された自身や他のリソースへの関係を分析し、分析対象のソースコード、関係元、関係先の情報を得る。この分析は、静的解析など一般的なプログラム解析技術によって実施できる。   The relation information analysis unit 11 corresponds to the analysis unit 2 in the outline of the embodiment. The relation information analysis unit 11 generates relation information between programs included in each source code for each source code stored in the source code storage unit 141 of the storage unit 14. The relationship information analysis unit 11 analyzes the relationship to itself and other resources described in the source code, and obtains information on the source code to be analyzed, the relationship source, and the relationship destination. This analysis can be performed by a general program analysis technique such as a static analysis.

関係情報分析部11は、関係情報を生成すると、関係情報テーブルT1に生成した関係情報を登録する。関係情報テーブルT1は、記憶部14の関係情報格納部142に格納される。関係情報テーブルT1に関する説明は後述する。   When generating the relation information, the relation information analysis unit 11 registers the generated relation information in the relation information table T1. The relation information table T1 is stored in the relation information storage unit 142 of the storage unit 14. Description of the relation information table T1 will be described later.

ソースコード格納部141には、共通ソースコード1、共通ソースコード2、専用ソースコード1、共通ソースコード2から作成された専用ソースコード2_1、及び専用ソースコード1から作成された専用ソースコード2_2が格納されている。つまり、関係情報分析部11は、共通ソースコード1、共通ソースコード2、専用ソースコード1、共通ソースコード2から作成された専用ソースコード2_1、及び専用ソースコード1から作成された専用ソースコード2_2の各々に対して関係情報を生成する。   The source code storage unit 141 stores a common source code 1, a common source code 2, a dedicated source code 1, a dedicated source code 2_1 created from the common source code 2, and a dedicated source code 2_2 created from the dedicated source code 1. Is stored. That is, the relational information analysis unit 11 generates the common source code 1, the common source code 2, the dedicated source code 1, the dedicated source code 2_1 created from the common source code 2, and the dedicated source code 2_2 created from the dedicated source code 1. Generate relation information for each of the.

専用ソースコード2_1は、基準となる共通ソースコード1から第1の変更内容に基づき作成されたソースコードとも言える。専用ソースコード2_2は、基準となる共通ソースコード1から第2の変更内容に基づき作成されたソースコードとも言える。共通ソースコード2は、共通ソースコード1から専用ソースコード2_1までの第1の変更内容のうちの一部の変更内容に基づき作成されたソースコードと言える。専用ソースコード1は、共通ソースコード1から専用ソースコード2_2までの第2の変更内容のうちの一部の変更内容に基づき作成されたソースコードと言える。換言すると、共通ソースコード2及び専用ソースコード1は、中間ソースコードとも言える。   The exclusive source code 2_1 can be said to be a source code created based on the first modified content from the common source code 1 serving as a reference. The exclusive source code 2_2 can be said to be a source code created based on the second modified content from the common source code 1 serving as a reference. The common source code 2 can be said to be a source code created based on some of the first changes from the common source code 1 to the dedicated source code 2_1. The dedicated source code 1 can be said to be a source code created based on some of the second changes from the common source code 1 to the dedicated source code 2_2. In other words, the common source code 2 and the dedicated source code 1 can be said to be intermediate source codes.

なお、本実施の形態では、上記の各ソースコードは、ソースコード格納部141に予め格納されているとして説明するが、上記の各ソースコードは、図示しない入力部から入力されてもよい。   In the present embodiment, each source code described above is described as being stored in the source code storage unit 141 in advance, but each source code may be input from an input unit (not shown).

ソースコードは、例えば、ソフトウェア、バッチファイル等であってもよい。もしくは、ソースコードは、実行されるプログラムの集合を示すプログラム群が1つのファイルに設定したプログラムファイルであってもよい。   The source code may be, for example, software, a batch file, or the like. Alternatively, the source code may be a program file in which a program group indicating a set of programs to be executed is set as one file.

プログラムは、例えば、ソースコードに含まれる1又は複数の関数であってもよい。もしくは、プログラムは、例えば、判定装置1に実行させる1又は複数の処理内容であってもよいし、判定装置1に実行させる命令であってもよい。   The program may be, for example, one or more functions included in the source code. Alternatively, the program may be, for example, one or more processing contents to be executed by the determination device 1 or an instruction to be executed by the determination device 1.

関係情報は、例えば、呼び出し元のプログラムと呼び出し先のプログラムとの関係を示す情報であってもよい。もしくは、関係情報は、例えば、実行される処理順序の関係を示す情報であってもよい。   The relationship information may be, for example, information indicating a relationship between a calling program and a called program. Alternatively, the relationship information may be, for example, information indicating a relationship between the processing orders to be executed.

ここで、図4を用いて、ソースコード格納部141に格納される各ソースコードとプログラムとの関係を説明する。図4は、ソースコード格納部に格納される各ソースコードとプログラムとの関係を示す模式図である。ソースコード格納部141は、1つ以上のプログラムと、当該プログラムが属するソースコードの情報を保持する。   Here, the relationship between each source code stored in the source code storage unit 141 and the program will be described with reference to FIG. FIG. 4 is a schematic diagram showing the relationship between each source code stored in the source code storage unit and a program. The source code storage unit 141 holds one or more programs and information on source codes to which the programs belong.

図4に示す様に、ソースコード格納部141には、専用ソースコード2_1及び2_2が一致するか否かを判定するために必要な各ソースコードが格納される。具体的には、ソースコード格納部141には、共通ソースコード1 S1、共通ソースコード2 S2、専用ソースコード1 S3、専用ソースコード2_1 S4及び専用ソースコード2_2 S5がそれぞれ格納される。また各ソースコードには、当該ソースコードに含まれるプログラムがまとまって格納される。例えば、共通ソースコード1 S1にプログラムA〜プログラムEが含まれるとすると、共通ソースコード1 S1を1つのフォルダとして、当該フォルダの中にプログラムA〜Eが格納される。   As shown in FIG. 4, the source code storage unit 141 stores each source code required to determine whether the dedicated source codes 2_1 and 2_2 match. Specifically, the source code storage unit 141 stores a common source code 1 S1, a common source code 2 S2, a dedicated source code 1 S3, a dedicated source code 2_1 S4, and a dedicated source code 2_2 S5, respectively. In each source code, a program included in the source code is collectively stored. For example, if the common source code 1 S1 includes programs A to E, the common source code 1 S1 is set as one folder, and the programs A to E are stored in the folder.

次に、図5〜図8を用いて、各ソースコードに含まれるプログラムと、各プログラムの関係について説明し、図9を用いて、各ソースコードに対して生成される関係情報について説明する。図5〜図8は、各ソースコードに含まれるプログラムの関係を示す概念図である。図9は、各ソースコードの関係情報の一例を示す図である。   Next, the relationship between programs included in each source code and each program will be described with reference to FIGS. 5 to 8, and the relationship information generated for each source code will be described with reference to FIG. FIGS. 5 to 8 are conceptual diagrams showing the relationship between programs included in each source code. FIG. 9 is a diagram illustrating an example of related information of each source code.

図5は、共通ソースコード1に含まれるプログラムの関係を示している。図5に示すように共通ソースコード1には、プログラムA〜Eが含まれており、プログラムAを起点として、プログラムAと、プログラムB及びプログラムCとが関係する。   FIG. 5 shows the relationship between the programs included in the common source code 1. As shown in FIG. 5, the common source code 1 includes programs A to E, and the program A, the program B, and the program C are related with the program A as a starting point.

プログラムAと、プログラムB及びプログラムCとの関係は、例えば、プログラムAがプログラムB及びプログラムCを呼び出すプログラムとなっている場合の関係である。もしくは、プログラムAと、プログラムB及びプログラムCとの関係は、例えば、プログラムAが実行された後に、プログラムB及びプログラムCが実行される等の処理順序の関係である。また、プログラムCは、プログラムD及びプログラムEと関係する。   The relationship between the program A and the programs B and C is, for example, the relationship when the program A is a program that calls the programs B and C. Alternatively, the relationship between the program A, the program B, and the program C is, for example, a relationship in a processing order in which the program B and the program C are executed after the program A is executed. Program C is related to program D and program E.

図6は、共通ソースコード2に含まれるプログラムの関係を示している。図6に示すように共通ソースコード2には、プログラムA〜E及びプログラムHが含まれている。プログラムAを起点として、プログラムAと、プログラムB及びプログラムCとが関係する。プログラムAと、プログラムB及びプログラムCとの関係は、図5と同様である。また、プログラムBは、プログラムHと関係する。プログラムCは、プログラムD及びプログラムEと関係する。   FIG. 6 shows a relationship between programs included in the common source code 2. As shown in FIG. 6, the common source code 2 includes programs A to E and a program H. Starting from the program A, the program A, the program B, and the program C are related. The relationship between program A, program B and program C is the same as in FIG. The program B is related to the program H. Program C is related to program D and program E.

ここで、図6のうち、縦線により網掛けされたブロックは、共通ソースコード1に対して追加されたプログラムであることを示しており、斜線により網掛けされたブロックは、共通ソースコード1に対して削除されたプログラムであることを示している。つまり、共通ソースコード2は、共通ソースコード1からプログラムHが追加され、共通ソースコード1からプログラムEが削除されたソースコードである。   Here, in FIG. 6, the blocks shaded by vertical lines indicate that the program has been added to the common source code 1, and the blocks shaded by hatched lines indicate the program added to the common source code 1. Indicates that the program has been deleted. That is, the common source code 2 is a source code obtained by adding the program H from the common source code 1 and deleting the program E from the common source code 1.

図7は、専用ソースコード1に含まれるプログラムの関係を示している。図7に示すように専用ソースコード1には、プログラムA〜E及びプログラムXが含まれている。プログラムAを起点として、プログラムAと、プログラムB及びプログラムCとが関係する。また、プログラムBは、プログラムXと関係する。専用ソースコード1は、共通ソースコード1からプログラムXが追加されている。プログラムCは、プログラムD及びプログラムEと関係する。   FIG. 7 shows a relationship between programs included in the dedicated source code 1. As shown in FIG. 7, the dedicated source code 1 includes programs A to E and a program X. Starting from the program A, the program A, the program B, and the program C are related. Program B is related to program X. The dedicated source code 1 is obtained by adding a program X from the common source code 1. Program C is related to program D and program E.

図8は、専用ソースコード2_2に含まれるプログラムの関係を示している。つまり、図8は、専用ソースコード1を基準とした場合の専用ソースコード2_2のプログラムの関係図を示している。図8に示すように、専用ソースコード2_2には、プログラムA〜E、プログラムH及びプログラムXが含まれている。プログラムAを起点として、プログラムAと、プログラムB及びプログラムCとが関係する。プログラムBは、プログラムH及びプログラムXと関係する。プログラムCは、プログラムD及びプログラムEと関係する。ただし、プログラムEは、専用ソースコード1から削除されたプログラムである。なお、専用ソースコード2_1と専用ソースコード2_2とが、適切に更新内容が適用された場合は、専用ソースコード2_2に含まれるプログラムA〜D、プログラムH及びプログラムXは、専用ソースコード2_1にも含まれることになる。   FIG. 8 shows a relationship between programs included in the dedicated source code 2_2. That is, FIG. 8 shows a relationship diagram of the program of the dedicated source code 2_2 based on the dedicated source code 1. As shown in FIG. 8, the dedicated source code 2_2 includes programs A to E, a program H, and a program X. Starting from the program A, the program A, the program B, and the program C are related. Program B is related to program H and program X. Program C is related to program D and program E. However, the program E is a program deleted from the dedicated source code 1. Note that when the updated contents are appropriately applied to the dedicated source code 2_1 and the dedicated source code 2_2, the programs A to D, the program H, and the program X included in the dedicated source code 2_2 are also included in the dedicated source code 2_1. Will be included.

次に、図9を参照して、各ソースコードの関係情報について説明する。図9は、各ソースコードの関係情報が登録される関係情報テーブルT1の一例を説明する図である。関係情報テーブルT1は、各ソースコードに含まれるプログラムの関係情報が登録されるテーブルである。関係情報テーブルT1には、テーブルの左から順にソースコード名、関係元、及び関係先が設定される。   Next, with reference to FIG. 9, the related information of each source code will be described. FIG. 9 is a diagram illustrating an example of a relation information table T1 in which relation information of each source code is registered. The relation information table T1 is a table in which relation information of a program included in each source code is registered. In the relation information table T1, a source code name, a relation source, and a relation destination are set in order from the left of the table.

ソースコード名には、登録された関係情報に関連するソースコードの名称が設定される。
関係元及び関係先は、プログラム間の関係元及び関係先が設定される。例えば、共通ソースコード1に含まれる、プログラムAとプログラムBとの関係は、図5に示すように、プログラムAからプログラムBに対して矢印が向かれている。そのため、プログラムAが関係元として設定され、プログラムBが関係先として設定される。したがって、図9に示すように、ソースコード名に「共通ソースコード1」が設定され、関係元に「プログラムA」が設定され、関係先に「プログラムB」が設定される。関係情報分析部11は、各ソースコードに含まれる各プログラムに対して同様に関係元及び関係先となるプログラムを分析して、関係情報テーブルT1に関係情報を登録する。
In the source code name, the name of the source code related to the registered related information is set.
In the relation source and the relation destination, the relation source and the relation destination between the programs are set. For example, in the relationship between the program A and the program B included in the common source code 1, as shown in FIG. Therefore, the program A is set as the relation source, and the program B is set as the relation destination. Therefore, as shown in FIG. 9, “common source code 1” is set as the source code name, “program A” is set as the relation source, and “program B” is set as the relation destination. The relation information analysis unit 11 similarly analyzes the relation source and relation destination programs for each program included in each source code, and registers the relation information in the relation information table T1.

図3に戻り、差分算出部12について説明する。差分算出部12は、実施の形態の概要における算出部3に対応する。差分算出部12は、各ソースコードの関係情報に基づいて、基準となる共通ソースコード1と、共通ソースコード2を介して作成された専用ソースコード2_1との間の関係情報の差分と、当該差分となる関係情報の変更種別と、を含む差分情報を算出する。また、差分算出部12は、基準となる共通ソースコード1と、専用ソースコード1を介して作成された専用ソースコード2_2との間の関係情報の差分と、当該差分となる関係情報の変更種別と、を含む差分情報を算出する。さらに、差分算出部12は、算出した差分情報の差分を算出する。   Returning to FIG. 3, the difference calculation unit 12 will be described. The difference calculator 12 corresponds to the calculator 3 in the outline of the embodiment. The difference calculation unit 12 calculates, based on the relation information of each source code, a difference in relation information between a common source code 1 serving as a reference and a dedicated source code 2_1 created through the common source code 2, and Difference information including a change type of the related information that is a difference is calculated. Further, the difference calculation unit 12 is configured to calculate a difference in relation information between the common source code 1 serving as a reference and the dedicated source code 2_2 created through the dedicated source code 1, and a change type of the relation information serving as the difference. Is calculated. Further, the difference calculator 12 calculates a difference between the calculated difference information.

まず、図10を用いて、差分算出部12が行う処理概要を説明する。図10は、差分算出部が行う処理概要を説明する図である。図10のうち、白色のブロックは、図2の各ソースコードに対応しており、各ソースコードの関係情報を示している。   First, an outline of processing performed by the difference calculation unit 12 will be described with reference to FIG. FIG. 10 is a diagram illustrating an outline of a process performed by the difference calculation unit. In FIG. 10, white blocks correspond to the respective source codes in FIG. 2 and indicate relation information of the respective source codes.

差分算出部12は、各ソースコードの関係情報を用いて、各ソースコード間の関係情報の差分(関係情報差分)を算出する。算出された関係情報差分は、横線で網掛けされたブロックで示されている。この算出処理は、関係情報差分算出部121が行う。   The difference calculation unit 12 calculates a difference (relation information difference) of the relation information between the source codes using the relation information of each source code. The calculated relationship information difference is indicated by a block shaded by a horizontal line. This calculation process is performed by the relation information difference calculation unit 121.

次に、差分算出部12は、横線で網掛けされたブロックで示した関係情報差分を用いて、共通アップデート1関係情報差分と、カスタマイズ1関係情報差分との間の変更差分を算出する。この算出処理は、変更差分算出部122が行う。なお、以降の説明では、この変更差分を既存変更差分として記載する。   Next, the difference calculating unit 12 calculates a change difference between the common update 1 relation information difference and the customization 1 relation information difference by using the relation information difference indicated by the blocks shaded by horizontal lines. This calculation process is performed by the change difference calculation unit 122. In the following description, this change difference will be described as an existing change difference.

また、差分算出部12は、横線で網掛けされたブロックで示した関係情報差分を用いて、カスタマイズ2関係情報差分と、専用アップデート1関係情報差分と、の間の変更差分を算出する。この算出処理は、変更差分算出部122が行う。なお、以降の説明では、この変更差分を新規変更差分として記載する。   Further, the difference calculation unit 12 calculates a change difference between the customization 2 relation information difference and the dedicated update 1 relation information difference by using the relation information difference indicated by blocks shaded by horizontal lines. This calculation process is performed by the change difference calculation unit 122. In the following description, this change difference will be described as a new change difference.

つまり、差分算出部12は、各ソースコードの関係情報に基づいて、基準ソースコードである共通ソースコード1と各中間ソースコードである(共通ソースコード2及び専用ソースコード1)との差分情報を算出する。差分算出部12は、各中間ソースコード(共通ソースコード2及び専用ソースコード1)と各ソースコード(専用ソースコード2_1及び専用ソースコード2_2)との差分情報を算出する。   That is, the difference calculator 12 calculates difference information between the common source code 1 as the reference source code and each of the intermediate source codes (the common source code 2 and the dedicated source code 1) based on the relation information of each source code. calculate. The difference calculation unit 12 calculates difference information between each intermediate source code (common source code 2 and dedicated source code 1) and each source code (dedicated source code 2_1 and dedicated source code 2_2).

さらに、差分算出部12は、既存変更差分と、新規変更差分との差分を算出する。この差分を適用差分と称して記載することがある。   Further, the difference calculator 12 calculates a difference between the existing change difference and the new change difference. This difference may be described as an applied difference.

図3に戻り差分算出部12の詳細を説明する。
差分算出部12は、関係情報差分算出部121と、変更差分算出部122と、適用差分算出部123とを備える。
Returning to FIG. 3, the details of the difference calculator 12 will be described.
The difference calculator 12 includes a relation information difference calculator 121, a change difference calculator 122, and an applied difference calculator 123.

関係情報差分算出部121は、関係情報分析部11が生成した各ソースコードの関係情報に基づいて、共通ソースコード1と、共通ソースコード2との間の関係情報の差分情報を算出する。また、関係情報差分算出部121は、関係情報分析部11が生成した各ソースコードの関係情報に基づいて、共通ソースコード2と専用ソースコード2_1との間の関係情報の差分情報を算出する。   The relationship information difference calculation unit 121 calculates difference information of the relationship information between the common source code 1 and the common source code 2 based on the relationship information of each source code generated by the relationship information analysis unit 11. Further, the relationship information difference calculation unit 121 calculates difference information of relationship information between the common source code 2 and the dedicated source code 2_1 based on the relationship information of each source code generated by the relationship information analysis unit 11.

また、関係情報差分算出部121は、関係情報分析部11が生成した各ソースコードの関係情報に基づいて、共通ソースコード1と、専用ソースコード1との間の関係情報の差分情報を算出する。また、関係情報差分算出部121は、関係情報分析部11が生成した各ソースコードの関係情報に基づいて、専用ソースコード1と専用ソースコード2_2との間の関係情報の差分情報を算出する。   Further, the relationship information difference calculation unit 121 calculates difference information of the relationship information between the common source code 1 and the dedicated source code 1 based on the relationship information of each source code generated by the relationship information analysis unit 11. . Further, the relation information difference calculation unit 121 calculates difference information of relation information between the dedicated source code 1 and the dedicated source code 2_2 based on the relation information of each source code generated by the relation information analysis unit 11.

関係情報差分算出部121は、差分を算出する対象の2つのソースコードの関係情報のうち、いずれかを基準として、当該2つのソースコードの関係情報(関係元及び関係先)がすべて一致する関係情報を除外する。関係情報差分算出部121は、差分を算出する対象の2つのソースコードの関係情報のうち、いずれかを基準として、2つのソースコードの関係情報の差分を算出する。関係情報差分算出部121は、当該差分となる関係情報が基準となるソースコードに含まれるか否かに基づいて、差分となる関係情報に当該関係情報の変更内容(変更種別)を示す変更フラグを決定する。   The relationship information difference calculation unit 121 determines, based on one of the relationship information of the two source codes for which the difference is to be calculated, that the relationship information (the relationship source and the relationship destination) of the two source codes all match. Exclude information. The relationship information difference calculation unit 121 calculates the difference between the relationship information of two source codes based on one of the relationship information of the two source codes for which the difference is to be calculated. The relation information difference calculation unit 121 includes a change flag indicating the change content (change type) of the relation information in the relation information serving as the difference based on whether or not the relation information serving as the difference is included in the reference source code. To determine.

具体的には、関係情報差分算出部121は、差分を算出する対象の2つのソースコードのうち、基準とするソースコードにしか存在しない関係情報に、当該関係情報の変更内容を示す「削除」の変更フラグを付与する。また、関係情報差分算出部121は、差分を算出する対象の2つのソースコードのうち、基準では無い他方のソースコードにしか存在しない関係情報に、当該関係情報の変更内容を示す「追加」を付与する。なお、本実施の形態では、共通ソースコード2及び専用ソースコード2のいずれかを基準とする。   Specifically, the relation information difference calculation unit 121 adds “delete” indicating the change content of the relation information to the relation information that exists only in the reference source code among the two source codes for which the difference is to be calculated. Is added. In addition, the relation information difference calculation unit 121 adds “addition” indicating the change content of the relation information to the relation information that exists only in the other source code that is not the reference among the two source codes for which the difference is calculated. Give. In this embodiment, one of the common source code 2 and the dedicated source code 2 is used as a reference.

そして、関係情報差分算出部121は、関係情報差分の名称と変更フラグとを関係情報差分テーブルT2に登録する。関係情報差分テーブルT2は、関係情報差分格納部143に格納される。   Then, the relation information difference calculation unit 121 registers the name of the relation information difference and the change flag in the relation information difference table T2. The relation information difference table T2 is stored in the relation information difference storage unit 143.

図9、図10及び図11を用いて、関係情報差分テーブルT2及び関係情報差分算出部121の関係情報差分処理について説明する。図11は、関係情報差分テーブルの一例を示す図である。   The relation information difference table T2 and the relation information difference processing of the relation information difference calculation unit 121 will be described with reference to FIGS. FIG. 11 is a diagram illustrating an example of the relation information difference table.

まず、図11を用いて、関係情報差分テーブルT2について説明する。関係情報差分テーブルT2は、関係情報差分算出部121が算出した関係情報の差分が登録されるテーブルである。関係情報差分情報テーブルT2には、関係情報差分、関係元、関係先、及び変更フラグが設定される。   First, the relationship information difference table T2 will be described with reference to FIG. The relation information difference table T2 is a table in which the difference of the relation information calculated by the relation information difference calculation unit 121 is registered. The relationship information difference, the relationship source, the relationship destination, and the change flag are set in the relationship information difference information table T2.

関係情報差分には、どの関係情報の差分であるかを示す情報が設定される。関係情報差分には、図10の縦線の網掛けのブロックが示す各関係情報差分のいずれかが設定される。例えば、共通ソースコード1の関係情報と、共通ソースコード2の関係情報との差分の場合、関係情報差分には、共通アップデート1関係情報差分が設定される。   In the relation information difference, information indicating which relation information is different is set. As the relation information difference, one of the relation information differences indicated by the hatched blocks of the vertical lines in FIG. 10 is set. For example, in the case of a difference between the relation information of the common source code 1 and the relation information of the common source code 2, the relation information difference is set to the common update 1 relation information difference.

関係元及び関係先には、関係情報差分として算出された関係情報の関係元と関係先とが設定される。
変更フラグには、関係情報差分として算出された関係情報の変更種別が設定され、具体的には、「追加」又は「削除」が設定される。上記したように、差分を算出する対象の2つのソースコードのうち、基準とするソースコードにしか存在しない関係情報には「削除」が設定される。一方、基準では無い他方のソースコードにしか存在しない関係情報には「追加」が設定される。
In the relationship source and the relationship destination, the relationship source and the relationship destination of the relationship information calculated as the relationship information difference are set.
In the change flag, a change type of the relation information calculated as the relation information difference is set, and specifically, “add” or “delete” is set. As described above, “delete” is set to the relationship information that exists only in the reference source code among the two source codes for which the difference is to be calculated. On the other hand, “added” is set to relation information that exists only in the other source code that is not a reference.

なお、共通アップデート1関係情報差分と、カスタマイズ1関係情報差分とを算出する場合の基準は共通ソースコード1であるとする。また、カスタマイズ2関係情報差分と、専用アップデート1関係情報差分とを算出する場合の基準は、それぞれ共通ソースコード2及び専用ソースコード1であるとする。   The standard for calculating the common update 1 relation information difference and the customization 1 relation information difference is assumed to be the common source code 1. It is also assumed that the reference for calculating the customization 2 relation information difference and the dedicated update 1 relation information difference is the common source code 2 and the dedicated source code 1, respectively.

次に、図9を用いて、関係情報差分算出部121の関係情報差分処理について説明する。図9に示すように、ソースコード名に「共通ソースコード1」が設定されている行は、共通ソースコード1の関係情報が設定された行であることを示している。また、ソースコード名に「共通ソースコード2」が設定されている行は、共通ソースコード2の関係情報が設定された行であることを示している。   Next, the relationship information difference processing of the relationship information difference calculation unit 121 will be described with reference to FIG. As shown in FIG. 9, a line in which “common source code 1” is set as the source code name indicates a line in which relation information of common source code 1 is set. A line in which the source code name is set to “common source code 2” indicates a line in which the related information of the common source code 2 is set.

関係情報差分算出部121は、共通ソースコード1と共通ソースコード2との関係情報の差分を算出する場合、共通ソースコード1を基準として関係情報差分を算出する。まず、関係情報差分算出部121は、関係情報(関係元及び関係先)がすべて一致する関係情報を除外する。残る情報は、ソースコード名が「共通ソースコード1」で関係元が「プログラムC」で関係先が「プログラムE」である行、及びソースコード名が「共通ソースコード2」で関係元が「プログラムB」で関係先が「プログラムH」である行である。   When calculating the difference between the relationship information between the common source code 1 and the common source code 2, the relationship information difference calculation unit 121 calculates the relationship information difference with reference to the common source code 1. First, the relation information difference calculation unit 121 excludes relation information in which the relation information (the relation source and the relation destination) all match. The remaining information includes a line whose source code name is “common source code 1”, whose relation source is “program C” and whose relation destination is “program E”, and whose source code name is “common source code 2” and whose relation source is “ This is a row in which the relation destination is “program H” in “program B”.

関係元が「プログラムC」で関係先が「プログラムE」であるプログラム間の関係は、共通ソースコード2で削除された情報であるので、関係情報差分算出部121は、変更フラグとして「削除」を付与する。関係情報差分算出部121は、関係情報差分テーブルT2に当該情報を、関係情報差分として登録する。   Since the relationship between the programs whose relation source is “program C” and whose relation destination is “program E” is information deleted by the common source code 2, the relation information difference calculation unit 121 sets the change flag to “delete”. Is given. The relation information difference calculation unit 121 registers the information as a relation information difference in the relation information difference table T2.

また、関係元が「プログラムB」で関係先が「プログラムH」であるプログラム間の関係は、共通ソースコード2で追加された情報であるので、関係情報差分算出部121は、変更フラグとして「追加」を付与する。関係情報差分算出部121は、関係情報差分テーブルT2に当該情報を、関係情報差分として登録する。   Further, since the relationship between the programs whose relation source is “program B” and whose relation destination is “program H” is information added in the common source code 2, the relation information difference calculation unit 121 sets “ Add ”. The relation information difference calculation unit 121 registers the information as a relation information difference in the relation information difference table T2.

関係情報差分算出部121は、各関係情報に対して、同様の処理を行い、図10の縦線の網掛けがされた関係情報差分を算出し、関係情報差分テーブルT2に登録する。   The relationship information difference calculation unit 121 performs the same process on each piece of relationship information, calculates the relationship information difference shaded with a vertical line in FIG. 10, and registers the difference in the relationship information difference table T2.

図3に戻り、変更差分算出部122について説明する。変更差分算出部122は、関係情報差分算出部121が算出した関係情報差分の差分を算出する。変更差分算出部122は、関係情報差分テーブルT2において、関係元、関係先及び変更フラグが全て一致する関係情報を除外する。変更差分算出部122は、関係情報差分テーブルT2において、関係情報差分として残った情報のうち、カスタマイズ1又はカスタマイズ2の関係情報差分として残った情報の変更フラグを反転させて、変更差分の名称と共に変更差分テーブルT3に登録する。なお、変更フラグを反転させるとは、変更フラグが「追加」である場合、「削除」に変更し、変更フラグが「削除」である場合、「追加」に変更することを言う。変更差分テーブルT3は、変更差分格納部144に格納される。   Returning to FIG. 3, the change difference calculator 122 will be described. The change difference calculator 122 calculates a difference between the relationship information differences calculated by the relationship information difference calculator 121. The change difference calculation unit 122 excludes the relationship information in which the relationship source, the relationship destination, and the change flag all match in the relationship information difference table T2. The change difference calculation unit 122 inverts the change flag of the information remaining as the relation information difference of the customization 1 or the customization 2 among the information remaining as the relation information difference in the relation information difference table T2, and changes the information along with the name of the change difference. Register it in the change difference table T3. Inverting the change flag means that the change flag is changed to “delete” when the change flag is “add”, and is changed to “add” when the change flag is “delete”. The change difference table T3 is stored in the change difference storage unit 144.

図10、図11及び図12を用いて、変更差分テーブルT3について説明する。図12は、変更差分テーブルの一例を説明する図である。変更差分テーブルT3は、図10において斜線で網掛けされた既存変更差分及び新規変更差分が設定されるテーブルである。   The change difference table T3 will be described with reference to FIGS. 10, 11, and 12. FIG. 12 is a diagram illustrating an example of the change difference table. The change difference table T3 is a table in which an existing change difference and a new change difference that are shaded in FIG. 10 are set.

図12に示すように、変更差分テーブルT3には、変更情報差分、関係元、関係先、及び変更フラグが設定される。
変更情報差分には、どの変更情報の差分であるかを示す情報が設定される。変更情報差分には、図10の斜線の網掛けのブロックが示す各変更情報差分のいずれかが設定される。例えば、カスタマイズ1関係情報差分と、共通アップデート1関係情報差分との差分の場合、変更情報差分には、既存変更差分が設定される。
As shown in FIG. 12, a change information difference, a relation source, a relation destination, and a change flag are set in the change difference table T3.
In the change information difference, information indicating which change information is the difference is set. Any of the change information differences indicated by the hatched blocks in FIG. 10 is set as the change information difference. For example, in the case of a difference between the customization 1 relation information difference and the common update 1 relation information difference, the existing change difference is set as the change information difference.

関係元及び関係先には、比較する2つの変更情報の差分として算出された関係情報の関係元と関係先とが設定される。
変更フラグには、変更情報の差分として算出された関係情報の変更種別が設定され、具体的には、「追加」又は「削除」が設定される。上記したように、差分を算出する対象の2つの関係情報差分のうち、カスタマイズ1関係情報差分又はカスタマイズ2関係情報差分に含まれる関係情報の変更フラグを反転させる。これは、例えば、共通アップデート1関係情報差分と、カスタマイズ1関係情報差分とを比較する際に、共通アップデート1関係情報差分からカスタマイズ1関係情報差分を引き算するためである。換言すると、共通アップデート1関係情報差分を基準として、カスタマイズ1関係情報差分にどのような差分が含まれるかを判定するために行われる。
In the relationship source and the relationship destination, the relationship source and the relationship destination of the relationship information calculated as the difference between the two pieces of change information to be compared are set.
In the change flag, a change type of the related information calculated as a difference of the change information is set, and specifically, “add” or “delete” is set. As described above, the change flag of the relation information included in the customization 1 relation information difference or the customization 2 relation information difference among the two relation information differences for which the difference is calculated is inverted. This is because, for example, when comparing the common update 1 relation information difference and the customization 1 relation information difference, the customization 1 relation information difference is subtracted from the common update 1 relation information difference. In other words, it is performed to determine what difference is included in the customization 1 relation information difference based on the common update 1 relation information difference.

図11を用いて具体例を説明すると、共通アップデート1関係情報差分と、カスタマイズ1関係情報差分との差分情報を算出すると、変更差分算出部122は、関係元、関係先及び変更フラグが全て一致する関係情報を除外する。図11では、この条件に該当する関係情報は存在しないため、変更差分算出部122は、特に何もしない。   A specific example will be described with reference to FIG. 11. When calculating the difference information between the common update 1 relation information difference and the customization 1 relation information difference, the change difference calculation unit 122 determines that the relation source, the relation destination, and the change flag all match. Exclude related information. In FIG. 11, since there is no related information corresponding to this condition, the change difference calculation unit 122 does nothing.

次に、変更差分算出部122は、カスタマイズ1関係情報差分の関係情報の変更フラグを反転させる。カスタマイズ1関係情報差分の変更フラグは「追加」であるので、変更差分算出部122は、変更フラグを「削除」にして、共通アップデート1関係情報差分からカスタマイズ1関係情報差分を引き算する。そして、変更差分算出部122は、算出された結果を、変更差分テーブルT3に、既存変更差分として設定する。同様に、変更差分算出部122は、新規変更差分を算出して、変更差分テーブルT3に登録する。   Next, the change difference calculation unit 122 inverts the change flag of the relationship information of the customization 1 relationship information difference. Since the change flag of the customization 1 relation information difference is “addition”, the change difference calculation unit 122 sets the change flag to “delete” and subtracts the customization 1 relation information difference from the common update 1 relation information difference. Then, the change difference calculation unit 122 sets the calculated result in the change difference table T3 as an existing change difference. Similarly, the change difference calculation unit 122 calculates a new change difference and registers it in the change difference table T3.

図3に戻り、適用差分算出部123について説明する。適用差分算出部123は、既存変更差分と、新規変更差分との差分を算出する。適用差分算出部123は、既存変更差分と、新規変更差分とに含まれる関係元、関係先及び変更フラグが全て一致する関係情報を除外する。また、適用差分算出部123は、既存変更差分に残った情報と、新規変更差分に残った情報の変更フラグを反転させた情報を併せて、適用差分格納部145に格納する。   Returning to FIG. 3, the applied difference calculation unit 123 will be described. The application difference calculation unit 123 calculates a difference between the existing change difference and the new change difference. The applied difference calculation unit 123 excludes relation information in which the relation source, the relation destination, and the change flag included in the existing change difference and the new change difference are all the same. Further, the applied difference calculation unit 123 stores the information remaining in the existing change difference and the information obtained by inverting the change flag of the information remaining in the new change difference in the applied difference storage unit 145.

次に、適用差分評価部13について説明する。適用差分評価部13は、実施の形態の概要における評価部4に対応する。適用差分評価部13は、適用差分算出部123が算出した適用差分に基づいて、専用ソースコード2_1と専用ソースコード2_2とが同一であるか否かを判定する。また、適用差分評価部13は、専用ソースコード2_1と専用ソースコード2_2とが同一でない場合、適用差分に基づいて、専用ソースコード2_1と専用ソースコード2_2との間の差分情報を決定する。   Next, the applied difference evaluation unit 13 will be described. The applied difference evaluation unit 13 corresponds to the evaluation unit 4 in the outline of the embodiment. The applied difference evaluation unit 13 determines whether the dedicated source code 2_1 and the dedicated source code 2_2 are the same based on the applied difference calculated by the applied difference calculation unit 123. When the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, the applied difference evaluation unit 13 determines difference information between the dedicated source code 2_1 and the dedicated source code 2_2 based on the applied difference.

適用差分評価部13は、適用差分の状態から専用ソースコード2_1と専用ソースコード2_2との状態を判定し出力部15に出力する。適用差分評価部13は、適用差分が存在していなければ、4つの関係情報の状態に齟齬がなく、専用ソースコード2_1と専用ソースコード2_2との関係状態は正しい状態にあると判定する。   The applied difference evaluation unit 13 determines the state of the dedicated source code 2_1 and the state of the dedicated source code 2_2 from the state of the applied difference, and outputs the state to the output unit 15. If there is no applied difference, the applied difference evaluator 13 determines that there is no inconsistency in the states of the four pieces of related information, and that the related state between the dedicated source code 2_1 and the dedicated source code 2_2 is correct.

適用差分評価部13は、適用差分が存在していれば、4つの関係情報の状態に齟齬があり、専用ソースコード2_1と専用ソースコード2_2との関係状態が誤った状態にあると判定する。適用差分評価部13は、専用ソースコード2_1及び専用ソースコード2_2が同一であるか否かの判定を出力部15に出力すると共に、同一では無い場合は適用差分も出力部15に出力する。   If there is an applied difference, the applied difference evaluation unit 13 determines that there is an inconsistency in the state of the four pieces of related information, and that the related state between the dedicated source code 2_1 and the dedicated source code 2_2 is incorrect. The applied difference evaluation unit 13 outputs to the output unit 15 a determination as to whether the dedicated source code 2_1 and the dedicated source code 2_2 are the same, and outputs the applied difference to the output unit 15 if they are not the same.

ここで、図12〜図14を用いて、適用差分算出部123及び適用差分評価部13が行う処理の具体例を説明する。図13及び図14は、適用差分算出部及び適用差分評価部の処理を説明する図である。   Here, a specific example of the processing performed by the applied difference calculating unit 123 and the applied difference evaluating unit 13 will be described with reference to FIGS. FIG. 13 and FIG. 14 are diagrams illustrating the processing of the applied difference calculation unit and the applied difference evaluation unit.

図12及び図13は、変更差分算出部122により算出された既存変更差分と新規変更差分とが登録された変更差分テーブルT3を示している。図12は、変更差分テーブルT3において、既存変更差分と新規変更差分とが一致している場合を示している。図13は、変更差分テーブルT3において、既存変更差分と新規変更差分とが一致していない場合を示している。   FIGS. 12 and 13 show a change difference table T3 in which the existing change difference and the new change difference calculated by the change difference calculation unit 122 are registered. FIG. 12 shows a case where the existing change difference and the new change difference match in the change difference table T3. FIG. 13 shows a case where the existing change difference and the new change difference do not match in the change difference table T3.

変更差分テーブルT3が図12のようになっている場合、適用差分算出部123は、既存変更差分と新規変更差分とが一致していることから、適用差分として、何も算出しない。適用差分評価部13は、適用差分が何も算出されていないため、専用ソースコード2_1と専用ソースコード2_2とが同一であると判定する。そして、適用差分評価部13は、専用ソースコード2_1と専用ソースコード2_2とが同一であることを出力部15に出力する。   When the change difference table T3 is as shown in FIG. 12, the applied difference calculation unit 123 does not calculate anything as the applied difference because the existing change difference and the new change difference match. Since no applied difference has been calculated, the applied difference evaluation unit 13 determines that the dedicated source code 2_1 and the dedicated source code 2_2 are the same. Then, the applied difference evaluation unit 13 outputs to the output unit 15 that the dedicated source code 2_1 and the dedicated source code 2_2 are the same.

例えば、専用アップデート1関係情報において、一部の情報が欠落しており、変更差分テーブルT3が図13のようになっているとすると、適用差分算出部123は、既存変更差分と新規変更差分との差分を算出する。適用差分算出部123は、関係元が「プログラムB」、関係先が「プログラムH」、変更フラグが「追加」の行の情報を適用差分として算出する。図14は、適用差分算出部123が算出した適用差分を示している。   For example, assuming that some information is missing in the dedicated update 1 relation information and the change difference table T3 is as shown in FIG. 13, the applied difference calculation unit 123 determines the existing change difference and the new change difference. Is calculated. The application difference calculation unit 123 calculates information of a line where the relation source is “program B”, the relation destination is “program H”, and the change flag is “add” as the application difference. FIG. 14 illustrates the application difference calculated by the application difference calculation unit 123.

適用差分となる情報が算出されると、適用差分評価部13は、適用差分が算出されているため、専用ソースコード2_1と専用ソースコード2_2とが同一ではないと判定する。そして、適用差分評価部13は、専用ソースコード2_1と専用ソースコード2_2とが同一ではないことと、算出された適用差分とを出力部15に出力する。   When the information that is the application difference is calculated, the application difference evaluation unit 13 determines that the dedicated source code 2_1 and the dedicated source code 2_2 are not the same because the application difference has been calculated. Then, the applied difference evaluation unit 13 outputs to the output unit 15 that the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, and the calculated applied difference.

図3に戻り、説明を続ける。記憶部14は、各種情報を記憶する。記憶部14は、ソースコード格納部141、関係情報格納部142、関係情報差分格納部143、変更差分格納部144、及び適用差分格納部145を備える。   Returning to FIG. 3, the description will be continued. The storage unit 14 stores various information. The storage unit 14 includes a source code storage unit 141, a relation information storage unit 142, a relation information difference storage unit 143, a changed difference storage unit 144, and an applied difference storage unit 145.

ソースコード格納部141は、共通ソースコード1、共通ソースコード2、専用ソースコード1、共通ソースコード2から作成された専用ソースコード2_1、及び専用ソースコード1から作成された専用ソースコード2_2を格納する。また、ソースコード格納部141は、各ソースコードに含まれるプログラムも格納する。   The source code storage unit 141 stores a common source code 1, a common source code 2, a dedicated source code 1, a dedicated source code 2_1 created from the common source code 2, and a dedicated source code 2_2 created from the dedicated source code 1. I do. The source code storage section 141 also stores programs included in each source code.

関係情報格納部142は、関係情報分析部11が生成した各ソースコードの関係情報が設定された関係情報テーブルT1を格納する。
関係情報差分格納部143は、関係情報差分算出部121が算出した関係情報差分が設定された関係情報差分テーブルT2を格納する。
The relation information storage unit 142 stores a relation information table T1 in which relation information of each source code generated by the relation information analysis unit 11 is set.
The relation information difference storage unit 143 stores the relation information difference table T2 in which the relation information difference calculated by the relation information difference calculation unit 121 is set.

変更差分格納部144は、変更差分算出部122が算出した変更差分が設定された変更差分テーブルT3を格納する。
適用差分格納部145は、適用差分算出部123が算出した適用差分を格納する。
The change difference storage unit 144 stores a change difference table T3 in which the change differences calculated by the change difference calculation unit 122 are set.
The applied difference storage unit 145 stores the applied difference calculated by the applied difference calculation unit 123.

出力部15は、適用差分評価部13が出力した情報をユーザに対して表示する。具体的には、出力部15は、専用ソースコード2_1と専用ソースコード2_2とが同一であるか否かの判定結果を出力する。また、出力部15は、専用ソースコード2_1と専用ソースコード2_2とが同一では無い場合、適用差分評価部13が出力した適用差分をさらに出力する。   The output unit 15 displays the information output by the applied difference evaluation unit 13 to the user. Specifically, the output unit 15 outputs a determination result as to whether the dedicated source code 2_1 and the dedicated source code 2_2 are the same. When the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, the output unit 15 further outputs the applied difference output by the applied difference evaluation unit 13.

<判定装置の動作例>
続いて、図15〜図20を用いて、実施の形態にかかる判定装置10の動作例について説明する。図15〜図20は、実施の形態にかかる判定装置の動作例を説明する図である。
<Operation example of determination device>
Subsequently, an operation example of the determination device 10 according to the embodiment will be described with reference to FIGS. 15 to 20 are diagrams illustrating an operation example of the determination device according to the embodiment.

まず、図15を用いて、判定装置10の全体動作について説明する。
関係情報分析部11は、ソースコード格納部141に格納されたソースコードの関係情報を生成する(ステップS1)。
First, the overall operation of the determination device 10 will be described with reference to FIG.
The relation information analysis unit 11 generates relation information of the source code stored in the source code storage unit 141 (Step S1).

次に、関係情報差分算出部121は、関係情報格納部142に格納されている関係情報から、特定のペアの関係情報の差分を算出する(ステップS2)。
次に、変更差分算出部122は、関係情報差分格納部143に格納されている関係情報差分から、特定のペアの関係情報差分の差分を算出する(ステップS3)。
Next, the relationship information difference calculation unit 121 calculates a difference between the relationship information of a specific pair from the relationship information stored in the relationship information storage unit 142 (Step S2).
Next, the change difference calculation unit 122 calculates a difference between the relationship information differences of a specific pair from the relationship information differences stored in the relationship information difference storage unit 143 (Step S3).

次に、適用差分算出部123は、変更差分格納部144に格納されている変更差分の差分を算出する(ステップS4)。
最後に、適用差分評価部13は、適用差分格納部145に格納されている適用差分をもとに、専用ソースコード2_1及び専用ソースコード2_2に適用されているアップデート(更新内容)の適用状態を評価する(ステップS5)。
Next, the applied difference calculation unit 123 calculates a difference between the change differences stored in the change difference storage unit 144 (Step S4).
Finally, based on the applied difference stored in the applied difference storage unit 145, the applied difference evaluation unit 13 determines the application state of the update (update content) applied to the dedicated source code 2_1 and the dedicated source code 2_2. Evaluation is performed (step S5).

次に、図16について説明する。図16は、図15のステップS1で実行される動作の詳細を説明する図である。   Next, FIG. 16 will be described. FIG. 16 is a diagram illustrating details of the operation performed in step S1 of FIG.

関係情報分析部11は、ソースコード格納部141に格納されているソースコードから1つを選択し、そのソースコードの関係情報を分析して、関係情報を生成する(ステップS11)。なお、関係情報分析部11は、ソースコード格納部141に格納されている全ソースコードに対してステップS11の処理を実行する。   The relation information analysis unit 11 selects one of the source codes stored in the source code storage unit 141, analyzes the relation information of the source code, and generates the relation information (step S11). Note that the relation information analysis unit 11 performs the process of step S11 on all the source codes stored in the source code storage unit 141.

例えば、ソースコードに記載されたプログラムAの内容に、他のプログラムBを呼び出す命令が記載されていた場合、プログラムAからプログラムBへの関係情報を作成する。他のソースコードについても同様に関係情報を分析する。   For example, when an instruction to call another program B is described in the content of the program A described in the source code, the related information from the program A to the program B is created. The related information is similarly analyzed for other source codes.

関係情報分析部11は、全てのソースコードに対してステップS11の処理を実行すると、生成した関係情報(分析した結果)を関係情報テーブルT1に登録する(ステップS12)。   When the processing of step S11 is performed on all the source codes, the relation information analysis unit 11 registers the generated relation information (analysis result) in the relation information table T1 (step S12).

次に、図17について説明する。図17は、図15のステップS2で実行される動作の詳細を説明する図である。   Next, FIG. 17 will be described. FIG. 17 is a diagram illustrating details of the operation performed in step S2 of FIG.

関係情報差分算出部121は、関係情報テーブルT1から共通ソースコード1の関係情報と共通ソースコード2の関係情報とを取得し、共通ソースコード1を基準にして、共通アップデート1の関係情報差分を算出する(ステップS21)。   The relation information difference calculation unit 121 acquires the relation information of the common source code 1 and the relation information of the common source code 2 from the relation information table T1, and calculates the relation information difference of the common update 1 based on the common source code 1. It is calculated (step S21).

関係情報差分算出部121は、関係情報テーブルT1から専用ソースコード1の関係情報と専用ソースコード2_2の関係情報とを取得し、専用ソースコード1を基準にして、専用アップデート1の関係情報差分を算出する(ステップS22)。   The relation information difference calculation unit 121 acquires the relation information of the special source code 1 and the relation information of the special source code 2_2 from the relation information table T1, and calculates the relation information difference of the special update 1 based on the special source code 1. It is calculated (step S22).

関係情報差分算出部121は、関係情報テーブルT1から共通ソースコード1の関係情報と専用ソースコード1の関係情報とを取得し、共通ソースコード1を基準にして、カスタマイズ1の関係情報差分を算出する(ステップS23)。   The relation information difference calculation unit 121 acquires the relation information of the common source code 1 and the relation information of the dedicated source code 1 from the relation information table T1, and calculates the relation information difference of the customization 1 based on the common source code 1. (Step S23).

関係情報差分算出部121は、関係情報テーブルT1から共通ソースコード2の関係情報と専用ソースコード2_1の関係情報とを取得し、共通ソースコード2を基準にして、カスタマイズ2の関係情報差分を算出する(ステップS24)。   The relation information difference calculation unit 121 acquires the relation information of the common source code 2 and the relation information of the dedicated source code 2_1 from the relation information table T1, and calculates the relation information difference of the customization 2 based on the common source code 2. (Step S24).

関係情報差分算出部121は、算出した各関係情報差分を、関係情報差分テーブルT2に登録する(ステップS25)。   The relation information difference calculation unit 121 registers the calculated relation information differences in the relation information difference table T2 (Step S25).

次に、図18について説明する。図18は、図15のステップS3で実行される動作の詳細を説明する図である。   Next, FIG. 18 will be described. FIG. 18 is a diagram illustrating details of the operation performed in step S3 of FIG.

変更差分算出部122は、関係情報差分テーブルT2から共通アップデート1関係情報差分とカスタマイズ1関係情報差分とを取得し、共通アップデート1関係情報差分とカスタマイズ1関係情報差分との差分を既存変更差分として算出する(ステップS31)。   The change difference calculation unit 122 acquires the common update 1 relation information difference and the customization 1 relation information difference from the relation information difference table T2, and uses the difference between the common update 1 relation information difference and the customization 1 relation information difference as an existing change difference. It is calculated (step S31).

具体的には、変更差分算出部122は、共通アップデート1関係情報差分とカスタマイズ1関係情報差分とにおいて、関係元、関係先及び変更フラグが全て一致する情報を除外する。次に、変更差分算出部122は、残った情報のうち、カスタマイズ1関係情報差分の変更フラグを反転させる。そして、変更差分算出部122は、共通アップデート1関係情報の関係情報差分と、カスタマイズ1関係情報差分とを統合して既存変更差分を算出する。   Specifically, the change difference calculation unit 122 excludes information in which the relation source, the relation destination, and the change flag all match in the common update 1 relation information difference and the customization 1 relation information difference. Next, the change difference calculation unit 122 inverts the change flag of the customization 1 related information difference among the remaining information. Then, the change difference calculation unit 122 calculates the existing change difference by integrating the relation information difference of the common update 1 relation information and the customization 1 relation information difference.

変更差分算出部122は、関係情報差分テーブルT2から専用アップデート1関係情報差分とカスタマイズ2関係情報差分とを取得し、専用アップデート1関係情報差分とカスタマイズ2関係情報差分との差分を新規変更差分として算出する(ステップS32)。   The change difference calculation unit 122 acquires the dedicated update 1 related information difference and the customized 2 related information difference from the related information difference table T2, and sets the difference between the dedicated update 1 related information difference and the customized 2 related information difference as a new changed difference. It is calculated (step S32).

具体的には、変更差分算出部122は、専用アップデート1関係情報差分とカスタマイズ2関係情報差分とにおいて、関係元、関係先及び変更フラグが全て一致する情報を除外する。次に、変更差分算出部122は、残った情報のうち、カスタマイズ2関係情報差分の変更フラグを反転させる。そして、変更差分算出部122は、専用アップデート1関係情報の関係情報差分と、カスタマイズ2関係情報差分とを統合して既存変更差分を算出する。   Specifically, the change difference calculation unit 122 excludes information in which the relation source, the relation destination, and the change flag all match in the dedicated update 1 relation information difference and the customization 2 relation information difference. Next, the change difference calculation unit 122 inverts the change flag of the customization 2 relation information difference among the remaining information. Then, the change difference calculation unit 122 integrates the relationship information difference of the dedicated update 1 relationship information and the customization 2 relationship information difference to calculate an existing change difference.

変更差分算出部122は、ステップS31及びS32において算出した既存変更差分と新規変更差分とを変更差分テーブルT3に登録する(ステップS33)。   The change difference calculation unit 122 registers the existing change difference and the new change difference calculated in steps S31 and S32 in the change difference table T3 (step S33).

次に、図19について説明する。図19は、図15のステップS4で実行される動作の詳細を説明する図である。   Next, FIG. 19 will be described. FIG. 19 is a diagram illustrating details of the operation performed in step S4 of FIG.

適用差分算出部123は、変更差分テーブルT3から既存変更差分と新規変更差分とを取得し、既存変更差分と新規変更差分との差分を適用差分として算出する(ステップS41)。   The application difference calculation unit 123 acquires the existing change difference and the new change difference from the change difference table T3, and calculates the difference between the existing change difference and the new change difference as an application difference (Step S41).

具体的には、適用差分算出部123は、既存変更差分として登録されている情報、及び新規変更差分として登録されている情報を比較し、関係元、関係先及び変更フラグが全て一致する情報を除外する。適用差分算出部123は、残った情報を適用差分として算出する。
適用差分算出部123は、算出した適用差分を適用差分格納部145に格納する(ステップS42)。
Specifically, the applied difference calculating unit 123 compares the information registered as the existing change difference and the information registered as the new change difference, and determines the information in which the relationship source, the relationship destination, and the change flag all match. exclude. The applied difference calculation unit 123 calculates the remaining information as an applied difference.
The applied difference calculation unit 123 stores the calculated applied difference in the applied difference storage unit 145 (Step S42).

次に、図20について説明する。図20は、図15のステップS5で実行される動作の詳細を説明する図である。   Next, FIG. 20 will be described. FIG. 20 is a diagram illustrating details of the operation performed in step S5 of FIG.

適用差分評価部13は、適用差分格納部145に格納されている適用差分が存在するかを確認する(ステップS51)。換言すると、適用差分評価部13は、既存変更差分と新規変更差分とに差があったかを確認する。   The applied difference evaluation unit 13 checks whether there is an applied difference stored in the applied difference storage unit 145 (Step S51). In other words, the applied difference evaluation unit 13 checks whether there is a difference between the existing change difference and the new change difference.

適用差分が存在しない場合(ステップS51のNO)、適用差分評価部13は、専用ソースコード2_1及び専用ソースコード2_2は同一であると判定する。したがって、適用差分算出部123は専用ソースコード2_1及び専用ソースコード2_2は同一であることを出力部15に出力し、出力部15はユーザに専用ソースコード2_1及び専用ソースコード2_2は同一であることを出力する(ステップS52)。   When there is no applied difference (NO in step S51), the applied difference evaluation unit 13 determines that the dedicated source code 2_1 and the dedicated source code 2_2 are the same. Therefore, the applied difference calculation unit 123 outputs to the output unit 15 that the dedicated source code 2_1 and the dedicated source code 2_2 are the same, and the output unit 15 notifies the user that the dedicated source code 2_1 and the dedicated source code 2_2 are the same. Is output (step S52).

一方、適用差分が存在する場合(ステップS51のYES)、適用差分評価部13は、適用差分評価部13は、専用ソースコード2_1及び専用ソースコード2_2は同一ではないと判定する。したがって、適用差分評価部13は専用ソースコード2_1及び専用ソースコード2_2は同一ではないことを出力部15に出力し、出力部15はユーザに専用ソースコード2_1及び専用ソースコード2_2は同一ではないことを出力する(ステップS53)。   On the other hand, when there is an applied difference (YES in step S51), the applied difference evaluating unit 13 determines that the dedicated source code 2_1 and the dedicated source code 2_2 are not the same. Therefore, the applied difference evaluation unit 13 outputs to the output unit 15 that the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, and the output unit 15 notifies the user that the dedicated source code 2_1 and the dedicated source code 2_2 are not the same. Is output (step S53).

さらに、適用差分評価部13は、適用差分を、専用ソースコード2_1を基準にした専用ソースコード2_2の差分情報として決定し、適用差分の内容を出力部15に出力し、出力部15は、適用差分の内容をユーザに出力する(ステップS54)。   Further, the applied difference evaluation unit 13 determines the applied difference as difference information of the dedicated source code 2_2 based on the dedicated source code 2_1, outputs the content of the applied difference to the output unit 15, and the output unit 15 The content of the difference is output to the user (step S54).

以上説明したように、関係情報分析部11が各ソースプログラムに含まれるプログラムの関係を示す関係情報を生成する。関係情報差分算出部121は、各ソースコードの関係情報に基づいて、各種の差分を算出し、適用差分を算出する。適用差分評価部13は、適用差分に基づいて、専用ソースコード2_1と専用ソースコード2_2とが同一であるかを判定する。したがって、実施の形態にかかる判定装置10を用いることにより、基準となるソースコードから作成された複数のソースコードが適切に更新されているかを判定することが可能となる。   As described above, the relation information analysis unit 11 generates the relation information indicating the relation between the programs included in each source program. The relationship information difference calculation unit 121 calculates various differences based on the relationship information of each source code, and calculates an applied difference. The applied difference evaluation unit 13 determines whether the dedicated source code 2_1 and the dedicated source code 2_2 are the same based on the applied difference. Therefore, by using the determination device 10 according to the embodiment, it is possible to determine whether a plurality of source codes created from a reference source code are appropriately updated.

また、適用差分評価部13は、専用ソースコード2_1と専用ソースコード2_2とが同一ではない場合、専用ソースコード2_1を基準にした専用ソースコード2_2の差分情報を決定する。したがって、実施の形態にかかる判定装置10を用いることにより、基準となるソースコードから作成された複数のソースコードが適切に更新されていない場合であっても、複数のソースコードの差分内容を把握することが可能となる。   When the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, the applied difference evaluation unit 13 determines difference information of the dedicated source code 2_2 based on the dedicated source code 2_1. Therefore, by using the determination device 10 according to the embodiment, even if a plurality of source codes created from a reference source code are not appropriately updated, the difference contents of the plurality of source codes can be grasped. It is possible to do.

また、本実施の形態にかかる判定装置10は、各種の差分を登録するテーブルを有している。そのため、専用ソースコード2_1と専用ソースコード2_2とが同一ではない場合、ユーザは、適用差分として算出された差分情報を、各テーブルをたどることにより、どのソースコードにおいて更新内容の一部が欠落しているかを割り出すことができる。   Further, the determination device 10 according to the present embodiment has a table for registering various differences. Therefore, if the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, the user traces the difference information calculated as the applied difference through each table, and a part of the update content is lost in any source code. Can be determined.

具体的には、専用ソースコード2_1と専用ソースコード2_2とが同一ではない場合、ユーザは、変更差分テーブルT3、関係情報差分テーブルT2、及び関係情報テーブルT1とたどることにより欠落部分を割り出すことが可能となる。したがって、本実施の形態によれば、ITシステムの品質低下を抑制することができる。   Specifically, when the dedicated source code 2_1 and the dedicated source code 2_2 are not the same, the user can find the missing part by following the change difference table T3, the relation information difference table T2, and the relation information table T1. It becomes possible. Therefore, according to the present embodiment, it is possible to suppress a decrease in the quality of the IT system.

またさらに、本実施の形態にかかる判定装置10は、出力部15を有しており、出力部15は、ユーザに対して適用差分評価部13の判定結果及び適用差分を出力する。ユーザは出力部15の出力内容を確認することにより専用ソースコード2_1又は専用ソースコード2_2のうち更新内容が抜け漏れなく適用されているかを、目視に頼らずに判定することが可能となる。したがって、本実施の形態によれば、ITシステムの品質低下を抑制しつつ、開発効率又は運用効率を向上させることが可能となる。   Furthermore, the determination device 10 according to the present embodiment has an output unit 15, and the output unit 15 outputs the determination result of the applied difference evaluation unit 13 and the applied difference to the user. By confirming the output content of the output unit 15, the user can determine whether the update content of the dedicated source code 2_1 or the dedicated source code 2_2 has been applied without omission, without relying on visual observation. Therefore, according to the present embodiment, it is possible to improve the development efficiency or the operation efficiency while suppressing the quality deterioration of the IT system.

(他の実施の形態)
<1>上述した実施の形態において、次の変形を施してもよい。
記憶部14において、各格納部は、その中に格納される情報の集合ごとに、別箇の格納部をさらに用意してもよい。例えば、変更差分格納部144の代わりに、既存変更差分格納部と新規変更差分格納部を持つ構成としてもよい。
(Other embodiments)
<1> In the embodiment described above, the following modifications may be made.
In the storage unit 14, each storage unit may further prepare another storage unit for each set of information stored therein. For example, instead of the change difference storage unit 144, a configuration may be provided that has an existing change difference storage unit and a new change difference storage unit.

また、上述した実施の形態では、記憶部14は、ソースコード格納部141、関係情報格納部142、関係情報差分格納部143、変更差分格納部144及び適用差分格納部145を備える構成として説明をしたが、1つの格納部が全ての情報を保持してもよい。   In the above-described embodiment, the storage unit 14 is described as having a configuration including the source code storage unit 141, the related information storage unit 142, the related information difference storage unit 143, the changed difference storage unit 144, and the applied difference storage unit 145. However, one storage unit may hold all information.

また、上述した実施の形態では、差分算出部12は、関係情報差分算出部121、変更差分算出部122及び適用差分算出部123を備える構成として説明したが、1つの算出部が全ての計算を行ってもよい。この場合、変更フラグに関わる処理だけ動作を抑制してもよいし、ダミーの情報を計算して結果を破棄してもよい。   In the above-described embodiment, the difference calculation unit 12 has been described as including the relation information difference calculation unit 121, the change difference calculation unit 122, and the applied difference calculation unit 123, but one calculation unit performs all calculations. May go. In this case, the operation may be suppressed only for the process related to the change flag, or the dummy information may be calculated and the result may be discarded.

また、全ての格納部に格納される情報は、本装置が必要とする情報を含んでいるのであれば、本装置以外の装置で算出した情報を入力してもよい。さらに、本装置の構成のうち、前述の方法で入力した情報を算出する段階までの処理をスキップしてもよいし、その処理を行うための処理部を省略した構成としてもよい。   Further, as long as the information stored in all the storage units includes information required by the present apparatus, information calculated by an apparatus other than the present apparatus may be input. Further, in the configuration of the present apparatus, the processing up to the step of calculating the information input by the above-described method may be skipped, or the processing unit for performing the processing may be omitted.

さらに、上述した実施の形態にかかる判定装置10の処理対象は、ソースコードやプログラムに限定しない。ある情報資産において、特定の記述とそれが表す関係情報を対応付けられるのであれば、その情報資産も対象に含めてよい。その際、ソースコード格納部141は様々な情報資産を格納できるよう拡張するか、新しい情報資産に対応する格納部を追加してもよい。また、関係情報分析部11は新しい情報資産を分析できるよう拡張するか、新しい情報資産に対応する関係情報分析部を追加してもよい。   Furthermore, the processing target of the determination device 10 according to the above-described embodiment is not limited to a source code or a program. If a particular description can be associated with a specific description and the related information represented by the description, the information asset may be included in the target. At that time, the source code storage unit 141 may be expanded to store various information assets, or a storage unit corresponding to a new information asset may be added. Further, the relational information analysis unit 11 may be extended to analyze a new information asset, or a relational information analysis unit corresponding to the new information asset may be added.

<2>図21は、上述した実施の形態において説明した判定装置1及び10(以下、判定装置1等と称する)は、次のようなハードウェア構成を有していてもよい。図21は、本開示の各実施の形態にかかる判定装置等のハードウェア構成を例示するブロック図である。   <2> In FIG. 21, the determination devices 1 and 10 (hereinafter, referred to as the determination device 1 and the like) described in the above-described embodiment may have the following hardware configuration. FIG. 21 is a block diagram illustrating a hardware configuration of a determination device and the like according to each embodiment of the present disclosure.

図21を参照すると、判定装置1等は、プロセッサ1202、及びメモリ1203を含む。
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された判定装置1等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
Referring to FIG. 21, the determination device 1 and the like include a processor 1202 and a memory 1203.
The processor 1202 reads the software (computer program) from the memory 1203 and executes the software, thereby performing the processing of the determination device 1 and the like described using the flowchart in the above embodiment. The processor 1202 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit). Processor 1202 may include multiple processors.

メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/Oインタフェースを介してメモリ1203にアクセスしてもよい。   The memory 1203 is configured by a combination of a volatile memory and a nonvolatile memory. The memory 1203 may include storage located away from the processor 1202. In this case, the processor 1202 may access the memory 1203 via an I / O interface (not shown).

図21の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された判定装置1等の処理を行うことができる。   In the example of FIG. 21, the memory 1203 is used to store a software module group. The processor 1202 can perform the processing of the determination device 1 and the like described in the above-described embodiment by reading these software modules from the memory 1203 and executing them.

図21を用いて説明したように、判定装置1等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1または複数のプログラムを実行する。   As described with reference to FIG. 21, each of the processors included in the determination device 1 or the like executes one or a plurality of programs including a group of instructions for causing a computer to execute the algorithm described with reference to the drawings.

上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), and magneto-optical recording media (eg, magneto-optical disks). Further, examples of the non-transitory computer-readable medium include a CD-ROM (Read Only Memory), a CD-R, and a CD-R / W. Further, examples of the non-transitory computer-readable medium include a semiconductor memory. The semiconductor memory includes, for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory). Also, the program may be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line such as an electric wire and an optical fiber, or a wireless communication line.

なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。   The present disclosure is not limited to the above embodiment, and can be appropriately modified without departing from the gist. In addition, the present disclosure may be implemented by appropriately combining the embodiments.

1、10 判定装置
2 分析部
3 算出部
4 評価部
11 関係情報分析部
12 差分算出部
13 適用差分評価部
14 記憶部
15 出力部
121 関係情報差分算出部
122 変更差分算出部
123 適用差分算出部
141 ソースコード格納部
142 関係情報格納部
143 関係情報差分格納部
144 変更差分格納部
145 適用差分格納部
Reference Signs List 1, 10 determination device 2 analysis unit 3 calculation unit 4 evaluation unit 11 relation information analysis unit 12 difference calculation unit 13 applied difference evaluation unit 14 storage unit 15 output unit 121 relation information difference calculation unit 122 change difference calculation unit 123 applied difference calculation unit 141 Source code storage unit 142 Relation information storage unit 143 Relation information difference storage unit 144 Changed difference storage unit 145 Applied difference storage unit

Claims (7)

基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成する分析部と、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出する算出部と、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を決定する評価部と、を備える判定装置。
A reference source code, an analysis unit that generates relationship information indicating a relationship between programs included in each source code with respect to a first source code and a second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. A calculation unit that calculates the difference information including a change type indicating a change content of the information, and calculates an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first An evaluation unit that determines difference information of the second source code based on a source code.
前記分析部は、前記基準ソースコードと各ソースコードとの間に生成された中間ソースコードの前記関係情報を生成し、
前記算出部は、各ソースコードの前記関係情報に基づいて、前記基準ソースコードと各中間ソースコードとの第2差分情報、各中間ソースコードと前記第1ソースコード及び前記第2ソースコードの各々との第3差分情報を算出すると共に、前記第2差分情報と前記第3差分情報とに基づいて前記適用差分を算出する、請求項1に記載の判定装置。
The analysis unit generates the relationship information of the intermediate source code generated between the reference source code and each source code,
The calculation unit is configured to determine, based on the relation information of each source code, second difference information between the reference source code and each intermediate source code, each of the intermediate source codes, the first source code, and the second source code. The determination device according to claim 1, further comprising calculating third difference information from the second difference information and calculating the applied difference based on the second difference information and the third difference information.
前記算出部は、前記第2差分情報同士の差分を示す第1変更差分と、前記第3差分情報同士の差分を示す第2変更差分とを算出し、前記第1変更差分と前記第2変更差分との差分を前記適用差分として算出する、請求項2に記載の判定装置。   The calculation unit calculates a first change difference indicating a difference between the second difference information and a second change difference indicating a difference between the third difference information, and calculates the first change difference and the second change difference. The determination device according to claim 2, wherein a difference from the difference is calculated as the applied difference. 前記算出部は、各差分情報の算出元の2つのソースコードのうちの一方を、基準とするソースコードとして選択し、前記2つのソースコードの前記関係情報の差分を算出し、当該差分となる関係情報が前記選択されたソースコードに含まれるか否かに基づいて、前記差分となる関係情報の前記変更種別を決定する、請求項1〜3のいずれか1項に記載の判定装置。   The calculation unit selects one of the two source codes from which each difference information is calculated as a reference source code, calculates a difference between the relationship information of the two source codes, and becomes the difference. The determination device according to any one of claims 1 to 3, wherein the change type of the relationship information serving as the difference is determined based on whether or not the relationship information is included in the selected source code. 前記評価部の判定結果を出力し、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報をさらに出力する出力部をさらに備える請求項1〜4のいずれか1項に記載の判定装置。   Outputting the determination result of the evaluation unit, and further outputting difference information of the second source code based on the first source code when the first source code and the second source code are not the same. The determination device according to claim 1, further comprising a unit. 基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成することと、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出することと、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を決定することと、を含む判定方法。
Generating relationship information indicating a relationship between programs included in each of the reference source code and the first source code and the second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. Calculating the difference information including a change type indicating a change content of the information, and calculating an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first Determining difference information of the second source code based on a source code.
基準ソースコード、前記基準ソースコードから作成された、第1ソースコード及び第2ソースコードに対して、各ソースコードに含まれるプログラムの関係を示す関係情報を生成することと、
各ソースコードの前記関係情報に基づいて、前記第1ソースコード及び前記第2ソースコードの各々と、前記基準ソースコードとの差分情報であって、前記関係情報の差分と、当該差分となる関係情報の変更内容を示す変更種別と、を含む前記差分情報を算出すると共に、前記差分情報同士の差分を示す適用差分を算出することと、
前記適用差分に基づいて、前記第1ソースコードと前記第2ソースコードとが同一であるかを判定すると共に、前記第1ソースコードと前記第2ソースコードとが同一ではない場合、前記第1ソースコードを基準にした前記第2ソースコードの差分情報を算出することと、をコンピュータに実行させる判定プログラム。
Generating relationship information indicating a relationship between programs included in each of the reference source code and the first source code and the second source code created from the reference source code;
A difference information between the first source code and the second source code and the reference source code, based on the relationship information of each source code, and a difference between the relationship information and a relationship that is the difference. Calculating the difference information including a change type indicating a change content of the information, and calculating an applied difference indicating a difference between the difference information;
Based on the applied difference, it is determined whether the first source code and the second source code are the same, and if the first source code and the second source code are not the same, the first Calculating difference information of the second source code based on the source code.
JP2018166548A 2018-09-06 2018-09-06 Determination device, determination method and determination program Active JP7230378B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018166548A JP7230378B2 (en) 2018-09-06 2018-09-06 Determination device, determination method and determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018166548A JP7230378B2 (en) 2018-09-06 2018-09-06 Determination device, determination method and determination program

Publications (2)

Publication Number Publication Date
JP2020038586A true JP2020038586A (en) 2020-03-12
JP7230378B2 JP7230378B2 (en) 2023-03-01

Family

ID=69738083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018166548A Active JP7230378B2 (en) 2018-09-06 2018-09-06 Determination device, determination method and determination program

Country Status (1)

Country Link
JP (1) JP7230378B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021176886A1 (en) 2020-03-06 2021-09-10 小野 辰雄 Slider device and handrail device
CN114942753A (en) * 2022-07-26 2022-08-26 北京智象信息技术有限公司 Multi-project multi-language generation method, device, equipment and medium based on difference

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173559A1 (en) * 2012-12-13 2014-06-19 Oracle International Corporation Identifying differences between source codes of different versions of a software when each source code is organized using incorporated files
JP2017045354A (en) * 2015-08-28 2017-03-02 富士通株式会社 Software development support program, software development support apparatus, and software development support method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173559A1 (en) * 2012-12-13 2014-06-19 Oracle International Corporation Identifying differences between source codes of different versions of a software when each source code is organized using incorporated files
JP2017045354A (en) * 2015-08-28 2017-03-02 富士通株式会社 Software development support program, software development support apparatus, and software development support method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021176886A1 (en) 2020-03-06 2021-09-10 小野 辰雄 Slider device and handrail device
CN114942753A (en) * 2022-07-26 2022-08-26 北京智象信息技术有限公司 Multi-project multi-language generation method, device, equipment and medium based on difference
CN114942753B (en) * 2022-07-26 2022-11-18 北京智象信息技术有限公司 Multi-project multi-language generation method, device, equipment and medium based on differential quantity

Also Published As

Publication number Publication date
JP7230378B2 (en) 2023-03-01

Similar Documents

Publication Publication Date Title
CN107316083B (en) Method and apparatus for updating deep learning model
US9904614B2 (en) Source code inspection and verification
US20150026664A1 (en) Method and system for automated test case selection
US8819644B2 (en) Selective data flow analysis of bounded regions of computer software applications
CN111488211A (en) Task processing method, device, equipment and medium based on deep learning framework
US9483384B2 (en) Generation of software test code
US20160004566A1 (en) Execution time estimation device and execution time estimation method
US20100275186A1 (en) Segmentation for static analysis
CN111596920B (en) File compiling method, device, compiling equipment and storage medium
JP2020038586A (en) Determination device, determination method, and determination program
KR20200046078A (en) Scalable techniques for executing custom algorithms on media items
US20160019609A1 (en) Cost computation device, cost computation method, and computer-readable recording medium
US20130191691A1 (en) Importance-based call graph construction
US10545741B2 (en) Information processing apparatus, method of compiling, and storage medium
CN113485744A (en) Code synchronization method and device
US20160188435A1 (en) Fixing anti-patterns in javascript
US11023101B2 (en) System and method for implementing a self service machine learning framework
US8516453B2 (en) Partition-based static analysis of computer software applications
CN111127616A (en) Rendering verification method and device
WO2020211395A1 (en) Code data management method and system, and storage medium
US10726012B2 (en) Metadata registration method and device
US20200218584A1 (en) Identifying and demarcating application transactions in an event loop based runtime
JP6665576B2 (en) Support device, support method, and program
JPWO2018174223A1 (en) Operation management server, development operation support system, their method and program
WO2013031129A1 (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R151 Written notification of patent or utility model registration

Ref document number: 7230378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151