JP2015076025A - Program upgrade assistance method and program upgrade assistance system - Google Patents

Program upgrade assistance method and program upgrade assistance system Download PDF

Info

Publication number
JP2015076025A
JP2015076025A JP2013213302A JP2013213302A JP2015076025A JP 2015076025 A JP2015076025 A JP 2015076025A JP 2013213302 A JP2013213302 A JP 2013213302A JP 2013213302 A JP2013213302 A JP 2013213302A JP 2015076025 A JP2015076025 A JP 2015076025A
Authority
JP
Japan
Prior art keywords
source code
comparison
file
result
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013213302A
Other languages
Japanese (ja)
Inventor
由美 宮本
Yumi Miyamoto
由美 宮本
岡田 太
Futoshi Okada
太 岡田
陽 福士
Akira Fukushi
陽 福士
理恵子 清水
Rieko Shimizu
理恵子 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013213302A priority Critical patent/JP2015076025A/en
Publication of JP2015076025A publication Critical patent/JP2015076025A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide means for facilitating reflecting customization contents and identifying an influence range of the customization contents at a time of upgrading a program.SOLUTION: A target program and a standard program are compared by means of source code files, an upgraded program and the standard program are compared by means of the source code files, and a type determination is carried out based on respective comparison results. A correction method is determined for each source code file for applying upgrading to the target program based on a type determination result, and information necessary to identify a correction influence range is calculated.

Description

本発明は、プログラムの更新技術に関する。   The present invention relates to a program update technique.

例えば、業務システム構築時にパッケージソフトウェアを適用する場合、顧客・ユーザの要求に応じて改修(カスタマイズ)が行われる。   For example, when package software is applied at the time of construction of a business system, modification (customization) is performed according to a request from a customer / user.

このカスタマイズ済みパッケージソフトウェアの元となるパッケージソフトウェアに対して機能追加などのバージョンアップが実施された場合、従来ではカスタマイズ済みのソースコードファイルとバージョンアップされたソースコードファイルを単純比較することで、変更点の洗い出しを行っている。   When version upgrades such as adding functions are performed on the package software that is the source of this customized package software, it has been changed by simply comparing the customized source code file with the upgraded source code file. The point is being identified.

このような変更点の洗い出しでは、カスタマイズ箇所とバージョンアップ箇所との選別が機械的にできないため、人手によるチェック作業が必要となり、チェック漏れなどの問題が発生する。   In identifying such changes, since it is not possible to mechanically select a customized part and a version-up part, manual check work is required, and problems such as check omissions occur.

特開2012−159931号公報JP2012-159931A 特開2006−276953号公報JP 2006-276953 A

特許文献1の技術では、パッケージソフトウェアの顧客・ユーザ別のカスタマイズの内容(カスタマイズ実績)をデータベースで一元管理して、当該パッケージソフトウェアの変更情報から顧客・ユーザ別のカスタマイズへの影響の有無の判別と、影響するオブジェクトの抽出を自動的に行うようにしている。   In the technology of Patent Document 1, the customization contents (customization results) for each customer / user of the package software are centrally managed in a database, and whether there is an influence on the customization for each customer / user from the change information of the package software is determined. And the affected objects are automatically extracted.

しかし、カスタマイズを実施した対象以外のバージョンアップの判別は行われないため、カスタマイズを行っていないオブジェクトへのバージョンアップ内容の判別は別途手作業で実施する必要がある。また、管理する内容はどのオブジェクトをどう変更したかの書類のみであり、ソースコードファイル実体による管理を行わないため、実体とのズレが生じる可能性がある。   However, since version upgrades other than those for which customization has been performed are not performed, it is necessary to manually identify the content of upgrades to objects that have not been customized. Further, the contents to be managed are only documents indicating which objects have been changed, and the management by the source code file entity is not performed, which may cause a deviation from the entity.

特許文献2の技術では、カスタマイズされた画面定義ファイルに対するバージョンアップを反映する技術を提供している。カスタマイズの元のパッケージソフトウェアをバージョンアップしたことによって画面項目の追加や変更があった場合に、バージョンアップの内容をカスタマイズしたパッケージソフトウェアに反映すべきかどうかを確認するために、バージョンアップによる画面項目の追加や変更をカスタマイズしたパッケージソフトウェアへ反映して画面表示するというものである。特許文献2は画面定義ファイルに対するバージョンアップの反映に関する技術であり、画面定義ファイル以外のものを適用した場合は対応できない。また、特許文献1と同様にカスタマイズを実施していない画面定義ファイルのバージョンアップについては対象としていない。   The technology of Patent Document 2 provides a technology that reflects version upgrades for customized screen definition files. In order to check whether the contents of the upgrade should be reflected in the customized package software when screen items are added or changed as a result of upgrading the original package software of the customization, the screen items of the version upgrade are checked. The addition or change is reflected on the customized package software and displayed on the screen. Japanese Patent Application Laid-Open No. 2004-228561 is a technique related to reflection of version upgrade on a screen definition file, and cannot cope with application of anything other than a screen definition file. Further, as with Patent Document 1, version upgrade of a screen definition file that has not been customized is not targeted.

本発明が解決しようとする問題点は、カスタマイズを行ったプログラムの元となるプログラムにバージョンアップが発生した場合、バージョンアップによる影響範囲を考慮しつつ、ソースコードファイル実体を元にして、ソースコードファイルごとのバージョンアップの有無およびカスタマイズの有無の判別を機械的に行う手段がない点。   The problem to be solved by the present invention is that, when a version upgrade occurs in a program that is a source of a customized program, the source code is based on the source code file entity while taking into consideration the range of influence due to the version upgrade. There is no means for mechanically determining whether a file has been upgraded or customized.

本発明は、分析対象ソースコードを、分析対象ファイルと旧バージョンプログラムのソースコードファイル(旧バージョン標準ソースコード)との比較結果、および、旧バージョンプログラムと旧バージョンプログラムに機能追加などを行ってバージョンアップした新バージョンプログラムのソースコードファイル(新バージョン標準ソースコード)とのの比較結果を元に種別判定を行い、種別判定結果からバージョンアップによる影響範囲を考慮しつつ分析対象ソースコードのファイルごとのバージョンアップ方法を判定する。   In the present invention, the analysis target source code is a version obtained by comparing the analysis target file with the source code file (old version standard source code) of the old version program and adding functions to the old version program and the old version program. Based on the comparison result with the source code file of the new version program that has been upgraded (new version standard source code), the type is determined. Determine version upgrade method.

本発明のシステムにより、プログラムのバージョンアップ時にカスタマイズプログラムへのバージョンアップ内容の反映および影響範囲の特定が容易となる。   With the system of the present invention, it is easy to reflect the contents of the upgrade in the customized program and specify the affected range when the program is upgraded.

本発明の実施例にかかるプログラムバージョンアップ支援システムの構成図である。It is a block diagram of the program version upgrade assistance system concerning the Example of this invention. 本発明の実施例にかかる名称変換処理部のフローチャートである。It is a flowchart of the name conversion process part concerning the Example of this invention. 本発明の実施例にかかるソース比較処理部のフローチャートである。It is a flowchart of the source comparison process part concerning the Example of this invention. 本発明の実施例にかかる分析対象ソースコードを比較元にした旧バージョン標準ソースコードの比較結果例である。It is an example of the comparison result of the old version standard source code which made the analysis object source code concerning the Example of this invention the comparison origin. 本発明の実施例にかかる旧バージョン標準ソースコードを比較元にした分析対象ソースコードとの比較結果例である。It is an example of a comparison result with the analysis object source code which made the comparison source the old version standard source code concerning the example of the present invention. 本発明の実施例にかかる種別判定処理部のフローチャートである。It is a flowchart of the classification determination process part concerning the Example of this invention. 本発明の実施例にかかる比較結果からの種別判定結果とソースコード修正方法の一覧である。It is a list of the classification determination result from the comparison result concerning the Example of this invention, and a source code correction method. 本発明の実施例にかかる種別判定結果ファイルの例である。It is an example of the type determination result file concerning the Example of this invention. 本発明の実施例にかかる種別による影響範囲のイメージである。It is an image of the influence range by the classification concerning the Example of this invention.

以下、本発明の実施形態について図面を使用して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1はプログラムバージョンアップ支援システムを表す構成図である。   FIG. 1 is a block diagram showing a program version upgrade support system.

プログラムバージョンアップ支援システム100は、例えば、一般的な計算機(コンピュータやサーバなど)で実現され、CPU(Central Processing Unit)110、CPUが実行するプログラムや各種データを記憶するHDDや半導体メモリ等の記憶装置111、キーボード・マウス等の入力装置(図示せず)、ディスプレイ等の出力装置(図示せず)を有する。   The program upgrade support system 100 is realized by, for example, a general computer (computer, server, etc.), and is stored in a CPU (Central Processing Unit) 110, a program executed by the CPU, an HDD that stores various data, a semiconductor memory, and the like. The apparatus 111 includes an input device (not shown) such as a keyboard / mouse, and an output device (not shown) such as a display.

分析対象ソースコード130は標準ソースコードを元に顧客要望などの利用者固有のカスタマイズを実施し、元にしたソースコードのバージョンやカスタマイズ後のバージョンアップにより旧バージョン標準ソースコード131と同じバージョン番号を有するソースコードである。また、旧バージョン標準ソースコード131に対して機能追加や不具合対策などを実施したものが新バージョン標準ソースコード132である。旧バージョン標準ソースコード131および新バージョン標準ソースコード132は分析対象ソースコード130の比較対象ソースコードである。分析対象ソースコード130、旧バージョン標準ソースコード131、新バージョン標準ソースコード132はそれぞれ1ファイル以上のソースコードファイルで構成される。本実施例では、複数のソースコードファイルで構成される場合を例にとって説明する。   Based on the standard source code, the analysis target source code 130 is customized for each user such as customer request, and the same version number as the old version standard source code 131 is obtained by upgrading the version of the source code based on the original source code or after customization. It is the source code which has. Further, the new version standard source code 132 is obtained by performing a function addition or a defect countermeasure on the old version standard source code 131. The old version standard source code 131 and the new version standard source code 132 are comparison target source codes of the analysis target source code 130. The analysis target source code 130, the old version standard source code 131, and the new version standard source code 132 are each composed of one or more source code files. In this embodiment, a case where a plurality of source code files are used will be described as an example.

本実施例では、分析対象ソースコード130に対して、新バージョン標準ソースコード132で実施された新機能の追加や不具合対策の反映を行うため、ソースコードファイル単位の修正方法を判定し、それを元に影響範囲の特定が可能となる情報の出力を行う。単純に、分析対象ソースコード130のソースコードファイルと新バージョン標準ソースコード132のソースコードファイルの比較を行ってしまうと、新バージョン標準ソースコード132での変更のみならずカスタマイズされている部分も差分となってしまうため、バージョンアップによる差分のみの抽出ができない。そこで、ソースコードファイルごとに、分析対象ソースコード130と旧バージョン標準ソースコード131との差分(カスタマイズ差分)、旧バージョン標準ソースコード132と新バージョン標準ソースコード133との差分(バージョンアップ差分)の抽出を行い、さらにソースコードファイルごとのカスタマイズ差分およびバージョンアップ差分の有無により種別を判定することで、ソースコードファイルの修正方法および影響範囲の特定を行える情報を提供することができる。また、これらの出力情報を利用して分析対象ソースコードのソースコードファイルの更新を自動化することも可能である。なお、比較単位をアプリケーション単位とすると、判定が粗くなり一部の自動バージョンアップできないファイルのためにアプリケーション全体を手動でバージョンアップするよう判定され、またファイル間の影響調査も実施できない。ソースコードファイルの行単位の比較結果を出力してもソースコードファイルの置換えを実施するのはファイル単位であるため、本発明ではファイル単位での比較結果の出力を行う。   In the present embodiment, in order to add a new function implemented in the new version standard source code 132 and reflect a defect countermeasure to the analysis target source code 130, a correction method for each source code file is determined, and The information that enables the identification of the affected range is output. Simply comparing the source code file of the analysis target source code 130 and the source code file of the new version standard source code 132, not only the changes in the new version standard source code 132 but also the customized parts are different. Therefore, it is not possible to extract only differences due to version upgrades. Therefore, for each source code file, the difference (customization difference) between the analysis target source code 130 and the old version standard source code 131, and the difference (version upgrade difference) between the old version standard source code 132 and the new version standard source code 133. By performing extraction, and further determining the type based on the presence or absence of customization differences and version upgrade differences for each source code file, it is possible to provide information for specifying a correction method and an affected range of the source code file. It is also possible to automate the update of the source code file of the analysis target source code using these output information. If the comparison unit is an application unit, it is determined that the entire application is manually upgraded for some files that cannot be automatically upgraded because of a rough determination, and the influence between files cannot be investigated. Even if the line-by-line comparison result of the source code file is output, the replacement of the source code file is performed on a file basis. Therefore, in the present invention, the comparison result is output on a file basis.

図1において、プログラムバージョンアップ支援システム100は、名称変換処理部120とソース比較処理部121と種別判定処理部122から構成される。   In FIG. 1, the program version upgrade support system 100 includes a name conversion processing unit 120, a source comparison processing unit 121, and a type determination processing unit 122.

名称変換処理部120では、分析対象ソースコード130のソースコードファイル名の変換を行う。旧バージョン標準ソースコード131を元にカスタマイズを行う際に、カスタマイズを実施したとわかるようにあらかじめ決められたネーミングルールに従ってファイル名を変更することがある。その場合にカスタマイズ前のファイル名に戻すことを名称変換処理部120で行う。なお、カスタマイズ実施時にファイル名の変更が行われなかった場合はファイル名の変換は行われない。ソース比較処理部121以降で使うカスタマイズプログラム131は、名称変換済みのソースコードファイルとする。   The name conversion processing unit 120 converts the source code file name of the analysis target source code 130. When customizing based on the old version standard source code 131, the file name may be changed according to a predetermined naming rule so that it can be understood that the customization has been performed. In that case, the name conversion processing unit 120 returns the file name to that before customization. If the file name is not changed during customization, the file name is not converted. The customization program 131 used in the source comparison processing unit 121 and later is a name-converted source code file.

ソース比較処理部121では、分析対象ソースコード130と旧バージョン標準ソースコード131の比較および旧バージョン標準ソースコード131と新バージョン標準ソースコード132の比較を行い、それぞれの比較結果133を記憶装置111へ格納する。 種別判定処理部122では、記憶装置111に格納された比較結果133を元に種別判定を行い、種別判定結果134を記憶装置111に格納する。ここで、種別について説明する。種別判定はソースコードファイルごとに行う。種別は種別1から種別4の4つに分類され、種別ごとにソースコードファイルの修正方法が異なる。後で図7を用いて詳述するが、種別1はカスタマイズでもバージョンアップでも変更されていないソースコードファイルで、修正は不要。種別2はバージョンアップでのみ変更されているソースコードファイルで、新バージョン標準ソースコードのソースコードファイルを適用する。種別3はカスタマイズでのみ変更されているソースコードファイルで、分析対象ソースコードのソースコードファイルを適用する。種別4はバージョンアップおよびカスタマイズの両方で変更されているソースコードファイルで、分析対象ソースコードおよび新バージョン標準ソースコードのマージが必要となる。   The source comparison processing unit 121 compares the analysis target source code 130 with the old version standard source code 131 and the old version standard source code 131 with the new version standard source code 132, and sends each comparison result 133 to the storage device 111. Store. The type determination processing unit 122 performs type determination based on the comparison result 133 stored in the storage device 111 and stores the type determination result 134 in the storage device 111. Here, the types will be described. The type is determined for each source code file. The types are classified into four types, from type 1 to type 4, and the method for correcting the source code file is different for each type. As will be described in detail later with reference to FIG. 7, type 1 is a source code file that has not been changed by customization or upgrade, and no modification is required. Type 2 is a source code file that is changed only in version upgrade, and the source code file of the new version standard source code is applied. Type 3 is a source code file that is changed only by customization, and the source code file of the analysis target source code is applied. Type 4 is a source code file that has been changed by both version upgrade and customization, and it is necessary to merge the analysis source code and the new version standard source code.

次に、図2から図10を用いて、プログラムバージョンアップ支援システム100の処理を説明する。   Next, processing of the program version upgrade support system 100 will be described with reference to FIGS.

図2は図1の名称変換処理部120の処理フローを表す。本処理では、ソース比較を行う際に同じファイル名であることが前提であるため、カスタマイズ時にファイル名の変更が行われていた場合には、カスタマイズ前のファイル名に戻すことを行う。図2のステップ200で本システムの利用者があらかじめ定義したカスタマイズ時名称変更ルール210を読み込む。分析対象ソースコード211のソースコードのファイルを1本読み込む。。ステップ201では読み込んだソースコードファイルのファイル名とカスタマイズ時名称変更ルール210の定義内容を比較し、カスタマイズ時にファイル名を変更したファイルかどうかを判定する。判定した結果、カスタマイズ時のファイル名の変更が行われていた場合は、ステップ203でカスタマイズ前のファイル名に戻す処理を行い、カスタマイズ前のファイル名になったソースコードファイルを図1の記憶装置111に格納する。例えば、Java(登録商標)言語で作成されたソースコードファイルをカスタマイズする場合を説明する。カスタマイズ時のコーディングルールとして「元のクラス名」+「_cstm」+「.java」にすることが定められているとする。旧バージョンのソースコードファイル名が「SampleClass1.java」であった場合、カスタマイズ実施時には「SampleClass1_cstm.java」というファイル名に変更して保存される。カスタマイズ時名称変更ルール210には「元のクラス名」+「_cstm」+「.java」の内容があらかじめ定義され、名称変換処理部120によって、「SampleClass1_cstm.java」というファイル名は「SampleClass1.java」というファイル名に変更される。この分析対象ソースコードのファイル読み込み、カスタマイズ判定、ファイル名の変換をファイル1本ずつ、分析対象ソースコードの全てのファイルについて行う。   FIG. 2 shows a processing flow of the name conversion processing unit 120 of FIG. In this processing, since it is premised that the file names are the same when performing source comparison, if the file name has been changed during customization, the file name before customization is restored. In step 200 in FIG. 2, the customization name change rule 210 defined in advance by the user of this system is read. One source code file of the analysis target source code 211 is read. . In step 201, the file name of the read source code file is compared with the definition contents of the customization-time name change rule 210, and it is determined whether or not the file has the file name changed at the time of customization. As a result of the determination, if the file name at the time of customization has been changed, the process returns to the file name before customization in step 203, and the source code file having the file name before customization is stored in the storage device of FIG. 111. For example, a case where a source code file created in the Java (registered trademark) language is customized will be described. It is assumed that “original class name” + “_ cstm” + “. Java” is defined as a coding rule at the time of customization. If the source code file name of the previous version was “SampleClass1.java”, it will be renamed to “SampleClass1_cstm.java” and saved when customization is performed. The contents of “original class name” + “_ cstm” + “. Java” are defined in advance in the name change rule 210 at the time of customization. The file name is changed. The analysis target source code file reading, customization determination, and file name conversion are performed for each file of the analysis target source code one by one.

図3は図1のソース比較処理部121の処理フローを表す。ステップ310では分析対象ソースコード300と旧バージョン標準ソースコード301との比較を行い比較結果320および比較結果321を出力する。比較では、ソースコード同士を一文字一文字突合せ、相違が無く全く同じであるか、差分が有るか判定するステップカウントを行う。比較対象のファイル自体が存在しない場合もある。ここで、比較結果320は分析対象ソースコード300に存在するソースコードのファイル名を比較元として、旧バージョン標準ソースコード301にある同じファイル名のソースコードファイルとの比較を行った結果である。比較結果321は前述とは逆に旧バージョン標準ソースコード301に存在するソースコードのファイル名を比較元として、分析対象ソースコード300にある同じファイル名のソースコードファイルとの比較を行った結果である。このように2回比較することにより、一方にしか存在しないソースコードファイルも漏れなく比較結果320、321に加えることができる。   FIG. 3 shows a processing flow of the source comparison processing unit 121 of FIG. In step 310, the analysis target source code 300 and the old version standard source code 301 are compared, and a comparison result 320 and a comparison result 321 are output. In the comparison, the source codes are matched character by character, and a step count is performed to determine whether there is no difference and they are exactly the same or there is a difference. In some cases, the file to be compared does not exist. Here, the comparison result 320 is a result of comparison with a source code file having the same file name in the old version standard source code 301 using the file name of the source code existing in the analysis target source code 300 as a comparison source. The comparison result 321 is a result of comparison with the source code file having the same file name in the analysis target source code 300 using the file name of the source code existing in the old version standard source code 301 as a comparison source contrary to the above. is there. Thus, by comparing twice, the source code file which exists only in one side can be added to the comparison results 320 and 321 without omission.

ステップ311では旧バージョン標準ソースコード301と新バージョン標準ソースコード302の比較を行い比較結果322および比較結果323を出力する。こちらもステップ310と同様の比較を行う。比較結果322は新バージョン標準ソースコード302に存在するソースコードのファイル名を比較元として、旧バージョン標準ソースコード301にある同じファイル名のソースコードファイルとの比較を行った結果である。比較結果323は前述とは逆に旧バージョン標準ソースコード301に存在するソースコードのファイル名を比較元として、新バージョン標準ソースコード302にある同じファイル名のソースコードファイルとの比較を行った結果である。   In step 311, the old version standard source code 301 and the new version standard source code 302 are compared, and a comparison result 322 and a comparison result 323 are output. Here, the same comparison as in step 310 is performed. The comparison result 322 is a result of comparison with a source code file having the same file name in the old version standard source code 301 using the source code file name existing in the new version standard source code 302 as a comparison source. Contrary to the above, the comparison result 323 is the result of comparison with the source code file having the same file name in the new version standard source code 302 using the file name of the source code existing in the old version standard source code 301 as the comparison source. It is.

図4は、図3の比較結果320の例である。ソースコードファイル名ごとに判定結果を示す。比較結果の「新規」とは、旧バージョン標準コードには存在せず、分析対象ソースコードにのみ存在するソースコードファイルである。比較結果の「変更無」とは、旧バージョン標準ソースコードと比べ分析対象ソースコードで変更のないソースコードファイルである。比較結果の「変更有」とは、旧バージョン標準ソースコードと比べ分析対象ソースコードで変更のあったソースコードファイルである。   FIG. 4 is an example of the comparison result 320 of FIG. The judgment result is shown for each source code file name. The comparison result “new” is a source code file that does not exist in the old version standard code but exists only in the analysis target source code. “No change” in the comparison result is a source code file that is not changed in the analysis source code compared to the standard source code of the previous version. The “changed” of the comparison result is a source code file that has been changed in the analysis source code compared to the old version standard source code.

また、図5は図3の比較結果321の例である。比較結果「変更無し」「変更有り」は、同一ファイルについては比較結果320と同じになる。比較結果の「削除」とは、旧バージョン標準ソースコードには存在していたが分析対象ソースコードには存在しないソースコードファイルである。例えば、図5の項番3の「A01_010_I010.java」は図4に存在しないことから、「削除」であると判断される。   FIG. 5 is an example of the comparison result 321 of FIG. The comparison results “no change” and “change” are the same as the comparison result 320 for the same file. The “deletion” of the comparison result is a source code file that exists in the old version standard source code but does not exist in the analysis target source code. For example, “A01_010_I010.java” of item number 3 in FIG. 5 does not exist in FIG. 4 and is thus determined to be “deleted”.

これらの比較結果320、321をマージすることにより、各ファイルについて「変更無し」「変更有り」「新規」「削除」を判定することができる。また、比較結果322、323についても、同様に扱うことができ、各ファイルについて4種類に判定することができる。   By merging the comparison results 320 and 321, it is possible to determine “no change”, “change”, “new”, and “delete” for each file. Further, the comparison results 322 and 323 can be handled in the same manner, and each file can be determined as four types.

図6では図1の種別判定処理部122の処理フローを表す。比較結果610は、図3の比較結果320、321、322、323を表す。ステップ600で比較結果610を読み込む。比較結果610からソースコードファイルのファイル名を取得し、ステップ601、ステップ602を行う。ステップ601では比較結果を元にソースコードファイルごとの種別の判定を行い、ステップ602で種別の判定結果を種別判定結果ファイル611に出力する。種別の判定方法については図7で説明する。比較結果に記載された全てのソースコードファイルに対して、このステップ601、ステップ602を繰り返す。   FIG. 6 shows a processing flow of the type determination processing unit 122 of FIG. The comparison result 610 represents the comparison results 320, 321, 322, and 323 in FIG. In step 600, the comparison result 610 is read. The file name of the source code file is acquired from the comparison result 610, and step 601 and step 602 are performed. In step 601, the type of each source code file is determined based on the comparison result, and in step 602, the type determination result is output to the type determination result file 611. The type determination method will be described with reference to FIG. Steps 601 and 602 are repeated for all source code files described in the comparison result.

図7はソース比較処理部で作成した比較結果を元にした種別判定のパターンとパターンごとのソースコードファイルの修正方法を示したものである。VerUP差分701は図3の比較結果322および比較結果323の比較結果から「新規」「変更無」「変更有」「削除」を取得した結果であり、カスタマイズ差分702も同様に比較結果320および比較結果321から比較結果を判定した結果である。No.3の「−」は、バージョンアップ時に追加された新バージョン標準ソースコードには存在するソースコードファイルであるが、旧バージョン標準ソースコード及び分析対象ソースコードには存在しないソースコードファイルである。No.7は逆に分析対象ソースコードで追加されたが、旧バージョン標準ソースコード及び新バージョン標準ソースコードには存在しないソースコードファイルである。No.11の両方で「新規」となっているのは、新バージョン標準ソースコードと分析対象ソースコードにそれぞれ追加したソースコードファイルがたまたま同じファイル名になる場合を表しており、中身が同じであるとは限らない。種別710は比較結果700の組み合わせから判定した種別判定結果である。例えば、図7のNo.1はVerUP差分701とカスタマイズ差分702が両方とも「変更無」であることからどちらでも更新されていないファイルであることが判断でき、種別は「種別1」と判定される。No.4はVerUP差分701が「変更有」でカスタマイズ差分702が「変更無」であることから、バージョンアップ時にのみ更新されたソースコードファイルであり、新バージョン標準ソースコードを適用するため、種別は「種別2」と判定される。また、No.3はVerUP差分701が「新規」でカスタマイズ差分702が「−」であることから、新バージョンでのみ追加されたソースコードファイルであり、新バージョン標準ソースコードを適用するため、種別は「種別2」と判定される。No.8はVerUP差分701が「変更無」でカスタマイズ差分702が「変更有」であることから、カスタマイズ時にのみ更新されたソースコードファイルであり、分析対象ソースコードを適用するため、種別は「種別3」と判定される。また、No.9,10はVerUP差分701が「削除」でカスタマイズ差分702が「変更無」または「変更有」であることから、分析対象ソースコード内では呼び出されている可能性があり、分析対象ソースコードを適用するため、種別は「種別3」と判定される。No.12はVerUP差分701とカスタマイズ差分702が両方とも「変更有」であることからどちらでも更新されているファイルであることが判断でき、種別は「種別4」と判定される。   FIG. 7 shows a type determination pattern based on the comparison result created by the source comparison processing unit and a method for correcting the source code file for each pattern. The VerUP difference 701 is a result of acquiring “new”, “no change”, “changed”, and “deletion” from the comparison result of the comparison result 322 and the comparison result 323 in FIG. This is the result of determining the comparison result from the result 321. “-” In No. 3 is a source code file that exists in the new version standard source code added at the time of version upgrade, but does not exist in the old version standard source code and the analysis source code. . In contrast, No. 7 is a source code file that is added in the analysis source code, but does not exist in the old version standard source code and the new version standard source code. “No.” in both of No. 11 indicates that the source code files added to the new version standard source code and the analysis source code happen to have the same file name, and the contents are the same. Not always. The type 710 is a type determination result determined from the combination of the comparison results 700. For example, No. 1 in FIG. 7 can be determined to be a file that has not been updated because the VerUP difference 701 and the customization difference 702 are both “no change”, and the type is determined to be “type 1”. The No. 4 is a source code file that is updated only when upgrading because the VerUP difference 701 is “changed” and the customization difference 702 is “no change”, and the new version standard source code is applied. Is determined as “type 2”. No. 3 is a source code file added only in the new version because the VerUP difference 701 is “new” and the customization difference 702 is “−”, and the new version standard source code is applied. Is determined as “type 2”. No. 8 is a source code file updated only at the time of customization because the VerUP difference 701 is “no change” and the customization difference 702 is “changed”. It is determined as “type 3”. In addition, Nos. 9 and 10 may be called in the analysis source code because the VerUP difference 701 is “deleted” and the customization difference 702 is “no change” or “changed”. Since the target source code is applied, the type is determined as “type 3”. In No. 12, since both the VerUP difference 701 and the customization difference 702 are “changed”, it can be determined that both are updated files, and the type is determined as “type 4”.

図8に種別判定処理ファイル611の例を示す。800が種別コード、801がソースコードファイルのファイル名、802がソースコードファイルの修正方法である。800の種別コードは図7の種別コード720に対応している。例えば、1行目は種別コードが「1-a」であるため図7のNo.1のパターンに該当し種別は「種別1」であり、バージョンアップ時にもカスタマイズ時にも更新されていないソースコードファイルであるため、修正は不要であると判断できる。また、2行目は種別コードが「3-b」であるため図7のNo.8のパターンに該当し種別は「種別3」であり、カスタマイズ時に更新されたソースコードであるため、分析対象ソースコードを適用すると判断できる。   FIG. 8 shows an example of the type determination processing file 611. 800 is a type code, 801 is a source code file name, and 802 is a source code file correction method. The type code 800 corresponds to the type code 720 in FIG. For example, in the first line, the type code is “1-a”, so it corresponds to the pattern No. 1 in FIG. 7, the type is “type 1”, and the source code is not updated at the time of version upgrade or customization. Since it is a file, it can be determined that correction is unnecessary. In the second line, the type code is “3-b”, so it corresponds to the pattern of No. 8 in FIG. 7, the type is “type 3”, and it is the source code updated at the time of customization. It can be determined that the source code is applied.

また、種別判定結果ファイル611を元に、影響範囲の特定を行うことができる。修正対象とテスト対象のソースコードファイルの特定方法を示す。プログラム(ソースコードファイル)の呼び出し関連を示す呼出関連情報を用意し、これに種別判定結果ファイル611の種別判定結果を適用する。呼び出し関連情報は、バージョンアップ後の分析対象ソースコードのものが望ましいが、旧バージョン標準ソースコード、新バージョン標準ソースコード、バージョンアップ前の分析対象ソースコードのものを用いてもよい。呼出し関連の中に種別4(913)のソースコードファイルが存在した場合、バージョンアップの内容とカスタマイズの内容が混ざったソースコードファイルであるため、テストが必要と判断できる。種別4(913)のソースコードファイルと呼出し関係のあるすべてのソースコードファイル(910、911、912)をテスト対象とする。また、種別2(903)と呼出し関係のある種別3(902)のソースコードファイルが存在した場合、バージョンアッププログラムとカスタマイズプログラムの呼び出し関連となるため、テストが必要と判断できる。種別2(903)と呼出し関係のある種別3(902)とその親プログラムにあたるソースコードファイルと子プログラムにあたるソースコードファイルをテスト対象とする。種別1は変更なしのため、テストは不要と判断できる。呼出し関係の中に種別2と種別3が混ざっていない場合、すでにバージョンアッププログラム作成時およびカスタマイズプログラム作成時にテスト済みである処理であるため、テストは不要と判断できる。以上を、呼出関連情報と種別判定結果ファイル611を用いて本システムで判定することにより、図9に示すように影響範囲やテストを必要とする対象を特定する影響範囲情報135を算出することができる。   Further, the influence range can be specified based on the type determination result file 611. This section describes how to identify the source code file to be modified and tested. Call related information indicating the call relation of a program (source code file) is prepared, and the type determination result of the type determination result file 611 is applied thereto. The call related information is preferably the analysis target source code after the version upgrade, but the old version standard source code, the new version standard source code, or the analysis target source code before the version upgrade may be used. If there is a type 4 (913) source code file in the call, it can be determined that the test is necessary because the source code file is a mixture of the contents of the upgrade and the contents of customization. All source code files (910, 911, 912) having a calling relationship with the type 4 (913) source code file are set as test targets. Also, if there is a type 3 (902) source code file that has a call relationship with type 2 (903), it is determined that a test is necessary because the upgrade program and the customization program are related. The type 3 (902) that has a calling relationship with the type 2 (903), the source code file corresponding to the parent program, and the source code file corresponding to the child program are set as test targets. Since Type 1 is not changed, it can be determined that the test is unnecessary. If Type 2 and Type 3 are not mixed in the calling relationship, it can be determined that the test is unnecessary because the process has already been tested when the upgrade program is created and when the customized program is created. By determining the above using the call-related information and the type determination result file 611 in this system, it is possible to calculate the influence range information 135 for specifying the influence range and the target that requires the test as shown in FIG. it can.

100 プログラムバージョンアップ支援システム
110 CPU
111 記憶装置
120 名称変換処理部
121 ソース比較処理部
122 種別判定処理部
130 分析対象ソースコード
131 旧バージョン標準ソースコード
132 新バージョン標準ソースコード
133 比較結果
134 種別判定結果
135 影響範囲情報
100 Program version upgrade support system 110 CPU
111 Storage Device 120 Name Conversion Processing Unit 121 Source Comparison Processing Unit 122 Type Determination Processing Unit 130 Analysis Target Source Code 131 Old Version Standard Source Code 132 New Version Standard Source Code 133 Comparison Result 134 Type Determination Result 135 Influence Range Information

Claims (8)

ソース比較処理部が、対象ソースコードを、第1の標準ソースコードと比較する第1の比較工程と、
ソース比較処理部が、前記第1の標準ソースコードを、前記第1の標準ソースコードの同じソースコードのバージョン違いである第2の標準ソースコードと比較する第2の比較工程と、
種別判定処理部が、前記第1の比較工程の比較結果と、前記第2の比較工程の比較結果とに基いて、前記第2の標準ソースコードにかかるバージョンへの前記対象ソースコードのバージョンアップの方針を判定する判定工程と、
を含むことを特徴とするバージョンアップ支援方法。
A first comparison step in which the source comparison processing unit compares the target source code with the first standard source code;
A second comparison step in which a source comparison processing unit compares the first standard source code with a second standard source code that is a version difference of the same source code of the first standard source code;
The type determination processing unit upgrades the target source code to a version related to the second standard source code based on the comparison result of the first comparison step and the comparison result of the second comparison step. A determination process for determining the policy of
A version-up support method comprising:
請求項1において、
前記対象ソースコード、前記第1の標準ソースコード及び第2の標準ソースコードは、それぞれ複数のファイルを有し、
前記第1及び第2の工程、判定工程では、前記ファイルごとに比較結果及び判定結果を作成することを特徴とするバージョンアップ支援方法。
In claim 1,
The target source code, the first standard source code, and the second standard source code each have a plurality of files,
In the first and second steps and the determination step, a comparison result and a determination result are created for each of the files.
請求項2において、
前記第1の比較工程及び前記第2の比較工程では、前記複数のファイルのファイル名に基いて、比較対象とするファイルを決定することを特徴とするバージョンアップ支援方法。
In claim 2,
In the first comparison step and the second comparison step, a file to be compared is determined based on file names of the plurality of files.
請求項3において、
前記第1及び前記第2の比較工程の比較結果は、差分有り、差分無し、新規及び削除を含むことを特徴とするバージョンアップ支援方法。
In claim 3,
The version upgrade support method characterized in that the comparison results of the first and second comparison steps include a difference, no difference, new and deletion.
請求項1乃至4のいずれかにおいて、
前記第1の比較の結果では差分無しであり、前記第2の比較の結果では差分有りの場合、前記判定結果として、前記対象ソースコードに前記第2の標準ソースコードへ適用可能であることを出力することを特徴とするバージョンアップ支援方法。
In any one of Claims 1 thru | or 4,
When there is no difference in the result of the first comparison and there is a difference in the result of the second comparison, the determination result is applicable to the second standard source code as the target source code. A version upgrade support method characterized by outputting.
請求項1乃至4のいずれかにおいて、
前記第1の比較の結果では差分有りであり、前記第2の比較の結果では差分無しの場合、前記判定結果としてバージョンアップ不要であることを出力することを特徴とするバージョンアップ支援方法。
In any one of Claims 1 thru | or 4,
A version upgrade support method characterized in that if there is a difference in the result of the first comparison and there is no difference in the result of the second comparison, it is output that version upgrade is unnecessary as the determination result.
請求項2乃至4のいずれかにおいて、
影響範囲算出部が、前記複数のファイルの呼び出し関係情報と、前記判定結果に基いて、バージョンアップの影響範囲を算出することを特徴とするバージョンアップ支援方法。
In any of claims 2 to 4,
An upgrade support method, wherein an affected range calculation unit calculates an affected range of upgrade based on the call relation information of the plurality of files and the determination result.
対象ソースコードを、第1の標準ソースコードと比較する第1の比較工程と、前記第1の標準ソースコードを、前記第1の標準ソースコードの同じソースコードのバージョン違いである第2の標準ソースコードと比較する第2」の比較工程と、を行うソース比較処理部と、
前記第1の比較工程の比較結果と、前記第2の比較工程の比較結果とに基いて、前記第2の標準ソースコードにかかるバージョンへの前記対象ソースコードのバージョンアップの方針を判定する判定工程を行う種別判定処理部と、
を備えたことを特徴とするバージョンアップ支援システム。
A first comparison step for comparing the target source code with the first standard source code, and a second standard in which the first standard source code is a version difference of the same source code of the first standard source code A source comparison processing unit for performing a second comparison step comparing with source code;
Judgment for determining a policy for upgrading the target source code to a version of the second standard source code based on the comparison result of the first comparison step and the comparison result of the second comparison step A type determination processing unit that performs the process;
An upgrade support system characterized by comprising:
JP2013213302A 2013-10-11 2013-10-11 Program upgrade assistance method and program upgrade assistance system Pending JP2015076025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013213302A JP2015076025A (en) 2013-10-11 2013-10-11 Program upgrade assistance method and program upgrade assistance system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013213302A JP2015076025A (en) 2013-10-11 2013-10-11 Program upgrade assistance method and program upgrade assistance system

Publications (1)

Publication Number Publication Date
JP2015076025A true JP2015076025A (en) 2015-04-20

Family

ID=53000806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013213302A Pending JP2015076025A (en) 2013-10-11 2013-10-11 Program upgrade assistance method and program upgrade assistance system

Country Status (1)

Country Link
JP (1) JP2015076025A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045354A (en) * 2015-08-28 2017-03-02 富士通株式会社 Software development support program, software development support apparatus, and software development support method
WO2023152880A1 (en) * 2022-02-10 2023-08-17 三菱電機株式会社 Vulnerability analysis device and vulnerabilty analysis method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045354A (en) * 2015-08-28 2017-03-02 富士通株式会社 Software development support program, software development support apparatus, and software development support method
WO2023152880A1 (en) * 2022-02-10 2023-08-17 三菱電機株式会社 Vulnerability analysis device and vulnerabilty analysis method

Similar Documents

Publication Publication Date Title
US10419546B2 (en) Migration assessment for cloud computing platforms
US8255903B2 (en) Data processing system and method
US9754242B2 (en) Deployment mechanism for non-versioning business process artifacts
US10489591B2 (en) Detection system and method thereof
US10621211B2 (en) Language tag management on international data storage
CN111381825B (en) Method and device for generating small program
US20180121338A1 (en) Automatically detecting internationalization (i18n) issues in source code as part of static source code analysis
JP2006048645A (en) Method and system for embedding context information in document
CN112685105A (en) Front-end component sharing method and device, computer equipment and storage medium
US9436460B2 (en) Regression alerts
CN113485744A (en) Code synchronization method and device
US20210089286A1 (en) System and method for managing software application currency
US20230061121A1 (en) Methods concerning ongoing treatment for cancer
CN113094085A (en) Component integration method and device, computer-readable storage medium and electronic equipment
JP2015076025A (en) Program upgrade assistance method and program upgrade assistance system
US8612964B2 (en) Migrating unified modeling language models across unified modeling language profiles
US20210073018A1 (en) Enhanced virtual machine image management system
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
JP6336919B2 (en) Source code review method and system
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
US11003740B2 (en) Preventing partial change set deployments in content management systems
CN114527993A (en) Application deployment method, device, equipment and medium
CN112256365A (en) Method and terminal for automatically managing multi-language versions
CN111651195A (en) System dependency package conflict detection method and device
CN111045724A (en) Query method and device for call chain information and readable storage medium