JP2012194945A - Management program, management method, and management device - Google Patents

Management program, management method, and management device Download PDF

Info

Publication number
JP2012194945A
JP2012194945A JP2011060330A JP2011060330A JP2012194945A JP 2012194945 A JP2012194945 A JP 2012194945A JP 2011060330 A JP2011060330 A JP 2011060330A JP 2011060330 A JP2011060330 A JP 2011060330A JP 2012194945 A JP2012194945 A JP 2012194945A
Authority
JP
Japan
Prior art keywords
program
analysis target
target function
analysis
registered
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
JP2011060330A
Other languages
Japanese (ja)
Other versions
JP5712711B2 (en
Inventor
Junpei Maehama
順平 前濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011060330A priority Critical patent/JP5712711B2/en
Publication of JP2012194945A publication Critical patent/JP2012194945A/en
Application granted granted Critical
Publication of JP5712711B2 publication Critical patent/JP5712711B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for improving retrieval accuracy of similar programs in retrieving similar programs of a program from registered programs.SOLUTION: An analysis information storage part 101 stores analysis target functions for determining similarity among programs. A registered program storage part 102 stores, for each registered program, identification information for specifying the registered program, analysis target functions included in the registered program, and analysis target functions included in another registered program called by identification information from the registered program, in association with each other. An analysis part 12 acquires analysis target functions included in a processing target program. An extraction part 13 extracts the registered program stored in association with the same analysis target functions as the analysis target functions acquired from the processing target program, from the registered program storage part 102. An output part 14 outputs the extracted registered program as a similar program.

Description

本発明は,プログラムの管理を行う管理プログラム,管理方法および管理装置に関するものである。   The present invention relates to a management program, a management method, and a management apparatus that manage programs.

プログラム部品を管理し,再利用することで,プログラミングに掛かるコストやバグを削減することが行われている。   By managing and reusing program parts, programming costs and bugs are reduced.

プログラム部品の管理では,プログラム部品の登録や,登録するプログラム部品への索引情報の付与などが,プログラマに一任されることも多い。そのため,プログラム部品の登録時に適切な索引情報が付与されなかったことで後日の検索が難しくなったり,同じようなプログラム部品が異なる索引情報で重複して登録されるなどの問題がある。   In the management of program parts, it is often left to the programmer to register program parts and assign index information to the program parts to be registered. For this reason, there is a problem in that it is difficult to search at a later date because appropriate index information is not given at the time of program part registration, or that similar program parts are registered with different index information.

登録するプログラムに対する索引情報の付与精度を上げるためには,登録時に登録済みプログラムの中から類似するプログラムを検索し,その類似プログラムの索引情報を参照しながら,登録するプログラムに索引情報を付与できるようにすることが望ましい。   To improve the accuracy of index information assignment for registered programs, similar programs can be searched from registered programs at the time of registration, and index information can be assigned to registered programs while referring to the index information of the similar programs. It is desirable to do so.

なお,プロセスモデルを,該プロセスモデルに含まれる参照関数にリンクさせてDBに登録し,検索・再利用を容易にする技術が知られている。   A technique is known in which a process model is linked to a reference function included in the process model and registered in a DB to facilitate retrieval and reuse.

特表2004−535021号公報Special table 2004-535021 gazette

上記のプログラム検索の技術を利用することによって,例えば,登録しようとするプログラムに含まれる標準関数と同じ標準関数を含む登録済みプログラムを,類似プログラムとして検索することは可能である。   By using the program search technique described above, for example, a registered program including the same standard function as the standard function included in the program to be registered can be searched as a similar program.

しかし,上述のプログラム検索の技術では,個々のプログラムに閉じた検索しか行うことができない。多くのプログラムでは,外部の別のプログラムへの呼び出しが行われている。別のプログラムを呼び出しているプログラムが登録されている場合に,この呼び出し対象の別プログラムに含まれる標準関数をも加味した検索を行うことができなければ,精度の高い類似プログラムの検索はできない。   However, with the above-described program search technique, only closed search can be performed for each program. Many programs make calls to other external programs. If a program that calls another program is registered, it is impossible to search for a similar program with high accuracy unless a search that also includes the standard function included in the other program to be called can be performed.

一側面では,本発明は,あるプログラムの類似プログラムを登録されたプログラムから検索する場合において,類似プログラムの検索精度を向上させる技術を提供することを目的とする。   In one aspect, an object of the present invention is to provide a technique for improving the retrieval accuracy of a similar program when a similar program of a program is retrieved from a registered program.

1態様では,開示するプログラムは,コンピュータを,次のように機能させる。   In one aspect, the disclosed program causes a computer to function as follows.

すなわち,前記プログラムは,前記プログラムがインストールされて実行されるコンピュータに,プログラム同士の類似性の判断に用いる所定の分析対象関数が記憶された記憶部を参照して,所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得し,登録プログラムごとに,該登録プログラムを特定する識別情報と,所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とが対応付けて記憶された記憶部を,第1の分析対象関数情報をもとに検索して,第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,第1の分析対象関数情報と同じ登録プログラムを抽出し,抽出した登録プログラムを,処理対象プログラムに類似するプログラムとして出力する処理を実行させる。   That is, the program refers to a storage unit in which a predetermined analysis target function used for determining similarity between programs is stored in a computer on which the program is installed and executed. The first analysis target function information indicating the analysis target function included in the processing target program is acquired, and for each registration program, the identification information for identifying the registration program and the predetermined analysis target function are stored in the registration program. The second analysis target function information indicating the included analysis target function and the third analysis target function information indicating the analysis target function included in another registration program called by the registration information from the registration program are stored in association with each other. The stored storage unit is searched based on the first analysis target function information, and the second analysis target function information and the third analysis target function information are searched. Analyte function information including extracts the same registration program in the first analysis target function information, the extracted registration program, to execute a process of outputting a similar program to the processing target program.

1態様では,あるプログラムの類似プログラムを登録されたプログラムから検索する場合において,類似プログラムの検索精度が向上する。   In one aspect, when a similar program of a program is searched from registered programs, the search accuracy of the similar program is improved.

本実施の形態によるプログラム管理装置の構成例を示す図である。It is a figure which shows the structural example of the program management apparatus by this Embodiment. 本実施の形態によるプログラム管理装置を実現するコンピュータのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the computer which implement | achieves the program management apparatus by this Embodiment. 本実施の形態による分析情報記憶部が格納するデータの例を示す図である。It is a figure which shows the example of the data which the analysis information storage part by this Embodiment stores. 本実施の形態による登録プログラム記憶部が格納するデータの例を示す図である。It is a figure which shows the example of the data which the registration program memory | storage part by this Embodiment stores. 本実施の形態による登録プログラム記憶部が格納するデータの例を示す図である。It is a figure which shows the example of the data which the registration program memory | storage part by this Embodiment stores. 本実施の形態による抽出結果記憶部が格納するデータの例を示す図である。It is a figure which shows the example of the data which the extraction result memory | storage part by this Embodiment stores. 本実施の形態による出力部が表示装置に出力するプログラム登録画面の例を示す図である。It is a figure which shows the example of the program registration screen which the output part by this Embodiment outputs to a display apparatus. 本実施の形態のプログラム管理装置によるプログラム登録処理フローチャートである。It is a program registration process flowchart by the program management apparatus of this Embodiment. 本実施の形態の分析部によるプログラム分析処理フローチャートである。It is a program analysis processing flowchart by the analysis part of this Embodiment. 本実施の形態の抽出部による類似プログラム抽出処理フローチャートである。It is a similar program extraction process flowchart by the extraction part of this Embodiment. 本実施の形態の登録部によるプログラム登録処理フローチャートである。It is a program registration process flowchart by the registration part of this Embodiment. 本実施の形態の更新部によるデータ更新処理フローチャートである。It is a data update process flowchart by the update part of this Embodiment.

以下,本実施の形態について,図を用いて説明する。   Hereinafter, the present embodiment will be described with reference to the drawings.

図1は,本実施の形態によるプログラム管理装置の構成例を示す図である。   FIG. 1 is a diagram showing a configuration example of a program management apparatus according to the present embodiment.

図1に示す本実施の形態のプログラム管理装置10は,例えばプログラムの再利用を目的として,複数のプログラムの登録・管理を行う。   The program management apparatus 10 according to the present embodiment shown in FIG. 1 registers and manages a plurality of programs, for example, for the purpose of program reuse.

本実施の形態のプログラム管理装置10は,プログラム管理装置10に登録済みのプログラムから,これからプログラム管理装置10に登録しようとしているプログラムと類似するプログラムを検索する,類似プログラム検索機能を有する。以下では,プログラム管理装置10に登録済みのプログラムを,登録プログラムと呼ぶ。また,これからプログラム管理装置10に登録しようとしているプログラムを,処理対象プログラムと呼ぶ。   The program management apparatus 10 according to the present embodiment has a similar program search function for searching a program similar to a program to be registered in the program management apparatus 10 from a program already registered in the program management apparatus 10. Hereinafter, a program registered in the program management apparatus 10 is referred to as a registered program. In addition, a program that is going to be registered in the program management apparatus 10 from now on is called a processing target program.

図1に示すプログラム管理装置10は,プログラム入力部11,分析部12,抽出部13,出力部14,登録部15,更新部16,分析情報記憶部101,登録プログラム記憶部102,抽出結果記憶部103を備える。図1に示すプログラム管理装置10において,実線の接続は主に制御関係を示し,破線の接続は主にデータの入出力を示す。   1 includes a program input unit 11, an analysis unit 12, an extraction unit 13, an output unit 14, a registration unit 15, an update unit 16, an analysis information storage unit 101, a registered program storage unit 102, and an extraction result storage. Part 103 is provided. In the program management apparatus 10 shown in FIG. 1, the solid line connection mainly indicates the control relationship, and the broken line connection mainly indicates data input / output.

プログラム入力部11は,プログラム管理装置10に登録する処理対象プログラムを入力する。入力される処理対象プログラムは,例えば,プログラミング言語で記述されたソースコードである。   The program input unit 11 inputs a processing target program to be registered in the program management apparatus 10. The input processing target program is, for example, source code described in a programming language.

分析部12は,入力された処理対象プログラムを分析し,その分析結果として,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得する。分析対象関数としては,例えば,プログラム同士の類似性の判断に用いる関数が設定される。分析対象関数としては,システムコールや,プログラミング言語で標準規格化された標準関数などが考えられる。   The analysis unit 12 analyzes the input processing target program and acquires first analysis target function information indicating the analysis target function included in the processing target program as the analysis result. As the analysis target function, for example, a function used for determining similarity between programs is set. The analysis target function may be a system call or a standard function standardized by a programming language.

分析対象関数は,例えば,分析情報記憶部101に記憶されたプログラム分析に関する情報で設定されている。分析情報記憶部101は,所定の分析対象関数を含むプログラム分析に関する情報を記憶する,コンピュータがアクセス可能な記憶部である。分析部12は,処理対象プログラムの分析時に,分析情報記憶部101に記憶された情報を参照して,処理対象プログラムに含まれる分析対象関数を取得する。   The analysis target function is set with information relating to program analysis stored in the analysis information storage unit 101, for example. The analysis information storage unit 101 is a computer-accessible storage unit that stores information related to program analysis including a predetermined analysis target function. When analyzing the processing target program, the analysis unit 12 refers to the information stored in the analysis information storage unit 101 and acquires the analysis target function included in the processing target program.

また,分析部12は,処理対象プログラムに登録プログラムを呼び出す識別情報が含まれている場合に,第1の分析対象関数情報を取得するとともに,処理対象プログラムに含まれる識別情報で呼び出される登録プログラムに含まれる分析対象関数を示す第4の分析対象関数情報を取得する。処理対象プログラムに含まれる登録プログラムを呼び出す識別情報は,例えば,処理対象プログラムに含まれるサブ関数の関数名である。例えば,処理対象プログラムに含まれるサブ関数が登録プログラムである場合には,分析部12は,処理対象プログラムに含まれるサブ関数の関数名で,処理対象プログラムから呼び出される登録プログラムを特定できる。分析部12は,登録プログラム記憶部102から特定された登録プログラムの分析結果を得ることで,処理対象プログラムの分析結果に,呼び出される登録プログラムの分析対象関数を含めることができる。   In addition, when the processing target program includes identification information for calling the registration program, the analysis unit 12 acquires the first analysis target function information and is registered with the identification information included in the processing target program. 4th analysis object function information which shows the analysis object function contained in is acquired. The identification information for calling the registered program included in the processing target program is, for example, the function name of the subfunction included in the processing target program. For example, when the subfunction included in the processing target program is a registered program, the analysis unit 12 can specify the registered program called from the processing target program by the function name of the subfunction included in the processing target program. The analysis unit 12 obtains the analysis result of the registered program specified from the registration program storage unit 102, so that the analysis target function of the registered program to be called can be included in the analysis result of the processing target program.

登録プログラム記憶部102は,登録プログラムに関する情報を記憶する,コンピュータがアクセス可能な記憶部である。例えば,登録プログラム記憶部102は,登録プログラムごとに,該登録プログラムを特定する識別情報と,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とを対応付けて記憶する。登録プログラムを特定する識別情報は,例えば,登録プログラムのメイン関数の関数名である。   The registered program storage unit 102 is a storage unit accessible by a computer that stores information related to the registered program. For example, for each registered program, the registered program storage unit 102 identifies identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registered program, and identification information from the registered program. And the third analysis target function information indicating the analysis target function included in another registered program called in the above is stored in association with each other. The identification information for specifying the registered program is, for example, the function name of the main function of the registered program.

また,登録プログラム記憶部102は,さらに,登録プログラムに,該登録プログラムの索引情報を対応付けて記憶する。索引情報は,ユーザがプログラム管理装置10から目的とする登録プログラムを引き出す際に,ユーザが入力したり,参照したりする情報である。索引情報としては,例えば,ユーザにとってそのプログラムの特徴が分かり易い文例などが望ましい。   The registered program storage unit 102 further stores the registered program in association with the index information of the registered program. The index information is information that the user inputs or refers to when the user pulls out a target registered program from the program management apparatus 10. As the index information, for example, a sentence example in which the user can easily understand the characteristics of the program is desirable.

抽出部13は,登録プログラム記憶部102を,処理対象プログラムから取得した第1の分析対象関数情報をもとに検索する。抽出部13は,登録プログラム記憶部102から,第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,第1の分析対象関数情報と同じ登録プログラムを抽出する。抽出部13により抽出された登録プログラムが,処理対象プログラムに類似すると判定されたプログラムである。以下では,処理対象プログラムに類似すると判定されたプログラムを,類似プログラムとも呼ぶ。抽出部13による登録プログラムの抽出結果は,抽出結果記憶部103に記憶される。抽出結果記憶部103は,類似プログラムの抽出結果を記憶する,コンピュータがアクセス可能な記憶部である。   The extraction unit 13 searches the registered program storage unit 102 based on the first analysis target function information acquired from the processing target program. The extraction unit 13 extracts a registration program in which the analysis target function information including the second analysis target function information and the third analysis target function information is the same as the first analysis target function information from the registration program storage unit 102. The registered program extracted by the extraction unit 13 is a program determined to be similar to the processing target program. Hereinafter, a program determined to be similar to the processing target program is also referred to as a similar program. The extraction result of the registration program by the extraction unit 13 is stored in the extraction result storage unit 103. The extraction result storage unit 103 is a storage unit accessible by a computer that stores the extraction results of similar programs.

また,抽出部13は,登録プログラム記憶部102を検索する際に,重要度が所定以上高い分析対象関数を一致判定の対象として,第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,第1の分析対象関数情報と同じ登録プログラムを抽出するようにしてもよい。   Further, when searching the registered program storage unit 102, the extraction unit 13 sets the second analysis target function information and the third analysis target function information as an object of determination of an analysis target function having a higher importance level than a predetermined level. The registered program having the same analysis target function information as that of the first analysis target function information may be extracted.

例えば,分析情報記憶部101では,分析対象関数ごとに重要度が設定されている。分析対象関数の中にも,プログラムの特徴を分析する上で,重要度が高い分析対象関数と重要度が低い分析対象関数とがある。2つのプログラム間で抽出される分析対象関数の一部が一致しなくても,その一致しない分析対象関数の重要度が低い場合には,それらの2つのプログラムが類似すると判定できる場合がある。このように,重要度の基準を変えて,処理対象プログラムの分析結果と登録プログラム分析結果との一致判定を行うことで,類似プログラムの検索精度を向上させることが可能となる。   For example, in the analysis information storage unit 101, the importance is set for each analysis target function. Among the analysis target functions, there are an analysis target function having high importance and an analysis target function having low importance in analyzing the characteristics of the program. Even if some of the analysis target functions extracted between the two programs do not match, it may be determined that the two programs are similar if the mismatched analysis target functions are of low importance. In this way, it is possible to improve the retrieval accuracy of similar programs by changing the importance criteria and determining whether the analysis result of the processing target program matches the registered program analysis result.

また,抽出部13は,処理対象プログラムに登録プログラムを呼び出す識別情報が含まれている場合に,登録プログラム記憶部102を,第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報をもとに検索する。このとき,抽出部13は,登録プログラム記憶部102から,第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報と同じ登録プログラムを抽出する。   Further, when the processing target program includes identification information for calling the registration program, the extraction unit 13 causes the registration program storage unit 102 to analyze the first analysis target function information and the fourth analysis target function information. Search based on target function information. At this time, the extraction unit 13 receives the analysis target function information including the second analysis target function information and the third analysis target function information from the registered program storage unit 102, the first analysis target function information and the fourth analysis target information. The same registered program as the analysis target function information including the target function information is extracted.

出力部14は,抽出した登録プログラムを,処理対象プログラムに類似するプログラムとして出力する。例えば,出力部14は,ユーザが処理対象プログラムに索引情報を付与してプログラム管理装置10に登録する作業を行うためのプログラム登録画面を,ディスプレイ等の表示装置に表示する。このとき,出力部14は,抽出された類似プログラムの情報を,ユーザが参照できるように,プログラム登録画面に出力する。   The output unit 14 outputs the extracted registered program as a program similar to the processing target program. For example, the output unit 14 displays, on a display device such as a display, a program registration screen for the user to perform an operation of adding index information to the processing target program and registering it in the program management device 10. At this time, the output unit 14 outputs the extracted similar program information to the program registration screen so that the user can refer to it.

また,出力部14は,抽出した登録プログラムを処理対象プログラムに類似するプログラムとして出力する際に,さらに抽出した登録プログラムに対応付けられた索引情報を出力する。例えば,出力部14は,プログラム登録画面に抽出された類似プログラムの情報を出力する際に,抽出された類似プログラムに対応付けられた索引情報も,同時にプログラム登録画面に出力する。   Further, when outputting the extracted registration program as a program similar to the processing target program, the output unit 14 further outputs index information associated with the extracted registration program. For example, when outputting the information of the extracted similar program on the program registration screen, the output unit 14 also outputs the index information associated with the extracted similar program on the program registration screen at the same time.

登録部15は,登録プログラム記憶部102に,処理対象プログラムのデータを登録する。例えば,登録部15は,登録する処理対象プログラムに,該処理対象プログラムを特定する識別情報と,該処理対象プログラムに含まれる分析対象関数を示す分析関数情報とを対応付けて,登録プログラム記憶部102に登録する。また,処理対象プログラムに別の登録プログラムを呼び出す識別情報が含まれている場合に,登録部15は,登録する処理対象プログラムに,該処理対象プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す分析関数情報をも対応付けて,登録プログラム記憶部102に登録する。また,登録部15は,登録する処理対象プログラムに,ユーザに指定された索引情報を対応付けて,登録プログラム記憶部102に登録する。   The registration unit 15 registers data of the processing target program in the registration program storage unit 102. For example, the registration unit 15 associates identification information for specifying the processing target program with the processing target program to be registered, and analysis function information indicating the analysis target function included in the processing target program, thereby registering the registered program storage unit. 102. In addition, when the processing target program includes identification information for calling another registered program, the registration unit 15 includes the processing target program to be registered in another registration program called from the processing target program with the identification information. Analysis function information indicating the analysis target function to be registered is also associated with the registered program storage unit 102 and registered. Further, the registration unit 15 associates the index information designated by the user with the processing target program to be registered, and registers it in the registration program storage unit 102.

更新部16は,処理対象プログラムの識別情報を含む登録プログラムを,登録プログラム記憶部102から検索する。更新部16は,検索された登録プログラムに処理対象プログラムを関連付けて,登録プログラム記憶部102に記憶する。例えば,登録プログラムに処理対象プログラムの識別情報が含まれている場合,処理対象プログラムは,該登録プログラムのサブ関数となる。このとき,該登録プログラムから呼び出される処理対象プログラムに含まれる分析対象関数を,該登録プログラムの分析結果に含めるために,処理対象プログラムの該登録プログラムへの関連付けを行う。このような更新部16の処理によって,呼び出し対象プログラムの分析対象関数を含む類似プログラム検索の対象を増やすことが可能となる。   The update unit 16 searches the registered program storage unit 102 for a registered program including identification information of the processing target program. The update unit 16 associates the processing target program with the searched registration program and stores it in the registration program storage unit 102. For example, when the registration program includes identification information of the processing target program, the processing target program is a subfunction of the registration program. At this time, in order to include the analysis target function included in the processing target program called from the registration program in the analysis result of the registration program, the processing target program is associated with the registration program. By such processing of the update unit 16, it is possible to increase the number of similar program search targets including the analysis target function of the call target program.

図2は,本実施の形態によるプログラム管理装置を実現するコンピュータのハードウェア構成例を示す図である。   FIG. 2 is a diagram illustrating a hardware configuration example of a computer that realizes the program management apparatus according to the present embodiment.

図1に示す本実施の形態のプログラム管理装置10は,例えば,CPU(Central Processing Unit )2,主記憶となるメモリ3,記憶装置4,通信装置5,媒体読取・書込装置6,入力装置7,出力装置8等を備えるコンピュータ1によって実現される。記憶装置4は,例えばHDD(Hard Disk Drive )などである。媒体読取・書込装置6は,例えばCD−R(Compact Disc Recordable )ドライブやDVD−R(Digital Versatile Disc Recordable )ドライブなどである。入力装置7は,例えばキーボード・マウスなどである。出力装置8は,例えばディスプレイ等の表示装置などである。   1 includes, for example, a CPU (Central Processing Unit) 2, a main memory 3, a storage device 4, a communication device 5, a medium reading / writing device 6, and an input device. 7 and the computer 1 having the output device 8 and the like. The storage device 4 is, for example, an HDD (Hard Disk Drive). The medium reading / writing device 6 is, for example, a CD-R (Compact Disc Recordable) drive or a DVD-R (Digital Versatile Disc Recordable) drive. The input device 7 is, for example, a keyboard / mouse. The output device 8 is a display device such as a display, for example.

図1に示すプログラム管理装置10およびプログラム管理装置10が備える各機能部は,コンピュータ1が備えるCPU2,メモリ3等のハードウェアと,ソフトウェアプログラムとによって実現することが可能である。コンピュータ1が実行可能なプログラムは,記憶装置4に記憶され,その実行時にメモリ3に読み出され,CPU2により実行される。   The program management device 10 and each function unit included in the program management device 10 illustrated in FIG. 1 can be realized by hardware such as the CPU 2 and the memory 3 included in the computer 1 and a software program. A program that can be executed by the computer 1 is stored in the storage device 4, read into the memory 3 at the time of execution, and executed by the CPU 2.

コンピュータ1は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ1は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータ1で読み取り可能な記録媒体に記録しておくことができる。   The computer 1 can also read a program directly from a portable recording medium and execute processing according to the program. The computer 1 can also sequentially execute processing according to the received program every time the program is transferred from the server computer. Further, this program can be recorded on a recording medium readable by the computer 1.

図3は,本実施の形態による分析情報記憶部が格納するデータの例を示す図である。   FIG. 3 is a diagram illustrating an example of data stored in the analysis information storage unit according to the present embodiment.

図3(A)に示す分析対象関数データ110,図3(B)に示す分析対象外関数データ111は,分析情報記憶部101に記憶されたプログラム分析に関する情報の一例である。   The analysis target function data 110 illustrated in FIG. 3A and the non-analysis function data 111 illustrated in FIG. 3B are examples of information relating to program analysis stored in the analysis information storage unit 101.

図3(A)に示す分析対象関数データ110は,分析部12によるプログラムの分析において,処理対象プログラムから取得する対象となる分析対象関数が設定された情報である。分析対象関数は,例えば,標準関数などである。使用頻度が高く,プログラムを特徴付ける重要な要素となり得るユーザ関数が,分析対象関数に設定されていてもよい。本実施の形態による分析部12は,分析対象関数データ110に記録された分析対象関数を,分析結果として抽出する。   The analysis target function data 110 shown in FIG. 3A is information in which an analysis target function to be acquired from the processing target program is set in the analysis of the program by the analysis unit 12. The analysis target function is, for example, a standard function. A user function that is frequently used and can be an important element characterizing the program may be set as the analysis target function. The analysis unit 12 according to the present embodiment extracts the analysis target function recorded in the analysis target function data 110 as an analysis result.

図3(A)に示す分析対象関数データ110は,関数ID,関数名,重み値等の情報を持つ。図3(A)に示す分析対象関数データ110において,関数IDは,設定された分析対象関数を一意に識別する識別情報である。関数名は,分析対象関数の関数名を示す。重み値は,分析対象関数の重要度を示す情報である。本実施の形態では,各分析対象関数に対して5段階の重み値が設定されている。ここでは,重み値は,値が大きいほど重要度が高いものとする。重み値1が設定された分析対象関数の重要度は最も低く,重み値5が設定された分析対象関数の重要度は最も高い。   The analysis target function data 110 shown in FIG. 3A has information such as a function ID, a function name, and a weight value. In the analysis target function data 110 shown in FIG. 3A, the function ID is identification information for uniquely identifying the set analysis target function. The function name indicates the function name of the analysis target function. The weight value is information indicating the importance of the analysis target function. In the present embodiment, five levels of weight values are set for each analysis target function. Here, the weight value is assumed to be more important as the value is larger. The analysis target function with the weight value 1 set has the lowest importance, and the analysis target function with the weight value 5 set has the highest importance.

図3(B)に示す分析対象外関数データ111は,分析部12によるプログラムの分析において,処理対象プログラムから取得する対象とならない分析対象外関数が設定された情報である。プログラムに含まれる関数の中には,分析結果として抽出することによって,かえってそのプログラムの特徴を失わせてしまう関数がある。本実施の形態による分析部12は,処理対象プログラムに分析対象外関数データ111に記録された分析対象外関数が含まれている場合に,その存在を無視する。   The non-analysis function data 111 shown in FIG. 3B is information in which a non-analysis function that is not a target to be acquired from the processing target program in the analysis of the program by the analysis unit 12 is set. Among the functions included in a program, there is a function that loses the characteristics of the program by extracting it as an analysis result. The analysis unit 12 according to the present embodiment ignores the presence of a non-analysis function recorded in the non-analysis function data 111 in the processing target program.

図3(B)に示す分析対象外関数データ111は,番号,関数名,プログラム内容等の情報を持つ。図3(B)に示す分析対象外関数データ111において,番号は,分析対象外関数のレコードに付された番号である。関数名は,分析対象外関数の関数名を示す。プログラム内容は,分析対象外関数がユーザ関数である場合において,その分析対象外関数のソースコードを示す。   The non-analysis function data 111 shown in FIG. 3B has information such as numbers, function names, and program contents. In the non-analysis function data 111 shown in FIG. 3B, the number is a number assigned to the non-analysis function record. The function name indicates the function name of the function not to be analyzed. The program content indicates the source code of the non-analysis function when the non-analysis function is a user function.

図4,図5は,本実施の形態による登録プログラム記憶部が格納するデータの例を示す図である。   4 and 5 are diagrams showing examples of data stored in the registered program storage unit according to the present embodiment.

図4に示す登録プログラム管理データ120,図5に示す文例管理データ121は,登録プログラム記憶部102に記憶された登録プログラムに関する情報の一例である。   The registration program management data 120 shown in FIG. 4 and the sentence example management data 121 shown in FIG. 5 are examples of information related to the registration program stored in the registration program storage unit 102.

図4に示す登録プログラム管理データ120は,各登録プログラムのデータを管理する情報である。図4に示す登録プログラム管理データ120は,管理番号,プログラム名,プログラム内容,呼び出し関係,分析結果の情報を持つ。   The registered program management data 120 shown in FIG. 4 is information for managing data of each registered program. The registered program management data 120 shown in FIG. 4 has management number, program name, program content, call relationship, and analysis result information.

図4に示す登録プログラム管理データ120において,管理番号は,各登録プログラムをプログラム管理装置10内部で識別するために付された番号である。   In the registered program management data 120 shown in FIG. 4, the management number is a number assigned to identify each registered program within the program management apparatus 10.

図4に示す登録プログラム管理データ120において,プログラム名は,プログラムを識別する識別情報である。本実施の形態では,原則として,登録プログラムのプログラム名に,その登録プログラムのメイン関数の関数名が使用される。これにより,プログラム名を登録プログラムの識別情報として,登録プログラムの呼び出し関係を管理することが可能となる。だだし,特にユーザからプログラム名の指定があった場合には,ユーザに指定されたものをプログラム名とする。例えば,登録プログラムのメイン関数の関数名が,“main”である場合などには,プログラム管理装置10は,ユーザにプログラム名の指定を促す。   In the registered program management data 120 shown in FIG. 4, the program name is identification information for identifying a program. In this embodiment, in principle, the function name of the main function of the registered program is used as the program name of the registered program. This makes it possible to manage the calling relationship of registered programs using the program name as identification information of the registered program. However, especially when the program name is specified by the user, the program name is specified by the user. For example, when the function name of the main function of the registered program is “main”, the program management apparatus 10 prompts the user to specify the program name.

図4に示す登録プログラム管理データ120において,プログラム内容は,登録プログラムのソースコードを示す。   In the registered program management data 120 shown in FIG. 4, the program content indicates a source code of the registered program.

図4に示す登録プログラム管理データ120において,呼び出し関係は,登録プログラムに含まれるサブ関数が別のプログラムの呼び出しを行っている際の呼び出し関係を管理する情報である。図4に示す登録プログラム管理データ120の呼び出し関係では,
「サブ関数の関数名」:「呼び出し対象の登録プログラムの管理番号」
の形式で,登録プログラム間の呼び出し関係が示されている。
In the registered program management data 120 shown in FIG. 4, the call relationship is information for managing a call relationship when a sub-function included in the registered program is calling another program. In the calling relationship of the registered program management data 120 shown in FIG.
“Function name of sub-function”: “Management number of registered program to be called”
The call relationship between registered programs is shown in the form

例えば,図4に示す登録プログラム管理データ120において,管理番号#003の登録プログラムのサブ関数sub4は,管理番号#004の登録プログラムのプログラム名,すなわち管理番号#004の登録プログラムのメイン関数の関数名sub4と一致する。このことから,管理番号#004の登録プログラムは,管理番号#003の登録プログラムからの呼び出し対象のプログラムであることがわかる。この関係sub4:#004が,管理番号#003のレコードの呼び出し関係に記録される。なお,「呼び出し対象の登録プログラムの管理番号」がnoneである場合には,そのサブ関数の関数名の登録プログラムがなく,プログラム管理装置10内で呼び出し関係が解決できていないことを示している。   For example, in the registered program management data 120 shown in FIG. 4, the subfunction sub4 of the registered program with the management number # 003 is the program name of the registered program with the management number # 004, that is, the function of the main function of the registered program with the management number # 004. It matches the name sub4. From this, it can be seen that the registration program of management number # 004 is a program to be called from the registration program of management number # 003. This relationship sub4: # 004 is recorded in the calling relationship of the record with the management number # 003. Note that if the “management number of the registration program to be called” is none, it indicates that there is no registration program for the function name of the subfunction and the calling relationship cannot be resolved in the program management apparatus 10. .

登録プログラムのメイン関数で呼び出されるサブ関数が,その登録プログラム内部に存在する場合には,呼び出し関係の情報への記録は行われない。例えば,図4に示す登録プログラム管理データ120において,管理番号#002の登録プログラムのメイン関数では,3つのサブ関数sub1,sub2,sub3の呼び出しが行われている。だだし,そのうちの2つのサブ関数sub1,sub2は,管理番号#002の登録プログラムの内部に存在している。そのため,図4に示す登録プログラム管理データ120における管理番号#002のレコードでは,サブ関数sub1,sub2については,呼び出し関係が記録されていない。   If a subfunction called by the main function of a registered program exists in the registered program, no information is recorded in the call-related information. For example, in the registered program management data 120 shown in FIG. 4, in the main function of the registered program with management number # 002, three sub-functions sub1, sub2, sub3 are called. However, two of these sub-functions sub1 and sub2 exist in the registration program of management number # 002. Therefore, in the record of the management number # 002 in the registered program management data 120 shown in FIG. 4, the calling relationship is not recorded for the sub functions sub1 and sub2.

図4に示す登録プログラム管理データ120において,分析結果は,登録プログラムに含まれる分析対象関数の情報である。図4に示す登録プログラム管理データ120の分析結果では,分析対象関数が,図3(A)の分析対象関数データ110における関数IDで示されている。   In the registered program management data 120 shown in FIG. 4, the analysis result is information on the analysis target function included in the registered program. In the analysis result of the registered program management data 120 shown in FIG. 4, the analysis target function is indicated by the function ID in the analysis target function data 110 of FIG.

なお,図4に示す登録プログラム管理データ120では,登録プログラムのサブ関数が別の登録プログラムとして存在する場合には,その別の登録プログラムに含まれる分析対象関数も,分析結果に含まれている。例えば,管理番号#003の登録プログラム自身には,分析対象関数が1つも含まれていない。だだし,管理番号#003の登録プログラムのサブ関数sub4,sub5で呼び出される管理番号#004,管理番号#005の登録プログラムには,分析対象関数が含まれている。そのため,図4に示す登録プログラム管理データ120では,管理番号#003の登録プログラムの分析結果に,管理番号#004,管理番号#005の登録プログラムの分析結果における分析対象関数が記録されている。   In the registered program management data 120 shown in FIG. 4, when the registered program sub-function exists as another registered program, the analysis target function included in the other registered program is also included in the analysis result. . For example, the registered program with the management number # 003 does not include any analysis target function. However, the analysis target function is included in the registration program of management number # 004 and management number # 005 called by the subfunctions sub4 and sub5 of the registration program of management number # 003. Therefore, in the registered program management data 120 shown in FIG. 4, the analysis target function in the analysis result of the registration program of management number # 004 and management number # 005 is recorded in the analysis result of the registration program of management number # 003.

図5に示す文例管理データ121は,文例を索引情報として登録プログラムを管理する情報である。図5に示す文例管理データ121は,文例,プログラム名,管理番号,分析結果,利用回数等の情報を持つ。図5に示す文例管理データ121において,文例は,登録プログラムの索引情報である。プログラム名,管理番号,分析結果は,図4に示す登録プログラム管理データ120のプログラム名,管理番号,分析結果に相当する。利用回数は,登録プログラムが再利用された回数を示す。   The sentence example management data 121 shown in FIG. 5 is information for managing a registered program as a sentence example as index information. The sentence example management data 121 shown in FIG. 5 has information such as a sentence example, a program name, a management number, an analysis result, and the number of uses. In the sentence example management data 121 shown in FIG. 5, the sentence example is index information of a registered program. The program name, management number, and analysis result correspond to the program name, management number, and analysis result of the registered program management data 120 shown in FIG. The usage count indicates the number of times the registered program has been reused.

図6は,本実施の形態による抽出結果記憶部が格納するデータの例を示す図である。   FIG. 6 is a diagram illustrating an example of data stored in the extraction result storage unit according to the present embodiment.

図6に示す類似プログラムリストデータ130は,抽出結果記憶部103に記憶された類似プログラムの抽出結果の一例である。図6に示す類似プログラムリストデータ130は,プログラム名,文例,プログラムID,類似判定重み値等の情報を持つ。図6に示す類似プログラムリストデータ130において,プログラム名,文例,プログラムIDは,図4に示す登録プログラム管理データ120,図5に示す文例管理データ121のプログラム名,文例,プログラムIDに相当する。類似判定重み値は,類似プログラムが抽出された際の,一致判定の対象となる分析対象関数の重み値の範囲を示す。例えば,類似判定重み値が2である場合には,その類似プログラムの分析結果と処理対象プログラムの分析結果との一致判定で,重み値が2〜5のすべての分析対象関数が一致したことを示している。   The similar program list data 130 illustrated in FIG. 6 is an example of a similar program extraction result stored in the extraction result storage unit 103. The similar program list data 130 shown in FIG. 6 has information such as a program name, a sentence example, a program ID, and a similarity determination weight value. In the similar program list data 130 shown in FIG. 6, the program name, sentence example, and program ID correspond to the registered program management data 120 shown in FIG. 4 and the program name, sentence example, and program ID of the sentence example management data 121 shown in FIG. The similarity determination weight value indicates the range of the weight value of the analysis target function that is the target of matching when a similar program is extracted. For example, when the similarity determination weight value is 2, it is confirmed that all the analysis target functions having the weight values of 2 to 5 match in the matching determination between the analysis result of the similar program and the analysis result of the processing target program. Show.

図7は,本実施の形態による出力部が表示装置に出力するプログラム登録画面の例を示す図である。   FIG. 7 is a diagram showing an example of a program registration screen that the output unit according to the present embodiment outputs to the display device.

図7に示すプログラム登録画面200は,ユーザがプログラム管理装置10への処理対象プログラムの登録を行う際に,ディスプレイ等の表示装置に表示される画面の例である。図7に示すプログラム登録画面200には,類似プログラムの検索結果も出力されている。   A program registration screen 200 shown in FIG. 7 is an example of a screen displayed on a display device such as a display when the user registers a program to be processed in the program management device 10. Similar program search results are also output on the program registration screen 200 shown in FIG.

図7に示すプログラム登録画面200において,類似プログラムリストは,登録プログラムから検出された類似プログラムの一覧である。図7に示すプログラム登録画面200の類似プログラムリストでは,類似プログラムのプログラム名と,類似プログラムに付与された索引情報である文例とが示されている。図7に示すプログラム登録画面200において,例えばユーザが類似プログラムリストのプログラム名を指定すると,その類似プログラムのソースコードなどの情報が表示される。類似プログラムの検索結果と,検出された類似プログラムに付与された索引情報とを合わせて画面に出力することで,ユーザは,登録する処理対象プログラムに適切な索引情報を付与することができるようになる。   In the program registration screen 200 shown in FIG. 7, the similar program list is a list of similar programs detected from the registered program. In the similar program list of the program registration screen 200 shown in FIG. 7, the program name of the similar program and a sentence example that is index information assigned to the similar program are shown. In the program registration screen 200 shown in FIG. 7, for example, when the user designates a program name in the similar program list, information such as the source code of the similar program is displayed. By outputting the similar program search result and the index information assigned to the detected similar program to the screen, the user can assign appropriate index information to the processing target program to be registered. Become.

図7に示すプログラム登録画面200において,文例入力欄は,ユーザが,登録する処理対象プログラムに付与する文例を入力する欄である。例えば,ユーザが登録する処理対象プログラムに類似プログラムと同じ文例を付与したい場合には,ユーザが類似プログラムリストの文例を指定すると,その文例が文例入力欄に入力される。ユーザが,ユーザが登録する処理対象プログラムに新たな文例を付与したい場合には,キーボードなどの入力装置によって文例入力欄に文例を入力する。   In the program registration screen 200 shown in FIG. 7, the sentence example input column is a column in which the user inputs a sentence example to be given to the processing target program to be registered. For example, when it is desired to give the same sentence example as the similar program to the processing target program registered by the user, when the user designates a sentence example in the similar program list, the sentence example is input to the sentence example input field. When the user wants to add a new sentence example to the processing target program registered by the user, the sentence example is input into the sentence example input field by an input device such as a keyboard.

図7に示すプログラム登録画面200において,プログラム名入力欄は,ユーザが,登録する処理対象プログラムにプログラム名を入力する欄である。プログラム名入力欄へのプログラム名の入力がない場合には,登録する処理対象プログラムのメイン関数の関数名が,その処理対象プログラムのプログラム名として登録される。   In the program registration screen 200 shown in FIG. 7, the program name input column is a column in which the user inputs a program name to the processing target program to be registered. If no program name is entered in the program name input field, the function name of the main function of the processing target program to be registered is registered as the program name of the processing target program.

以下,図8〜図12のフローチャートを用いて,本実施の形態のプログラム管理装置10による処理の流れを説明する。   Hereinafter, the flow of processing by the program management apparatus 10 of the present embodiment will be described using the flowcharts of FIGS.

図8は,本実施の形態のプログラム管理装置によるプログラム登録処理フローチャートである。   FIG. 8 is a flowchart of a program registration process performed by the program management apparatus according to this embodiment.

プログラム管理装置10においてプログラム入力部11は,登録する処理対象プログラムを入力する(ステップS10)。   In the program management apparatus 10, the program input unit 11 inputs a processing target program to be registered (step S10).

分析部12は,プログラム分析処理を実行する(ステップS11)。プログラム分析処理は,プログラムを分析し,プログラムに含まれる分析対象関数を取得する処理である。プログラム分析処理の詳細については,後述する。   The analysis unit 12 executes a program analysis process (step S11). The program analysis process is a process of analyzing a program and acquiring an analysis target function included in the program. Details of the program analysis processing will be described later.

抽出部13は,類似プログラム抽出処理を実行する(ステップS12)。類似プログラム抽出処理は,処理対象プログラムから取得した分析対象関数と同じ分析対象関数が対応付けられた登録プログラムを,類似プログラムとして抽出する処理である。類似プログラム抽出処理の詳細については,後述する。   The extraction unit 13 executes similar program extraction processing (step S12). The similar program extraction process is a process of extracting a registered program associated with the same analysis target function as the analysis target function acquired from the processing target program as a similar program. Details of the similar program extraction processing will be described later.

出力部14は,ユーザが処理対象プログラムを登録する作業を行うためのプログラム登録画面200を,ディスプレイなどの表示装置に表示する(ステップS13)。このとき,出力部14は,類似プログラムの抽出結果をプログラム登録画面200に出力する。   The output unit 14 displays a program registration screen 200 for the user to register the processing target program on a display device such as a display (step S13). At this time, the output unit 14 outputs the similar program extraction result to the program registration screen 200.

登録部15は,プログラム登録処理を実行する(ステップS14)。プログラム登録処理は,処理対象プログラムのデータを登録プログラム記憶部102に記録する処理である。プログラム登録処理の詳細については,後述する。   The registration unit 15 executes a program registration process (step S14). The program registration process is a process for recording data of the processing target program in the registered program storage unit 102. Details of the program registration process will be described later.

更新部16は,データ更新処理を実行する(ステップS15)。データ更新処理は,処理対象プログラムの呼び出しを行っている登録プログラムのデータを更新する処理である。データ更新処理の詳細については,後述する。   The update unit 16 executes data update processing (step S15). The data update process is a process for updating the data of the registered program that is calling the processing target program. Details of the data update process will be described later.

図9は,本実施の形態の分析部によるプログラム分析処理フローチャートである。   FIG. 9 is a flowchart of a program analysis process performed by the analysis unit according to this embodiment.

本実施の形態の分析部12による処理対象プログラムからの分析対象関数の取得では,分析部12は,処理対象プログラムの記述順で関数の分析を行い,分析対象関数を取得する。途中にサブ関数があり,そのサブ関数に含まれる分析対象関数の取得が可能であれば,分析部12は,該サブ関数から取得される分析対象関数を分析結果に加える。   In the acquisition of the analysis target function from the processing target program by the analysis unit 12 of the present embodiment, the analysis unit 12 analyzes the function in the description order of the processing target program and acquires the analysis target function. If there is a subfunction in the middle and the analysis target function included in the subfunction can be acquired, the analysis unit 12 adds the analysis target function acquired from the subfunction to the analysis result.

分析部12は,処理対象プログラムから,記述された順序で,関数を1つ取得する(ステップS20)。プログラミング言語ごとに,関数を記述するルールが決まっており,そのルールに従った分析を行うことにより,処理対象プログラムから関数を取得することができる。例えば,分析部12は,処理対象プログラムがC言語である場合に,“()”付きの文字列を関数として取得する。   The analysis unit 12 acquires one function from the processing target program in the described order (step S20). A rule for describing a function is determined for each programming language, and a function can be acquired from a processing target program by performing analysis according to the rule. For example, when the processing target program is C language, the analysis unit 12 acquires a character string with “()” as a function.

分析部12は,分析情報記憶部101の分析対象外関数データ111を参照し,取得された関数が分析対象外関数であるかを判定する(ステップS21)。取得された関数が分析対象外関数であれば(ステップS21のYES),分析部12は,ステップS29の処理に進む。本実施の形態によるプログラム分析処理では,分析対象外関数への対処は行われない。   The analysis unit 12 refers to the non-analysis function data 111 stored in the analysis information storage unit 101 and determines whether the acquired function is a non-analysis function (step S21). If the acquired function is a non-analysis function (YES in step S21), the analysis unit 12 proceeds to the process of step S29. In the program analysis processing according to the present embodiment, no action is taken for functions that are not analyzed.

取得された関数が分析対象外関数でなければ(ステップS21のNO),分析部12は,分析情報記憶部101の分析対象関数データ110を参照し,取得された関数が分析対象関数であるかを判定する(ステップS22)。取得された関数が分析対象関数であれば(ステップS22のYES),分析部12は,取得された関数を分析結果に加え(ステップS23),ステップS29の処理に進む。   If the acquired function is not a non-analysis function (NO in step S21), the analysis unit 12 refers to the analysis target function data 110 in the analysis information storage unit 101, and determines whether the acquired function is an analysis target function. Is determined (step S22). If the acquired function is an analysis target function (YES in step S22), the analysis unit 12 adds the acquired function to the analysis result (step S23), and proceeds to the process of step S29.

取得された関数が分析対象関数でなければ(ステップS22のNO),分析部12は,取得された関数が,処理対象プログラム内にプログラムが存在するサブ関数であるかを判定する(ステップS24)。取得された関数が処理対象プログラム内にプログラムが存在するサブ関数であれば(ステップS24のYES),分析部12は,処理対象プログラムに含まれる該当サブ関数のプログラムについて,再帰的にプログラム分析処理を実行し(ステップS25),ステップS29の処理に進む。   If the acquired function is not an analysis target function (NO in step S22), the analysis unit 12 determines whether the acquired function is a subfunction in which a program exists in the processing target program (step S24). . If the acquired function is a subfunction in which the program exists in the processing target program (YES in step S24), the analysis unit 12 recursively performs program analysis processing on the program of the corresponding subfunction included in the processing target program. Is executed (step S25), and the process proceeds to step S29.

例えば,処理対象プログラムが,図4の登録プログラム管理データ120における管理番号#002のレコードのプログラム内容に示されるようなプログラムであったものとする。このプログラムでは,メイン関数でサブ関数sub1,sub2,sub3を呼び出しているが,このうち2つのサブ関数sub1,sub2のプログラムについては,自身の内部に存在している。このようなサブ関数については,ステップS25の処理によって,分析対象関数が取得される。   For example, it is assumed that the processing target program is a program as shown in the program content of the record of management number # 002 in the registered program management data 120 of FIG. In this program, the sub-functions sub1, sub2, and sub3 are called by the main function. Among these, the programs of the two sub-functions sub1 and sub2 are present in the program itself. For such a sub-function, an analysis target function is acquired by the process of step S25.

取得された関数が処理対象プログラム内にプログラムが存在するサブ関数でなければ(ステップS24のNO),分析部12は,登録プログラム記憶部102の登録プログラム管理データ120を参照し,取得された関数が登録プログラムであるかを判定する(ステップS26)。ここでは,分析部12は,該当サブ関数の関数名で登録プログラム管理データ120のプログラム名を探索し,該当サブ関数の関数名とプログラム名が一致する登録プログラムが存在するかを判定する。   If the acquired function is not a subfunction in which the program exists in the processing target program (NO in step S24), the analysis unit 12 refers to the registered program management data 120 of the registered program storage unit 102 and acquires the acquired function. Is a registration program (step S26). Here, the analysis unit 12 searches for the program name of the registered program management data 120 using the function name of the corresponding subfunction, and determines whether there is a registered program whose function name matches the program name of the corresponding subfunction.

取得された関数が登録プログラムであれば(ステップS26のYES),分析部12は,登録プログラム記憶部102の登録プログラム管理データ120を参照し,該当登録プログラムの分析結果を今回の処理対象プログラムの分析結果に加え(ステップS27),ステップS29の処理に進む。なお,このとき,分析部12は,該当サブ関数と呼び出し対象の登録プログラムとを対応付けた呼び出し関係の情報を保持しておく。   If the acquired function is a registered program (YES in step S26), the analyzing unit 12 refers to the registered program management data 120 in the registered program storage unit 102, and the analysis result of the corresponding registered program is the current processing target program. In addition to the analysis result (step S27), the process proceeds to step S29. At this time, the analysis unit 12 retains call-related information in which the corresponding subfunction is associated with the registration program to be called.

例えば,処理対象プログラムが,図4の登録プログラム管理データ120における管理番号#003のレコードのプログラム内容に示されるようなプログラムであったものとする。このプログラムでは,メイン関数でサブ関数sub4,sub5,sub6を呼び出しているが,このうち2つのサブ関数sub4,sub5のプログラムについては,その関数名をプログラム名とする登録プログラムが存在する。このようなサブ関数については,ステップS27の処理によって,分析対象関数が取得される。   For example, it is assumed that the processing target program is a program as shown in the program content of the record of management number # 003 in the registered program management data 120 in FIG. In this program, the sub-functions sub4, sub5, and sub6 are called by the main function. Among the programs of the two sub-functions sub4 and sub5, there is a registered program having the function name as the program name. For such a sub-function, an analysis target function is acquired by the process of step S27.

取得された関数が登録プログラムでなければ(ステップS26のNO),分析部12は,取得された関数が未分析のサブ関数であると判定し(ステップS28),ステップS29の処理に進む。このとき,分析部12は,該当サブ関数に未分析を示すnoneを対応付けた呼び出し関係の情報を保持しておく。未分析のサブ関数については,その時点でプログラムの実体がわからないため,分析対象関数の取得ができない。   If the acquired function is not a registered program (NO in step S26), the analysis unit 12 determines that the acquired function is an unanalyzed subfunction (step S28), and proceeds to the process of step S29. At this time, the analysis unit 12 retains call-related information in which the corresponding subfunction is associated with a none indicating unanalysis. For unanalyzed subfunctions, the actual function of the program is not known at that time, so the analysis target function cannot be acquired.

分析部12は,処理対象プログラムのすべての関数について,処理が終了したかを判定する(ステップS29)。まだ,すべての関数について処理が終了していなければ(ステップS29のNO),ステップS20の処理に戻って,次の関数の処理に移る。すべての関数について処理が終了していれば(ステップS29のYES),分析部12は,処理を終了する。   The analysis unit 12 determines whether the processing has been completed for all the functions of the processing target program (step S29). If the processing has not been completed for all functions yet (NO in step S29), the process returns to the process of step S20 and proceeds to the process of the next function. If the processing has been completed for all functions (YES in step S29), the analysis unit 12 ends the processing.

図9に示すプログラム分析処理では,処理対象プログラムに別のプログラムの呼び出しがある場合に,その呼び出し対象のプログラムに含まれる分析対象関数も,分析結果として取得される。これにより,処理対象プログラムに別のプログラムの呼び出しがある場合に,呼び出し対象のプログラムに含まれる分析対象関数を考慮した,類似プログラムの検索が可能となる。   In the program analysis process shown in FIG. 9, when another program is called in the processing target program, the analysis target function included in the call target program is also acquired as an analysis result. As a result, when there is a call to another program in the processing target program, it is possible to search for a similar program in consideration of the analysis target function included in the calling target program.

図10は,本実施の形態の抽出部による類似プログラム抽出処理フローチャートである。   FIG. 10 is a flowchart of similar program extraction processing by the extraction unit of the present embodiment.

本実施の形態の抽出部13による類似プログラムの抽出では,分析結果の分析対象関数が順序も含めて処理対象プログラムの分析結果の分析対象関数と一致する登録プログラムが,類似プログラムとして登録プログラム記憶部102から抽出される。   In the extraction of similar programs by the extraction unit 13 of the present embodiment, a registered program in which the analysis target function of the analysis result matches the analysis target function of the analysis result of the processing target program including the order is registered program storage unit as a similar program 102.

抽出部13は,カウンタiを1に設定する(ステップS30)。カウンタiは,分析結果同士の一致判定において,一致判定の対象となる分析対象関数の重み値の範囲を示す。例えば,カウンタiの値が1であれば,一致判定の対象となる分析対象関数の重み値の範囲は1〜5となる。また,例えば,カウンタiの値が3であれば,一致判定の対象となる分析対象関数の重み値の範囲は3〜5となる。   The extraction unit 13 sets the counter i to 1 (step S30). The counter i indicates the range of the weight value of the analysis target function that is the target of the match determination in the match determination between the analysis results. For example, if the value of the counter i is 1, the range of the weight value of the analysis target function that is the target of the match determination is 1 to 5. For example, if the value of the counter i is 3, the range of the weight value of the analysis target function that is the target of the match determination is 3 to 5.

抽出部13は,登録プログラム記憶部102の登録プログラム管理データ120から,登録プログラムのレコードを1つ取得する(ステップS31)。   The extraction unit 13 acquires one record of the registration program from the registration program management data 120 of the registration program storage unit 102 (step S31).

抽出部13は,抽出結果記憶部103の類似プログラムリストデータ130を参照し,レコードが取得された登録プログラムが,類似プログラムの検索結果としてすでに抽出された登録プログラムであるかを判定する(ステップS32)。結果としてすでに抽出された登録プログラムであれば(ステップS32のYES),ステップS31の処理に戻り,次の登録プログラムの処理に移る。本実施の形態では,一致判定に用いる分析対象関数の重み値の基準を変えるたびに,登録プログラム管理データ120の最初のレコードに戻って処理を行うので,ステップS32の判定で,同じ登録プログラムを重複して抽出することを防ぐ。   The extraction unit 13 refers to the similar program list data 130 in the extraction result storage unit 103, and determines whether the registered program from which the record has been acquired is a registered program that has already been extracted as a similar program search result (step S32). ). As a result, if the registered program has already been extracted (YES in step S32), the process returns to step S31, and the process proceeds to the next registered program. In the present embodiment, each time the criteria of the weight value of the analysis target function used for matching determination is changed, processing is performed by returning to the first record of the registered program management data 120, so that the same registered program is determined in step S32. Prevent duplicate extraction.

結果としてすでに抽出された登録プログラムでなければ(ステップS32のNO),抽出部13は,重み値がi以上の分析対象関数について,取得された登録プログラムの分析結果を,処理対象プログラムの分析結果と比較する(ステップS33)。抽出部13は,重み値がi以上の分析対象関数について,双方のプログラムの分析結果が一致するかを判定する(ステップS34)。   If the registered program has not already been extracted as a result (NO in step S32), the extraction unit 13 uses the acquired registered program analysis result for the analysis target function having a weight value of i or more as the analysis result of the processing target program. (Step S33). The extraction unit 13 determines whether the analysis results of both programs match for an analysis target function having a weight value of i or more (step S34).

双方のプログラムの分析結果が一致すれば(ステップS34のYES),抽出部13は,取得された登録プログラムのデータを,抽出結果記憶部103の類似プログラムリストデータ130に抽出する(ステップS35)。ステップS34の判定で一致した場合には,取得された登録プログラムが類似プログラムであると判定されたことになる。このとき,抽出部13は,該当登録プログラムについて,登録プログラム記憶部102の登録プログラム管理データ120と文例管理データ121から必要な情報を抽出し,抽出結果記憶部103の類似プログラムリストデータ130に記録する。また,このときのカウンタiの値を,類似プログラムリストデータ130の類似判定重み値に記録する。   If the analysis results of both programs match (YES in step S34), the extraction unit 13 extracts the acquired registration program data to the similar program list data 130 of the extraction result storage unit 103 (step S35). If they match in the determination in step S34, it is determined that the acquired registration program is a similar program. At this time, the extraction unit 13 extracts necessary information from the registration program management data 120 and the sentence example management data 121 of the registration program storage unit 102 for the corresponding registration program, and records them in the similar program list data 130 of the extraction result storage unit 103. To do. Further, the value of the counter i at this time is recorded in the similarity determination weight value of the similar program list data 130.

抽出部13は,すべての登録プログラムについて処理が終了したかを判定する(ステップS36)。まだすべての登録プログラムについて処理が終了していなければ(ステップS36のNO),抽出部13は,ステップS31の処理に戻って,次の登録プログラムの処理に移る。   The extraction unit 13 determines whether the processing has been completed for all registered programs (step S36). If the processing has not been completed for all the registered programs (NO in step S36), the extraction unit 13 returns to the processing in step S31 and proceeds to the processing of the next registered program.

すべての登録プログラムについて処理が終了していれば(ステップS36のYES),抽出部13は,カウンタiが5であるかを判定する(ステップS37)。カウンタiが5でなければ(ステップS37のNO),抽出部13は,カウンタiをインクリメントし(ステップS38),ステップS31の処理に戻って,登録プログラム管理データ120の最初の登録プログラムの処理に移る。カウンタiが5であれば(ステップS37のYES),抽出部13は,処理を終了する。   If the processing has been completed for all registered programs (YES in step S36), the extraction unit 13 determines whether the counter i is 5 (step S37). If the counter i is not 5 (NO in step S37), the extraction unit 13 increments the counter i (step S38), returns to the process in step S31, and performs the process for the first registered program in the registered program management data 120. Move. If the counter i is 5 (YES in step S37), the extraction unit 13 ends the process.

例えば,ある入力対象プログラムXXXの分析結果が,{getaddrinfo() ,while() ,socket(),connect() ,close() ,freeaddrinfo()}であるものとする。この入力対象プログラムXXXの分析結果を,図3(A)に示す分析対象関数データ110の関数IDで表すと{100,053,102,101,200,104}となる。例えば,この入力対象プログラムXXXの類似プログラムを,図4に示す登録プログラム管理データ120から検出するものとする。   For example, it is assumed that the analysis result of a certain input target program XXX is {getaddrinfo (), while (), socket (), connect (), close (), freeaddrinfo ()}. When the analysis result of the input target program XXX is expressed by the function ID of the analysis target function data 110 shown in FIG. 3A, {100, 053, 102, 101, 200, 104} is obtained. For example, it is assumed that a similar program of the input target program XXX is detected from the registered program management data 120 shown in FIG.

図4に示す登録プログラム管理データ120において,管理番号#001の登録プログラムAAAの分析結果は,{001,100,053,102,101,200,104}である。重み値が1以上の分析対象関数が一致判定の対象であれば,管理番号#001の登録プログラムAAAは,入力対象プログラムXXXの類似プログラムとして検出されない。重み値が2以上の分析対象関数が一致判定の対象であれば,重み値1の分析対象関数mainが一致判定の対象とならないので,管理番号#001の登録プログラムAAAは,入力対象プログラムXXXの類似プログラムとして検出される。例えば,分析対象関数mainは,プログラムの特徴を表すという意味ではあまり重要ではないので,一致判定の対象としなくてもほとんど問題はない。   In the registered program management data 120 shown in FIG. 4, the analysis result of the registered program AAA with the management number # 001 is {001, 100, 053, 102, 101, 200, 104}. If an analysis target function with a weight value of 1 or more is a match determination target, the registration program AAA with the management number # 001 is not detected as a similar program to the input target program XXX. If an analysis target function having a weight value of 2 or more is a match determination target, the analysis target function main having a weight value of 1 is not a match determination target. Therefore, the registration program AAA of the management number # 001 is the input target program XXX. Detected as a similar program. For example, the analysis target function main is not so important in the sense that it represents the characteristics of the program.

このように,すべての分析対象関数の一致判定では,類似プログラムとして検出できない登録プログラムでも,一致判定の対象となる分析対象関数の重み値の範囲を変えれば,類似プログラムとして検出できる場合がある。   As described above, in the coincidence determination of all analysis target functions, even a registered program that cannot be detected as a similar program may be detected as a similar program if the range of the weight value of the analysis target function that is the target of the match determination is changed.

なお,図10に示す類似プログラム抽出処理では,一致判定の対象となる分析対象関数の重み値の範囲を5段階に変えて,類似プログラムの検索を行っているが,ある設定された固定の重み値の範囲で,1度だけ類似プログラムの検索を行うようにしてもよい。また,所定数以上の類似プログラムが検出された時点で,段階を変えた類似プログラムの検索を終了するようにしてもよい。   In the similar program extraction process shown in FIG. 10, similar programs are searched by changing the range of the weight value of the analysis target function that is the object of the match determination to five levels, but a certain fixed weight is set. Similar programs may be searched only once within a range of values. Alternatively, when a predetermined number or more of similar programs are detected, the search for similar programs at different stages may be terminated.

図11は,本実施の形態の登録部によるプログラム登録処理フローチャートである。   FIG. 11 is a flowchart of a program registration process by the registration unit of the present embodiment.

プログラム管理装置10において,登録部15は,プログラム登録画面200においてユーザが決定した文例を取得する(ステップS40)。   In the program management apparatus 10, the registration unit 15 acquires an example sentence determined by the user on the program registration screen 200 (step S40).

登録部15は,プログラム登録画面200でのユーザによるプログラム名の入力があるかを判定する(ステップS41)。プログラム名の入力があれば(ステップS41のYES),登録部15は,入力されたプログラム名を取得する(ステップS42)。プログラム名の入力がなければ(ステップS41のNO),処理対象プログラムのメイン関数の関数名をプログラム名とする(ステップS43)。   The registration unit 15 determines whether there is an input of a program name by the user on the program registration screen 200 (step S41). If there is an input of a program name (YES in step S41), the registration unit 15 acquires the input program name (step S42). If no program name is input (NO in step S41), the function name of the main function of the processing target program is set as the program name (step S43).

登録部15は,処理対象プログラムのデータを,登録プログラム管理データ120に追加する(ステップS44)。プログラム名は,ステップS42またはステップS43の処理で得られたプログラム名が記録される。プログラム内容は,処理対象プログラムのソースコードが記録される。呼び出し関係は,分析部12によるプログラム分析処理で保持された呼び出し関係が記録される。分析結果は,分析部12によるプログラム分析処理で得られた分析結果が記録される。   The registration unit 15 adds the processing target program data to the registered program management data 120 (step S44). As the program name, the program name obtained by the process of step S42 or step S43 is recorded. As the program content, the source code of the processing target program is recorded. As the call relationship, the call relationship held in the program analysis process by the analysis unit 12 is recorded. As the analysis result, the analysis result obtained by the program analysis processing by the analysis unit 12 is recorded.

登録部15は,処理対象プログラムのデータを,文例管理データに追加する(ステップS45)。文例は,ステップS40の処理で得られた文例が記録される。   The registration unit 15 adds the processing target program data to the sentence example management data (step S45). As the sentence example, the sentence example obtained in step S40 is recorded.

図12は,本実施の形態の更新部によるデータ更新処理フローチャートである。   FIG. 12 is a flowchart of data update processing performed by the update unit according to this embodiment.

プログラム管理装置10において,更新部16は,登録プログラム記憶部102の登録プログラム管理データ120から,登録プログラムのレコードを1つ取得する(ステップS50)。   In the program management apparatus 10, the update unit 16 acquires one record of the registration program from the registration program management data 120 of the registration program storage unit 102 (step S50).

更新部16は,取得した登録プログラムの呼び出し関係に未分析のサブ関数がある場合に,その未分析のサブ関数の関数名と,登録された処理対象プログラムのプログラム名とを比較する(ステップS51)。更新部16は,未分析のサブ関数の関数名と処理対象プログラムのプログラム名とが一致するかを判定する(ステップS52)。   When there is an unanalyzed subfunction in the acquired registered program call relationship, the update unit 16 compares the function name of the unanalyzed subfunction with the program name of the registered processing target program (step S51). ). The update unit 16 determines whether the function name of the unanalyzed subfunction matches the program name of the processing target program (step S52).

未分析のサブ関数の関数名と処理対象プログラムのプログラム名とが一致すれば(ステップS52のYES),更新部16は,登録プログラム管理データ120の該当登録プログラムの呼び出し関係において,該当サブ関数に処理対象プログラムとの関係を記録する(ステップS53)。また,更新部16は,登録プログラム管理データ120の該当登録プログラムの分析結果に,処理対象プログラムの分析結果をマージする(ステップS54)。更新部16は,登録プログラム管理データ120の更新結果を文例管理データ121に反映する。   If the function name of the unanalyzed subfunction matches the program name of the processing target program (YES in step S52), the updating unit 16 sets the corresponding subfunction in the calling relationship of the corresponding registered program in the registered program management data 120. The relationship with the processing target program is recorded (step S53). Further, the update unit 16 merges the analysis result of the processing target program with the analysis result of the corresponding registered program in the registered program management data 120 (step S54). The update unit 16 reflects the update result of the registered program management data 120 in the sentence example management data 121.

更新部16は,すべての登録プログラムについて処理が終了したかを判定する(ステップS55)。まだすべての登録プログラムについて処理が終了していなければ(ステップS55のNO),更新部16は,ステップS50の処理に戻って,次の登録プログラムの処理に移る。すべての登録プログラムについて処理が終了していれば(ステップS55のYES),更新部16は,処理を終了する。   The updating unit 16 determines whether the processing has been completed for all the registered programs (step S55). If the processing has not been completed for all the registered programs (NO in step S55), the updating unit 16 returns to the processing in step S50 and proceeds to the processing of the next registered program. If the processing has been completed for all registered programs (YES in step S55), the updating unit 16 ends the processing.

例えば,図4に示す登録プログラム管理データ120において,管理番号#003のプログラムの登録時に,管理番号#004のsub4のプログラムと管理番号#005のsub5のプログラムとが,未登録であったものとする。この時点で,管理番号#003のプログラムの分析結果に,分析対象関数はない。   For example, in the registered program management data 120 shown in FIG. 4, when the program with the management number # 003 is registered, the sub4 program with the management number # 004 and the sub5 program with the management number # 005 are not registered. To do. At this time, there is no analysis target function in the analysis result of the program of management number # 003.

その後,管理番号#004のsub4のプログラムが登録されると,管理番号#003のプログラムとの呼び出し関係から,管理番号#003のプログラムの分析結果に管理番号#004のsub4のプログラムの分析結果がマージされる。この時点で,管理番号#003のプログラムの分析結果は,{100}となる。   After that, when the sub4 program with the management number # 004 is registered, the analysis result of the sub4 program with the management number # 004 is added to the analysis result of the program with the management number # 003 from the calling relationship with the program with the management number # 003. Merged. At this time, the analysis result of the program with the management number # 003 is {100}.

さらに,管理番号#005のsub5のプログラムが登録されると,管理番号#003のプログラムとの呼び出し関係から,管理番号#003のプログラムの分析結果に管理番号#005のsub5のプログラムの分析結果がマージされる。この時点で,管理番号#003のプログラムの分析結果は,{100,053,102,101,200}となる。   Furthermore, when the sub5 program with the management number # 005 is registered, the analysis result of the sub5 program with the management number # 005 is added to the analysis result of the program with the management number # 003 because of the calling relationship with the program with the management number # 003. Merged. At this time, the analysis result of the program with the management number # 003 is {100, 053, 102, 101, 200}.

以上説明した本実施の形態のプログラム管理装置10によって,処理対象プログラムが別の登録プログラムを呼び出している場合でも,その呼び出し対象の登録プログラムに含まれる分析対象関数も含めた,処理対象プログラムの分析対象関数を取得することができる。これにより,より精度が高い類似プログラムの検索が可能となる。   Even when the program to be processed calls another registered program by the program management apparatus 10 of the present embodiment described above, the analysis of the program to be processed including the analysis target function included in the registered program to be called The target function can be acquired. This makes it possible to search for similar programs with higher accuracy.

以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。   Although the present embodiment has been described above, the present invention can naturally be modified in various ways within the scope of the gist thereof.

例えば,本実施の形態では,類似プログラム抽出処理において,分析対象関数の順番も含めた一致で,類似プログラムの判定を行っている。例えば,類似プログラム抽出処理において,分析対象関数の種類と数との関係の一致で,類似プログラムの判定を行うようにしてもよい。   For example, in the present embodiment, in the similar program extraction process, similar programs are determined based on the matching including the order of the functions to be analyzed. For example, in a similar program extraction process, a similar program may be determined based on the coincidence of the relationship between the type and number of functions to be analyzed.

以上の本実施の形態に関し,さらに以下の付記を開示する。   Regarding the above embodiment, the following additional notes are disclosed.

(付記1)
コンピュータに,
プログラム同士の類似性の判断に用いる所定の分析対象関数が記憶された記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得し,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とが対応付けて記憶された記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出し,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する
処理を実行させるための管理プログラム。
(Appendix 1)
Computer
A first analysis target that indicates an analysis target function included in a processing target program among the predetermined analysis target functions with reference to a storage unit that stores a predetermined analysis target function used to determine similarity between programs. Get function information
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A storage unit in which the third analysis target function information indicating the analysis target function included in another registered program called in is associated and stored is searched based on the first analysis target function information, The analysis target function information including the second analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information,
A management program for executing processing for outputting the extracted registered program as a program similar to the processing target program.

(付記2)
前記記憶部は,さらに,登録プログラムに該登録プログラムの索引情報を対応付けて記憶し,
前記出力する処理では,前記抽出した登録プログラムを前記処理対象プログラムに類似するプログラムとして出力する際に,さらに前記抽出した登録プログラムに対応付けられた索引情報を出力する
ことを特徴とする付記1に記載の管理プログラム。
(Appendix 2)
The storage unit further stores the registration program in association with index information of the registration program,
In the output process, when the extracted registration program is output as a program similar to the processing target program, index information associated with the extracted registration program is further output. The management program described.

(付記3)
前記コンピュータに,さらに,
前記処理対象プログラムの識別情報を含む登録プログラムを前記記憶部から検索し,検索された登録プログラムに前記処理対象プログラムを関連付けて前記記憶部に記憶する
処理を実行させるための付記1または付記2に記載の管理プログラム。
(Appendix 3)
In addition to the computer,
Supplementary note 1 or supplementary note 2 for executing a process of retrieving a registration program including identification information of the processing target program from the storage unit, associating the processing target program with the searched registration program and storing the program in the storage unit The management program described.

(付記4)
前記分析対象関数には,前記分析対象関数ごとに重要度が設定されており,
前記登録プログラムを抽出する処理では,重要度が所定以上高い分析対象関数を一致判定の対象として,前記記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記1から付記3までのいずれかに記載の管理プログラム。
(Appendix 4)
In the analysis object function, importance is set for each analysis object function,
In the process of extracting the registration program, the storage unit is searched based on the first analysis target function information, with the analysis target function having a higher degree of importance than a predetermined value being the target of coincidence determination, and the second Any one of appendix 1 to appendix 3, wherein the analysis target function information including the analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information. The management program described.

(付記5)
前記第1の分析対象関数情報を取得する処理では,前記処理対象プログラムに前記記憶部に記憶された登録プログラムを呼び出す識別情報が含まれている場合に,前記第1の分析対象関数情報を取得するとともに,前記処理対象プログラムに含まれる識別情報で呼び出される登録プログラムに含まれる分析対象関数を示す第4の分析対象関数情報を取得し,
前記登録プログラムを抽出する処理では,前記記憶部を,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記1から付記4までのいずれかに記載の管理プログラム。
(Appendix 5)
In the process of acquiring the first analysis target function information, when the processing target program includes identification information for calling a registration program stored in the storage unit, the first analysis target function information is acquired. And obtaining fourth analysis target function information indicating the analysis target function included in the registration program called by the identification information included in the processing target program,
In the process of extracting the registration program, the storage unit is searched based on the analysis target function information including the first analysis target function information and the fourth analysis target function information, and the second analysis target is searched. The analysis target function information including the function information and the third analysis target function information is extracted with the same registered program as the analysis target function information including the first analysis target function information and the fourth analysis target function information. The management program according to any one of appendix 1 to appendix 4.

(付記6)
コンピュータが,
プログラム同士の類似性の判断に用いる所定の分析対象関数が記憶された記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得し,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とが対応付けて記憶された記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出し,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する過程を実行する
ことを特徴とする管理方法。
(Appendix 6)
Computer
A first analysis target that indicates an analysis target function included in a processing target program among the predetermined analysis target functions with reference to a storage unit that stores a predetermined analysis target function used to determine similarity between programs. Get function information
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A storage unit in which the third analysis target function information indicating the analysis target function included in another registered program called in is associated and stored is searched based on the first analysis target function information, The analysis target function information including the second analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information,
A process for outputting the extracted registered program as a program similar to the processing target program.

(付記7)
前記記憶部は,さらに,登録プログラムに該登録プログラムの索引情報を対応付けて記憶し,
前記出力する過程では,前記抽出した登録プログラムを前記処理対象プログラムに類似するプログラムとして出力する際に,さらに前記抽出した登録プログラムに対応付けられた索引情報を出力する
ことを特徴とする付記6に記載の管理方法。
(Appendix 7)
The storage unit further stores the registration program in association with index information of the registration program,
In the output process, when the extracted registration program is output as a program similar to the processing target program, index information associated with the extracted registration program is further output. The management method described.

(付記8)
前記コンピュータが,さらに,
前記処理対象プログラムの識別情報を含む登録プログラムを前記記憶部から検索し,検索された登録プログラムに前記処理対象プログラムを関連付けて前記記憶部に記憶する過程を実行する
ことを特徴とする付記6または付記7に記載の管理方法。
(Appendix 8)
Said computer further comprising:
The registration program including the identification information of the processing target program is searched from the storage unit, and the process of associating the processing target program with the searched registration program and storing it in the storage unit is executed. The management method according to attachment 7.

(付記9)
前記分析対象関数には,前記分析対象関数ごとに重要度が設定されており,
前記登録プログラムを抽出する過程では,重要度が所定以上高い分析対象関数を一致判定の対象として,前記記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記6から付記8までのいずれかに記載の管理方法。
(Appendix 9)
In the analysis object function, importance is set for each analysis object function,
In the process of extracting the registration program, the storage unit is searched on the basis of the first analysis target function information, with the analysis target function having a higher importance level than a predetermined level as the target of coincidence determination, and the second Any one of appendix 6 to appendix 8, wherein the analysis target function information including the analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information. The management method described.

(付記10)
前記第1の分析対象関数情報を取得する過程では,前記処理対象プログラムに前記記憶部に記憶された登録プログラムを呼び出す識別情報が含まれている場合に,前記第1の分析対象関数情報を取得するとともに,前記処理対象プログラムに含まれる識別情報で呼び出される登録プログラムに含まれる分析対象関数を示す第4の分析対象関数情報を取得し,
前記登録プログラムを抽出する過程では,前記記憶部を,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記6から付記9までのいずれかに記載の管理方法。
(Appendix 10)
In the process of acquiring the first analysis target function information, when the processing target program includes identification information for calling a registration program stored in the storage unit, the first analysis target function information is acquired. And obtaining fourth analysis target function information indicating the analysis target function included in the registration program called by the identification information included in the processing target program,
In the process of extracting the registration program, the storage unit is searched based on the analysis target function information including the first analysis target function information and the fourth analysis target function information, and the second analysis target is searched. The analysis target function information including the function information and the third analysis target function information is extracted with the same registered program as the analysis target function information including the first analysis target function information and the fourth analysis target function information. The management method according to any one of appendix 6 to appendix 9.

(付記11)
プログラム同士の類似性の判断に用いる所定の分析対象関数を記憶する分析情報記憶部と,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とを対応付けて記憶する登録プログラム記憶部と,
前記分析情報記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得する分析部と,
前記登録プログラム記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する抽出部と,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する出力部とを備える
ことを特徴とする管理装置。
(Appendix 11)
An analysis information storage unit for storing a predetermined analysis target function used to determine similarity between programs;
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A registered program storage unit for storing in association with third analysis target function information indicating an analysis target function included in another registration program called in
Referring to the analysis information storage unit, an analysis unit that acquires first analysis target function information indicating an analysis target function included in a processing target program among the predetermined analysis target functions;
The registered program storage unit is searched based on the first analysis target function information, and the analysis target function information including the second analysis target function information and the third analysis target function information is the first analysis target function information. An extraction unit that extracts the same registered program as the analysis target function information of
An output unit that outputs the extracted registration program as a program similar to the processing target program.

(付記12)
前記登録プログラム記憶部は,さらに,登録プログラムに該登録プログラムの索引情報を対応付けて記憶し,
前記出力部は,前記抽出した登録プログラムを前記処理対象プログラムに類似するプログラムとして出力する際に,さらに前記抽出した登録プログラムに対応付けられた索引情報を出力する
ことを特徴とする付記11に記載の管理装置。
(Appendix 12)
The registered program storage unit further stores the registered program in association with index information of the registered program,
The output unit further outputs index information associated with the extracted registration program when the extracted registration program is output as a program similar to the processing target program. Management device.

(付記13)
前記処理対象プログラムの識別情報を含む登録プログラムを前記登録プログラム記憶部から検索し,検索された登録プログラムに前記処理対象プログラムを関連付けて前記登録プログラム記憶部に記憶する更新部を備える
ことを特徴とする付記11または付記12に記載の管理装置。
(Appendix 13)
An update unit that searches the registered program storage unit for a registered program including identification information of the processing target program, associates the processing target program with the searched registration program, and stores the associated program in the registered program storage unit. The management apparatus according to Supplementary Note 11 or Supplementary Note 12.

(付記14)
前記分析対象関数には,前記分析対象関数ごとに重要度が設定されており,
前記抽出部は,重要度が所定以上高い分析対象関数を一致判定の対象として,前記登録プログラム記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記11から付記13までのいずれかに記載の管理装置。
(Appendix 14)
In the analysis object function, importance is set for each analysis object function,
The extraction unit searches the registered program storage unit based on the first analysis target function information for an analysis target function having a higher importance level than a predetermined level as a match determination target, and the second analysis target The analysis target function information including the function information and the third analysis target function information extracts the same registration program as the first analysis target function information. Management device.

(付記15)
前記分析部は,前記処理対象プログラムに前記登録プログラム記憶部に記憶された登録プログラムを呼び出す識別情報が含まれている場合に,前記第1の分析対象関数情報を取得するとともに,前記処理対象プログラムに含まれる識別情報で呼び出される登録プログラムに含まれる分析対象関数を示す第4の分析対象関数情報を取得し,
前記抽出部は,前記登録プログラム記憶部を,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする付記11から付記14までのいずれかに記載の管理装置。
(Appendix 15)
The analysis unit obtains the first analysis target function information when the processing target program includes identification information for calling a registered program stored in the registered program storage unit, and the processing target program 4th analysis object function information which shows the analysis object function contained in the registration program called with the identification information contained in is acquired,
The extraction unit searches the registered program storage unit based on the analysis target function information including the first analysis target function information and the fourth analysis target function information, and the second analysis target function information. And the analysis target function information including the third analysis target function information extracts the same registration program as the analysis target function information including the first analysis target function information and the fourth analysis target function information. The management device according to any one of appendix 11 to appendix 14.

10 プログラム管理装置
11 プログラム入力部
12 分析部
13 抽出部
14 出力部
15 登録部
16 更新部
101 分析情報記憶部
102 登録プログラム記憶部
103 抽出結果記憶部
DESCRIPTION OF SYMBOLS 10 Program management apparatus 11 Program input part 12 Analysis part 13 Extraction part 14 Output part 15 Registration part 16 Update part 101 Analysis information storage part 102 Registration program storage part 103 Extraction result storage part

Claims (7)

コンピュータに,
プログラム同士の類似性の判断に用いる所定の分析対象関数が記憶された記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得し,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とが対応付けて記憶された記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出し,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する
処理を実行させるための管理プログラム。
Computer
A first analysis target that indicates an analysis target function included in a processing target program among the predetermined analysis target functions with reference to a storage unit that stores a predetermined analysis target function used to determine similarity between programs. Get function information
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A storage unit in which the third analysis target function information indicating the analysis target function included in another registered program called in is associated and stored is searched based on the first analysis target function information, The analysis target function information including the second analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information,
A management program for executing processing for outputting the extracted registered program as a program similar to the processing target program.
前記記憶部は,さらに,登録プログラムに該登録プログラムの索引情報を対応付けて記憶し,
前記出力する処理では,前記抽出した登録プログラムを前記処理対象プログラムに類似するプログラムとして出力する際に,さらに前記抽出した登録プログラムに対応付けられた索引情報を出力する
ことを特徴とする請求項1に記載の管理プログラム。
The storage unit further stores the registration program in association with index information of the registration program,
The output processing further outputs index information associated with the extracted registration program when the extracted registration program is output as a program similar to the processing target program. The management program described in.
前記コンピュータに,さらに,
前記処理対象プログラムの識別情報を含む登録プログラムを前記記憶部から検索し,検索された登録プログラムに前記処理対象プログラムを関連付けて前記記憶部に記憶する
処理を実行させるための請求項1または請求項2に記載の管理プログラム。
In addition to the computer,
A registration program including identification information of the processing target program is searched from the storage unit, and the processing unit program is associated with the searched registration program and stored in the storage unit. 2. The management program according to 2.
前記分析対象関数には,前記分析対象関数ごとに重要度が設定されており,
前記登録プログラムを抽出する処理では,重要度が所定以上高い分析対象関数を一致判定の対象として,前記記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする請求項1から請求項3までのいずれかに記載の管理プログラム。
In the analysis object function, importance is set for each analysis object function,
In the process of extracting the registration program, the storage unit is searched based on the first analysis target function information, with the analysis target function having a higher degree of importance than a predetermined value being the target of coincidence determination, and the second The analysis function information including the analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information. The management program described in
前記第1の分析対象関数情報を取得する処理では,前記処理対象プログラムに前記記憶部に記憶された登録プログラムを呼び出す識別情報が含まれている場合に,前記第1の分析対象関数情報を取得するとともに,前記処理対象プログラムに含まれる識別情報で呼び出される登録プログラムに含まれる分析対象関数を示す第4の分析対象関数情報を取得し,
前記登録プログラムを抽出する処理では,前記記憶部を,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報および第4の分析対象関数情報を含む分析対象関数情報と同じ登録プログラムを抽出する
ことを特徴とする請求項1から請求項4までのいずれかに記載の管理プログラム。
In the process of acquiring the first analysis target function information, when the processing target program includes identification information for calling a registration program stored in the storage unit, the first analysis target function information is acquired. And obtaining fourth analysis target function information indicating the analysis target function included in the registration program called by the identification information included in the processing target program,
In the process of extracting the registration program, the storage unit is searched based on the analysis target function information including the first analysis target function information and the fourth analysis target function information, and the second analysis target is searched. The analysis target function information including the function information and the third analysis target function information is extracted with the same registered program as the analysis target function information including the first analysis target function information and the fourth analysis target function information. The management program according to any one of claims 1 to 4.
コンピュータが,
プログラム同士の類似性の判断に用いる所定の分析対象関数が記憶された記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得し,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とが対応付けて記憶された記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出し,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する過程を実行する
ことを特徴とする管理方法。
Computer
A first analysis target that indicates an analysis target function included in a processing target program among the predetermined analysis target functions with reference to a storage unit that stores a predetermined analysis target function used to determine similarity between programs. Get function information
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A storage unit in which the third analysis target function information indicating the analysis target function included in another registered program called in is associated and stored is searched based on the first analysis target function information, The analysis target function information including the second analysis target function information and the third analysis target function information extracts the same registration program as the first analysis target function information,
A process for outputting the extracted registered program as a program similar to the processing target program.
プログラム同士の類似性の判断に用いる所定の分析対象関数を記憶する分析情報記憶部と,
登録プログラムごとに,該登録プログラムを特定する識別情報と,前記所定の分析対象関数のうち,該登録プログラムに含まれる分析対象関数を示す第2の分析対象関数情報と,該登録プログラムから識別情報で呼び出される別の登録プログラムに含まれる分析対象関数を示す第3の分析対象関数情報とを対応付けて記憶する登録プログラム記憶部と,
前記分析情報記憶部を参照して,前記所定の分析対象関数のうち,処理対象プログラムに含まれる分析対象関数を示す第1の分析対象関数情報を取得する分析部と,
前記登録プログラム記憶部を,前記第1の分析対象関数情報をもとに検索して,前記第2の分析対象関数情報および第3の分析対象関数情報を含む分析対象関数情報が,前記第1の分析対象関数情報と同じ登録プログラムを抽出する抽出部と,
前記抽出した登録プログラムを,前記処理対象プログラムに類似するプログラムとして出力する出力部とを備える
ことを特徴とする管理装置。
An analysis information storage unit for storing a predetermined analysis target function used to determine similarity between programs;
For each registered program, identification information for identifying the registered program, second analysis target function information indicating an analysis target function included in the registration program among the predetermined analysis target functions, and identification information from the registration program A registered program storage unit for storing in association with third analysis target function information indicating an analysis target function included in another registration program called in
Referring to the analysis information storage unit, an analysis unit that acquires first analysis target function information indicating an analysis target function included in a processing target program among the predetermined analysis target functions;
The registered program storage unit is searched based on the first analysis target function information, and the analysis target function information including the second analysis target function information and the third analysis target function information is the first analysis target function information. An extraction unit that extracts the same registered program as the analysis target function information of
An output unit that outputs the extracted registration program as a program similar to the processing target program.
JP2011060330A 2011-03-18 2011-03-18 Management program, management method, and management apparatus Expired - Fee Related JP5712711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011060330A JP5712711B2 (en) 2011-03-18 2011-03-18 Management program, management method, and management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011060330A JP5712711B2 (en) 2011-03-18 2011-03-18 Management program, management method, and management apparatus

Publications (2)

Publication Number Publication Date
JP2012194945A true JP2012194945A (en) 2012-10-11
JP5712711B2 JP5712711B2 (en) 2015-05-07

Family

ID=47086737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011060330A Expired - Fee Related JP5712711B2 (en) 2011-03-18 2011-03-18 Management program, management method, and management apparatus

Country Status (1)

Country Link
JP (1) JP5712711B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175373A (en) * 2018-03-29 2019-10-10 Necソリューションイノベータ株式会社 File management device, file management method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239860A (en) * 1994-02-28 1995-09-12 Fuji Xerox Co Ltd Data managing device
US20050234887A1 (en) * 2004-04-15 2005-10-20 Fujitsu Limited Code retrieval method and code retrieval apparatus
JP2005316707A (en) * 2004-04-28 2005-11-10 Fujitsu Ltd Program typification method
JP2006018693A (en) * 2004-07-02 2006-01-19 Fujitsu Ltd Similar source code extraction program, similar source code extraction device and similar source code extraction method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239860A (en) * 1994-02-28 1995-09-12 Fuji Xerox Co Ltd Data managing device
US20050234887A1 (en) * 2004-04-15 2005-10-20 Fujitsu Limited Code retrieval method and code retrieval apparatus
JP2005316707A (en) * 2004-04-28 2005-11-10 Fujitsu Ltd Program typification method
JP2006018693A (en) * 2004-07-02 2006-01-19 Fujitsu Ltd Similar source code extraction program, similar source code extraction device and similar source code extraction method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200301440007; 田原 靖太 外2名: '"既存ソフトウェアの変更履歴を利用したソースコード修正支援手法の提案"' 情報処理学会研究報告 第2002巻,第23号, 20020308, p.57-64, 社団法人情報処理学会 *
CSNG201100042016; 包 胡日査 外3名: '"構文木の類似度を用いたC言語プログラムの類似性検証"' 電子情報通信学会技術研究報告 第110巻,第370号, 20110113, p.83-86, 社団法人電子情報通信学会 *
JPN6014022336; 包 胡日査 外3名: '"構文木の類似度を用いたC言語プログラムの類似性検証"' 電子情報通信学会技術研究報告 第110巻,第370号, 20110113, p.83-86, 社団法人電子情報通信学会 *
JPN6014022337; 田原 靖太 外2名: '"既存ソフトウェアの変更履歴を利用したソースコード修正支援手法の提案"' 情報処理学会研究報告 第2002巻,第23号, 20020308, p.57-64, 社団法人情報処理学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019175373A (en) * 2018-03-29 2019-10-10 Necソリューションイノベータ株式会社 File management device, file management method, and program
JP7010538B2 (en) 2018-03-29 2022-01-26 Necソリューションイノベータ株式会社 File management device, file management method, and program

Also Published As

Publication number Publication date
JP5712711B2 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
CN109376166B (en) Script conversion method, script conversion device, computer equipment and storage medium
US10860464B2 (en) Test selection for application commit
Kirbas et al. The relationship between evolutionary coupling and defects in large industrial software
US20140304253A1 (en) Screen-data editing device for programmable display device
US8954376B2 (en) Detecting transcoding tables in extract-transform-load processes
US11163812B2 (en) Classification apparatus and classification method
US20160124795A1 (en) Evaluation method and apparatus
US11157394B2 (en) Exception cause analysis during computer program execution
CN111258614B (en) Method, system, equipment and storage medium for detecting upgrade exception of project third-party library
JP5900193B2 (en) Update determination program and update determination apparatus
US11036701B2 (en) Data sampling in a storage system
US10175958B2 (en) Acquiring identification of an application lifecycle management entity associated with similar code
CN108959454B (en) Prompting clause specifying method, device, equipment and storage medium
KR101798705B1 (en) Flexible metadata composition
JP2023007169A (en) Program, vulnerability detection method, and information processor
US11106526B1 (en) Architecture-based root cause analysis
JP5712711B2 (en) Management program, management method, and management apparatus
Meurice et al. DAHLIA 2.0: A visual analyzer of database usage in dynamic and heterogeneous systems
US11556531B2 (en) Crux detection in search definitions
JP6955162B2 (en) Analytical equipment, analysis method and analysis program
US12026146B2 (en) Data analysis method, apparatus and device
JP6217440B2 (en) Symbolic execution program, symbolic execution method, and symbolic execution device
JP4899544B2 (en) Program analysis method, program, and program analysis apparatus
JP5197128B2 (en) Dependency Estimation Device, Dependency Estimation Program, and Recording Medium
JP2011175446A (en) System for processing requirement/bug report and method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140804

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: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150223

R150 Certificate of patent or registration of utility model

Ref document number: 5712711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees