JP4904724B2 - Analysis program, analysis method, and analysis apparatus - Google Patents
Analysis program, analysis method, and analysis apparatus Download PDFInfo
- Publication number
- JP4904724B2 JP4904724B2 JP2005171159A JP2005171159A JP4904724B2 JP 4904724 B2 JP4904724 B2 JP 4904724B2 JP 2005171159 A JP2005171159 A JP 2005171159A JP 2005171159 A JP2005171159 A JP 2005171159A JP 4904724 B2 JP4904724 B2 JP 4904724B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- analysis
- program
- location
- unit
- 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.)
- Expired - Fee Related
Links
Images
Description
この発明は、解析プログラム等に関するものである。 The present invention relates to an analysis program and the like .
従来、プログラムの作成者など(以下、単に作成者と表記する)は、プログラムを作成した後に、当該プログラムに存在する問題箇所を検出し、プログラムを実行した際に発生する障害を未然に防ぐ必要があった。 Conventionally, a program creator (hereinafter simply referred to as a creator) needs to detect a problem location that exists in the program after the program is created and prevent problems that may occur when the program is executed. was there.
そこで、作成者は、非特許文献1に公開されているプログラム解析ツール等を利用して、プログラムを解析し、解析した結果を利用して問題箇所を特定すると共に、当該問題箇所を修正していた。
Therefore, the creator analyzes the program using a program analysis tool or the like disclosed in Non-Patent
しかし、非特許文献1に公開されているプログラム解析ツールは、全ての解析結果を選別することなく作成者に通知するため、作成者にかかる負担が大きいという問題があった。なぜなら、バージョンアップ前のプログラムにおいて問題ないと作成者が確認した解析結果であっても、作成者が確認した解析結果はバージョンアップ後のプログラムの解析結果に反映されないため、作成者は一度確認を行った解析結果をもう一度確認する必要があったからである。
However, since the program analysis tool disclosed in Non-Patent
そこで、特許文献1に記載された発明では、バージョンアップ前の各プログラムにかかわる解析結果をそれぞれ記憶装置に記憶させると共に、記憶させた各解析結果を基にして各解析結果の重複部分を省略し、当該重複部分を省略した解析結果を作成者に通知することによって作成者にかかる負担を軽減させている。
Therefore, in the invention described in
しかしながら、かかる従来の技術では、異なるバージョン毎のプログラムそれぞれに対応する解析結果を記憶装置に記憶させる必要があるため、記憶装置に記憶させるべきデータの量が膨大になってしまうという問題があった。 However, in such a conventional technique, it is necessary to store the analysis results corresponding to the programs of different versions in the storage device, which causes a problem that the amount of data to be stored in the storage device becomes enormous. .
また、通常、プログラムのバージョンアップは頻繁に行われるので、この問題は更に深刻なものとなる。 In addition, since the program is usually upgraded frequently, this problem becomes more serious.
すなわち、記憶装置に記憶させる解析結果のデータの量を削減すると共に、作成者の解析結果確認にかかわる作業の負荷を軽減させることが極めて重大な課題となっている。 That is, reducing the amount of analysis result data stored in the storage device and reducing the work load related to the creator's confirmation of the analysis result are extremely important issues.
この発明は、上述した従来技術による問題点を解消するためになされたものであり、記憶装置に記憶させる解析結果のデータの量を削減すると共に、作成者の解析結果確認にかかわる作業の負荷を軽減させることができる解析プログラム、解析方法および解析装置を提供することを目的とする。 The present invention has been made to solve the above-described problems caused by the prior art, and reduces the amount of analysis result data to be stored in the storage device and reduces the work load involved in confirming the analysis result of the creator. An object is to provide an analysis program, an analysis method, and an analysis apparatus that can be reduced.
上述した課題を解決し、目的を達成するため、本願発明は、コンピュータに、第1のソースコードにおいて存在する全てのエラー箇所である第1のエラー箇所を検出し、前記第1のエラー箇所について問題があるエラーであるか、問題の無いエラーであるかを示す入力部から入力された情報を格納部に格納し、前記第1のソースコードに変更を行って得られる第2のソースコードについて、前記第1のエラー箇所と同一のエラーとなる第2のエラー箇所を検出した場合に、前記格納部に格納された前記第1のエラー箇所に関して、入力された情報と、検出した前記第2のエラー箇所のエラー内容を示す情報と、を関連付けて表示部に表示する。 To solve the above problems and achieve the object, the present invention causes a computer to detect a first error location is any error part present Oite to the first source code, the first error The second source obtained by storing the information input from the input unit indicating whether there is a problem with respect to the location or the error having no problem in the storage unit, and changing the first source code When a second error location that is the same error as the first error location is detected for the code , the input information and the detected information about the first error location stored in the storage unit are detected. Information indicating the error content of the second error location is associated and displayed on the display unit .
本願発明によれば、記憶装置に記憶させるデータ量を大幅に削減することができる。また、本願発明によれば、ユーザの解析結果確認作業にかかる負担を軽減することができる。According to the present invention, the amount of data stored in the storage device can be significantly reduced. Moreover, according to this invention, the burden concerning a user's analysis result confirmation operation | work can be reduced.
以下に添付図面を参照して、この発明に係る解析プログラム、解析方法および解析装置の好適な実施の形態を詳細に説明する。 Exemplary embodiments of an analysis program, an analysis method, and an analysis apparatus according to the present invention will be described below in detail with reference to the accompanying drawings.
まず、本実施例にかかるプログラム解析装置の概念について説明する。本実施例にかかるプログラム解析装置は、異なるバージョンごとのプログラム解析結果に対する確認情報を統合し、統合した確認結果情報(以下、統合確認結果情報と表記する)を記憶部に記憶させる。ここで、確認結果情報は、プログラム解析結果に問題があるか否かを示す情報である。 First, the concept of the program analysis apparatus according to the present embodiment will be described. The program analysis apparatus according to the present embodiment integrates confirmation information for program analysis results for different versions, and stores the integrated confirmation result information (hereinafter referred to as integrated confirmation result information) in the storage unit. Here, the confirmation result information is information indicating whether there is a problem in the program analysis result.
そして、プログラム解析装置は、新バージョンのプログラムの解析結果を出力する際に、記憶部に記憶された統合確認結果に基づいて、ユーザに必要な解析結果のみを選択し、選択した解析結果を出力する。 When the analysis result of the new version of the program is output, the program analysis device selects only the analysis result necessary for the user based on the integration confirmation result stored in the storage unit, and outputs the selected analysis result. To do.
したがって、本実施例にかかるプログラム解析装置は、従来のように、異なるプログラムごとの解析結果を記憶部に記憶させる必要がなくなるので、記憶部に記憶させるデータの量を大幅に削減することができる。また、統合確認結果情報を基にして、ユーザに必要な解析結果を選択して出力するので、ユーザにかかる負担を軽減させることができる。 Therefore, the program analysis apparatus according to the present embodiment does not need to store the analysis result for each different program in the storage unit as in the prior art, so that the amount of data stored in the storage unit can be greatly reduced. . Further, since the analysis result necessary for the user is selected and output based on the integration confirmation result information, the burden on the user can be reduced.
次に、本実施例にかかるプログラム解析装置の構成について説明する。図1は、本実施例にかかるプログラム解析装置の構成を示す機能ブロック図である。同図に示すように、このプログラム解析装置60は、構成管理部70、記憶部80、プログラム解析部90および確認結果抑制部100を有する。また、プログラム解析装置60は、キーボードやマウスなどの入力装置40と、ディスプレイなどの表示装置50に接続されている。
Next, the configuration of the program analysis apparatus according to the present embodiment will be described. FIG. 1 is a functional block diagram illustrating the configuration of the program analysis apparatus according to the present embodiment. As shown in the figure, the
構成管理部70は、記憶部80に記憶された新旧(バージョンアップ後、バージョンアップ前)プログラムまたは統合確認結果情報をプログラム解析部90および確認結果抑制部100に渡す処理部である。具体的に、この構成管理部70は、記憶部80に記憶された解析対象プログラム群80aから解析対象となるプログラムを検索し、検索したプログラムをプログラム解析部90および確認結果抑制部100に渡す。検索対象となるプログラムは、入力装置40を介してユーザによって指定される。
The
ここで、記憶部80は、解析対象プログラム群80aおよび統合確認結果情報80bを記憶する記憶部である。解析結果対象プログラム群80aは、解析対象となる複数のプログラムの集まりであり、統合確認結果情報80bは、各バージョンのプログラム解析結果に対するそれぞれの確認結果を統合(各確認結果情報の重複部分を省略して統合)した情報と対応するプログラムの識別情報とを関連付けた情報である。
Here, the storage unit 80 is a storage unit that stores an analysis target program group 80a and integration
また、構成管理部70は、確認結果抑制部100から統合確認結果情報80bに対する要求を受付けた場合には、記憶部80に記憶された統合確認結果情報80bおよび統合確認結果情報80bに対応するバージョンアップ前のプログラムを確認結果抑制部100に渡す。
In addition, when the
プログラム解析部90は、構成管理部70から取得したプログラムを解析し、解析したプログラムの解析結果を確認結果抑制部100に渡す処理部である。
The
確認結果抑制部100は、プログラムの解析結果と統合確認結果情報80bとを取得し、取得した各情報に基づいて、出力すべき解析結果を選択し、選択した解析結果を表示装置50に出力する処理部である。
The confirmation
なお、出力すべき解析結果は、バージョンアップ前のプログラムにおいて問題無しと判定された解析結果以外の解析結果または、バージョンアップ前のプログラムにかかわる確認結果情報に対応付けられていない解析結果等を出力する。 The analysis results to be output include the analysis results other than the analysis results determined to have no problem in the program before the upgrade, or the analysis results not associated with the confirmation result information related to the program before the upgrade To do.
このように、確認結果抑制部100は、プログラム解析部90からプログラムの解析結果を取得した場合に、取得した解析結果全てを表示装置50に出力するのではなく、統合確認結果80bを基にして、バージョンアップ前のプログラムにおいて問題無しと判定された解析結果以外の解析結果または、バージョンアップ前のプログラムにかかわる確認結果情報に対応付けられていない解析結果等を選択・出力するので、ユーザの解析結果確認作業にかかわる負担を大幅に軽減させることができる。
As described above, when the analysis result of the program is acquired from the
次に、図1に示した確認結果抑制部100の構成について説明する。図2は、図1に示した確認結果抑制部100の構成を示す機能ブロック図である。同図に示すように、この確認結果抑制部100は、管理部110、位置情報テーブル作成部120、位置情報テーブル記憶部130、解析結果編集部140、解析結果表示部150、確認結果取得部160および確認結果統合部170を有する。
Next, the configuration of the confirmation
管理部110は、確認結果制御部100全体を管理する処理部である。具体的に、この管理部110は、入力装置40から所定のプログラムにかかわる解析要求を取得した場合に、当該解析要求に対応するプログラムの情報を構成管理部70に通知する。そして、管理部110は、構成管理部70から統合確認結果情報80b、バージョンアップ前のプログラムおよび解析対象となるプログラムを取得し、プログラム解析部90から解析要求に対応するプログラムの解析結果を取得する。
The management unit 110 is a processing unit that manages the entire confirmation
管理部110は、取得した統合確認結果情報80bを解析結果編集部140、確認結果統合部170に渡し、解析対象となったプログラムおよび当該解析対象のプログラムのバージョンアップ前にかかわるプログラムを位置情報テーブル作成部120に渡し、プログラムの解析結果を解析結果編集部140に渡す。
The management unit 110 passes the acquired integration
位置情報テーブル作成部120は、解析対象のプログラムと、当該解析対象プログラムのバージョンアップ前にかかわるプログラムとを基にして位置情報テーブルを作成し、作成した位置情報テーブルを位置情報テーブル記憶部130に記憶させる処理部である。ここで、位置情報テーブル記憶部130は、位置情報テーブルを記憶する記憶部である。図3は、位置情報テーブル作成部120が作成する位置情報テーブルの一例を示す図である。
The position information
図3に示すように、この位置情報テーブルは、「ファイル名」、「変更前の位置(行番号)」「変更後の位置(行番号)」からなる。具体的には、変更前「1」行目にあったファイル名「"/usr/home/a.c"」が変更後に「2」行目になった旨を示し、変更前「2」行目にあったファイル名「"/usr/home/a.c"」が変更後に「2」行目になった旨を示す。その他の位置情報テーブルに関する説明は省略する。 As shown in FIG. 3, this position information table includes “file name”, “position before change (line number)”, and “position after change (line number)”. Specifically, the file name “/ usr / home / ac” on the “1” line before the change has been changed to the “2” line after the change, and the “2” line before the change. This indicates that the file name ““ / usr / home / ac ”” has changed to the “2” line after the change. The description regarding other position information tables is omitted.
図2の説明に戻ると、解析結果編集部140は、管理部110から統合確認結果情報80bとプログラムの解析結果とを取得すると共に、位置情報テーブル記憶部130から位置情報テーブルを取得して、最適な解析結果を選択し、選択した解析結果を解析結果表示部150に渡す処理部である。解析結果表示部150は、解析結果編集部140から取得した解析結果を表示装置50に表示させる処理部である。
Returning to the description of FIG. 2, the analysis result editing unit 140 acquires the integration
確認結果取得部160は、入力装置40からプログラムの解析結果にかかわる確認結果を取得した場合に、取得した確認結果を確認結果情報として確認結果統合部170に渡す処理部である。
The confirmation result
確認結果統合部170は、管理部110から取得する統合確認結果情報80bと、確認結果取得部160から取得する確認結果情報を統合して新たな統合確認結果情報を作成する処理部である。また、確認結果統合部170は、作成した統合確認結果情報を管理部110に渡す。管理部110は、確認結果統合部70から取得した統合確認結果情報と解析対象となったプログラムとを関連付けて構成管理部70に渡し、構成管理部70は統合確認結果情報80bを更新する。
The confirmation
次に、本実施例にかかるプログラム解析装置60が、初版のプログラムを解析する場合の処理について説明する。図4は、本実施例にかかるプログラム解析装置60が、初版のプログラムを解析する場合の処理を示すフローチャートである。
Next, processing when the
同図に示すように、プログラム解析装置60は、構成管理部70が解析対象プログラム群80aから初版のプログラムを取得し(ステップS101)、取得したプログラムをプログラム解析部90に渡す(ステップS102)。
As shown in the figure, in the
そして、プログラム解析部90が、取得したプログラムを解析し(ステップS103)、プログラムの解析結果を確認結果抑制部100に渡し(ステップS104)、確認結果抑制部100が取得した解析結果を表示装置50に表示させる(ステップS105)。
Then, the
続いて、確認結果抑制部100は、入力装置40から確認結果を受付け(ステップS106)、受付けた確認結果を統合確認結果情報として作成し(ステップS107)、作成した統合確認結果情報と、対応するプログラムとを構成管理部70に渡し(ステップS108)、構成管理部70は、統合確認結果情報と、プログラムとを関連付けて記憶部80に登録する(ステップS109)。
Subsequently, the confirmation
図5は、図4のステップS105において、表示装置50に表示される初版のプログラムの解析結果にかかわる表示画面の一例を示す図である。同図に示すように、当該表示画面には、「確」、「ファイル名」、「行番号」、「ID」、「メッセージ」、「パターン」、「コメント」、「更新日時」を有する。
FIG. 5 is a diagram showing an example of a display screen related to the analysis result of the first version program displayed on the
ここで、「ファイル名」は、解析対象となったファイルの名称であり、「行番号」は、ファイル名に対応するファイルの行番号であり、「ID(Identification)」は、特定の解析結果を識別するための情報であり、「メッセージ」は、各ファイル名に対する解析結果のメッセージであり、「パターン」は、同ID中に存在する異なる引数に対して分類わけをするパターンIDである。例えば、上から一行目、三行目、四行目は同一のID「102」であるが、それぞれ引数が異なるため、パターンを「102_3、102_1、102_2」に設定し、それぞれを区別している。 Here, “file name” is the name of the file to be analyzed, “line number” is the line number of the file corresponding to the file name, and “ID (Identification)” is the specific analysis result “Message” is a message of an analysis result for each file name, and “Pattern” is a pattern ID for classifying different arguments existing in the same ID. For example, the first line, the third line, and the fourth line from the top have the same ID “102”, but since the arguments are different, the pattern is set to “102_3, 102_1, 102_2” to distinguish them.
また、「コメント」は、各解析結果に対する確認結果の理由がユーザによって入力される欄であり、「更新日付」は、各情報が更新された日付を示す。「確」には、各解析結果に問題があるか否かの確認結果がユーザによって入力される。例えば、ファイル名「/usr/home/a.c」、行番号「1」、ID「102」、メッセージ「マクロ定義内で、引数”c”が使用されていません」、パターン「102_3」に関してユーザが問題ありと判断した場合には、ユーザによって「確」の欄に「×(問題あり)」が入力され、問題なしと判断した場合には、「確」の欄に「○(問題なし)」が入力される。なお、図5に示した表示画面は、図2に示した解析結果表示部150によって作成される。
“Comment” is a column in which the reason of the confirmation result for each analysis result is input by the user, and “Update date” indicates the date when each piece of information was updated. In “certain”, a confirmation result as to whether or not there is a problem in each analysis result is input by the user. For example, the file name “/ usr / home / ac”, the line number “1”, the ID “102”, the message “The argument“ c ”is not used in the macro definition”, and the pattern “102_3” If it is determined that there is a problem, the user inputs “x (problem)” in the “accuracy” field, and if it is determined that there is no problem, “○ (no problem)” in the “accuracy” field. Is entered. Note that the display screen shown in FIG. 5 is created by the analysis
次に、本実施例にかかるプログラム解析装置60が改版後(バージョンアップ後)のプログラムを解析する場合の処理について説明する。図6は、本実施例にかかるプログラム解析装置60が、改版後のプログラムを解析する場合の処理を示すフローチャートである。
Next, processing when the
図6に示すように、プログラム解析装置60は、構成管理部70が解析対象プログラム群80aからユーザによって指定された改版後のプログラムを取得し(ステップS201)、取得したプログラムをプログラム解析部90に渡し(ステップS202)、プログラム解析部90がプログラムを解析し(ステップS203)、プログラムの解析結果を確認結果抑制部100に渡す(ステップS204)。
As shown in FIG. 6, in the
そして、確認結果抑制部100が、入力装置40から比較対象となる版データ(バージョンアップ前のプログラムの情報)を受付け(ステップS205)、当該版データを構成管理部70に渡し(ステップS206)、構成管理部70が版データに対応するプログラムおよび統合確認結果情報を記憶部80から取得し、取得した情報を確認結果抑制部100に渡す(ステップS207)。
Then, the confirmation
続いて、位置情報テーブル作成部120が、改版前のプログラムと改版後のプログラムとを比較して、位置情報テーブルを作成し、作成した位置情報テーブルを位置情報テーブル記憶部130に記憶させ、(ステップS208)、解析結果編集部140が位置情報テーブルを基に統合確認結果情報の位置情報を変換する(ステップS209)。
Subsequently, the location information
そして、解析結果編集部140が解析結果編集処理を行い(ステップS210)、解析結果表示部150が解析結果表示処理を行い(ステップS211)、確認結果取得部160が入力装置から確認結果を受付け(ステップS212)、確認結果情報を作成し、作成した確認結果情報を確認結果統合部170に渡す(ステップS213)。
Then, the analysis result editing unit 140 performs analysis result editing processing (step S210), the analysis
続いて、確認結果統合部170が、確認結果情報統合処理を行い(ステップS214)、統合した確認結果情報と対応するプログラムとを構成管理部70に渡し(ステップS215)、構成管理部70が統合した確認結果情報とプログラムとを関連付けて記憶部80に記憶する(ステップS216)。
Subsequently, the confirmation
次に、図6のステップS210で示した解析結果編集処理について説明する。図7は、図6のステップS210で示した解析結果編集処理を示すフローチャートである。同図に示すように、確認結果抑制部100は、解析結果編集部140が、全ての解析結果に対する比較が終了したか否かを判定し(ステップS301)、終了した場合には(ステップS302,Yes)、解析結果編集処理を終了する。
Next, the analysis result editing process shown in step S210 of FIG. 6 will be described. FIG. 7 is a flowchart showing the analysis result editing process shown in step S210 of FIG. As shown in the figure, the confirmation
一方、終了していない場合には(ステップS302,No)、解析結果を選択し(ステップS303)、選択した解析結果に該当する統合確認結果情報が存在するか否かを判定する(ステップS304)。 On the other hand, if not completed (No at Step S302), an analysis result is selected (Step S303), and it is determined whether or not integration confirmation result information corresponding to the selected analysis result exists (Step S304). .
そして、該当する統合確認結果情報が存在しない場合には(ステップS305,No)、解析結果の確認項目を空欄に設定し(ステップS306)、ステップS301に移行する。 If the corresponding integration confirmation result information does not exist (No at Step S305), the analysis result confirmation item is set to a blank (Step S306), and the process proceeds to Step S301.
一方、該当する統合確認結果情報が存在する場合には(ステップS305,Yes)、解析結果と確認結果情報とを比較し(ステップS307)、問題かあるか否かを判定する(ステップS308)。 On the other hand, when the corresponding integrated confirmation result information exists (step S305, Yes), the analysis result and the confirmation result information are compared (step S307), and it is determined whether there is a problem (step S308).
そして、問題がある場合には(ステップS308,No)、解析結果の確認項目を×(問題あり)に設定し(ステップS309)、ステップS301に移行する。一方、問題が無い場合には(ステップS308,Yes)、解析結果の確認項目を○(問題なし)に設定し(ステップS310)、ステップS301に移行する。 If there is a problem (No in step S308), the confirmation item of the analysis result is set to x (there is a problem) (step S309), and the process proceeds to step S301. On the other hand, if there is no problem (step S308, Yes), the check item of the analysis result is set to ○ (no problem) (step S310), and the process proceeds to step S301.
次に、図6のステップS211で示した解析結果表示処理について説明する。図8は、図6のステップS211で示した解析結果表示処理を示すフローチャートである。同図に示すように、確認結果抑制部100は、解析結果表示部150が、編集された解析結果および統合確認結果情報を解析結果編集部140から取得し(ステップS401)、取得した解析結果および統合確認結果情報を解析する(ステップS402)。
Next, the analysis result display process shown in step S211 of FIG. 6 will be described. FIG. 8 is a flowchart showing the analysis result display process shown in step S211 of FIG. As shown in the figure, in the confirmation
そして、解析結果表示部150は、解析結果に応じた確認結果(○、×、空欄)をフォームの確認情報欄に代入し(ステップS403)、ファイル名、行番号、コメント、日付をフォームの欄に代入する(ステップS404)。
Then, the analysis
続いて、解析結果表示部150は、IDおよびメッセージをチェックし、過去のパターンにマッチするか否かを判定し(ステップS405)、過去のパターンにマッチする場合には(ステップS406,Yes)、フォームのパターン欄に該当するパターンを代入する(ステップS407)。
Subsequently, the analysis
一方、過去のパターンにマッチしない場合には(ステップS406,No)、新しいパターンを作成し(ステップS408)、作成した新しいパターンをフォームのパターン欄に代入する(ステップS409)。 On the other hand, if it does not match the past pattern (No at Step S406), a new pattern is created (Step S408), and the created new pattern is substituted into the pattern column of the form (Step S409).
図9は、図6のS211に示した解析結果表示処理によって、解析結果表示部150が表示装置50に表示させる表示画面の一例を示す図である。同図に示すように、この表示画面は、「旧Ver.」、「確」、「ファイル名」、「行番号」、「ID」、「メッセージ」、「パターン」、「コメント」、「更新日時」からなる。なお、「確」、「ファイル名」、「行番号」、「ID」、「メッセージ」、「パターン」、「コメント」に関する説明は、図5において行った説明と同様であるため説明を省略する。
FIG. 9 is a diagram showing an example of a display screen that the analysis
ここで、「旧Ver.」は、バージョンアップ前の解析結果が、問題ありと判断されたか否かの情報が格納される。具体的に、上から1段目のファイル名「/usr/home/a.c」に関しては、バージョンアップ前には、「○(問題なし)」と、判定されていたことがわかる。 Here, “old Ver.” Stores information indicating whether or not the analysis result before the upgrade is determined to have a problem. Specifically, it can be seen that the file name “/usr/home/a.c” in the first row from the top was determined as “◯ (no problem)” before the version upgrade.
「確」には、表示装置50によって表示された解析結果を基に、ユーザが、問題あるなしを判断し、判断した結果が入力装置40から入力される。図9において、上から1段目では、「確」が、「×(問題あり)」になっている(バージョンアップ前は、問題無しであったが、バージョンアップ後に問題ありになっている)。
For “certain”, the user determines that there is no problem based on the analysis result displayed by the
なお、解析結果表示部150は、プログラムの解析結果を全て表示してもよいし、例えば、「旧Ver.」において、「○(問題なし)」以外の解析結果を表示(図9の例では、1段目以外を表示)してもよいし、未確認の解析結果のみを表示(図9の例では、2,4,7,8,9段目を表示)してもよい。
Note that the analysis
このように、予め、解析結果表示部150に表示させる解析結果の条件を設定しておくことによって、ユーザは、過去に確認した解析結果を再度確認する必要がなくなるので、解析結果の確認作業にかかわる負担が軽減される。
In this way, by setting the conditions of the analysis result to be displayed on the analysis
次に、図6のステップS214で示した確認結果情報統合処理について説明する。図10は、図6のステップS214で示した確認結果情報統合処理を示すフローチャートである。同図に示すように、確認結果抑制部100は、確認結果統合部170が過去の統合確認結果情報と今回の確認結果情報との比較が全て終了したか否かを判定し(ステップS501)、終了した場合には(ステップS502,Yes)、確認結果情報統合処理を終了する。
Next, the confirmation result information integration process shown in step S214 of FIG. 6 will be described. FIG. 10 is a flowchart showing the confirmation result information integration process shown in step S214 of FIG. As shown in the figure, the confirmation
一方、終了していない場合には(ステップS502,No)、未選択の確認結果情報を選択し(ステップS503)、選択した確認結果情報に該当する統合確認結果情報が存在するか否かを判定し(ステップS504)、該当する統合確認結果情報が存在しない場合には(ステップS505,No)、今回の確認結果情報を新たに統合確認結果情報に追加し(ステップS506)、ステップS501に移行する。 On the other hand, if not completed (step S502, No), unselected confirmation result information is selected (step S503), and it is determined whether or not there is integrated confirmation result information corresponding to the selected confirmation result information. If the corresponding integration confirmation result information does not exist (step S505, No), the current confirmation result information is newly added to the integration confirmation result information (step S506), and the process proceeds to step S501. .
一方、該当する総合確認結果情報が存在する場合には(ステップS505,Yes)、統合確認結果情報と、今回の確認結果情報とを比較し(ステップS507)、確認結果が等しくない場合には(ステップS508,No)、今回の確認結果情報の該当箇所を上書きして(ステップS509)、ステップS501に移行する。 On the other hand, if the corresponding comprehensive confirmation result information exists (step S505, Yes), the integrated confirmation result information is compared with the current confirmation result information (step S507). If the confirmation results are not equal (step S507) In step S508, No), the corresponding part of the current confirmation result information is overwritten (step S509), and the process proceeds to step S501.
一方、確認結果が等しい場合には(ステップS508,Yes)、対応する統合確認結果情報をそのままにし(ステップS510)、ステップS501に移行する。 On the other hand, if the confirmation results are equal (step S508, Yes), the corresponding integration confirmation result information is left as it is (step S510), and the process proceeds to step S501.
ここで、具体的に、ステップS506、509、510の説明を、図9を利用して説明する。同図の上から1段目のように、「旧Ver.」が「○」で、「確」に「×」が代入された場合には、パターン「102_3」にかかわる確認結果を「×」に修正する。 Here, the description of steps S506, 509, and 510 will be specifically described with reference to FIG. As shown in the first row from the top of the figure, when “Old Ver.” Is “◯” and “X” is assigned to “Certain”, the confirmation result related to the pattern “102_3” is “X”. To correct.
また、上から2段目のように、「旧Ver.」が「空欄」で、「確」に「○」が代入された場合には、パターン「0_1」にかかわる確認結果を「○」にする。上から3段目のように、「旧Ver.」が「×」で、「確」に「×」が代入された場合には、変更しない。 Further, as shown in the second row from the top, when “Old Ver.” Is “blank” and “O” is assigned to “Observation”, the confirmation result relating to the pattern “0_1” is set to “O”. To do. As in the third row from the top, when “Old Ver.” Is “x” and “x” is substituted for “certain”, no change is made.
このように、確認結果統合部170が、過去の統合確認結果情報と、新たに入力された確認結果情報を統合するので、記憶部80に記憶させるべきデータ量を大幅に削減することができる。
Thus, since the confirmation
上述してきたように、本実施例にかかるプログラム解析装置60は、確認結果統合部170が、新旧バージョンの確認結果情報を統合して、統合確認結果情報を作成し、構成管理部70が、当該統合確認結果情報を記憶部80に記憶させる。そして、プログラム解析部80が、プログラムを解析し、解析結果編集部140が、統合確認結果情報と解析結果を基にして、表示装置50に表示させる解析結果を選択するので、ユーザの解析結果確認作業にかかる負担を軽減させることができると共に、記憶部80に記憶させるべきデータ量を大幅に削減することができる。
As described above, in the
ところで、上記の実施例で説明したプログラム解析装置60の各処理は、ソースコード解析処理に係るプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図11を用いて、上記の実施例のプログラム解析装置60と同様の機能を有するソースコード解析プログラムを実行するコンピュータの一例を説明する。図11は、ソースコード解析プログラムを実行するコンピュータを示す図である。
By the way, each process of the
同図に示すように、コンピュータ30は、入力装置31、表示装置32、RAM33、HDD34、ROM35およびCPU36をバス37で接続して構成される。ここで、入力装置31および表示装置32は、図1で示した入力装置40および表示装置50に対応する。
As shown in the figure, the
そして、ROM35には、上記の実施例のプログラム解析装置60と同様の機能を発揮するソースコード解析プログラム、つまり、図11に示すように、ソースコード解析プログラム35a、確認結果抑制プログラム35bが予め記憶されている。なお、プログラム35a、35bは、図1に示したプログラム解析装置60の各構成要素と同様、適宜統合または分散しても良い。
The
そして、CPU36が、これらのプログラム35a、35bをROM35から読み出して実行することで、図11に示すように、各プログラム35a、35bは、ソースコード解析プロセス36a、確認結果抑制処理プロセス36bとして機能するようになる。各プロセス36a、36bは、図1に示したプログラム解析部90、確認結果抑制部100にそれぞれ対応する。
Then, the
また、HDD34には、図11に示すように、解析対象プログラム群34a、確認結果データ34bが設けられる。この解析対象プログラム群34a、確認結果データ34bは、図1に示した解析結果対象プログラム群80a、統合確認結果情報80bにそれぞれ対応する。そして、CPU36は、解析対象プログラム群34a、確認結果データ34bをRAM33に読み出し、ソースコード解析処理を実行する。
Further, as shown in FIG. 11, the
ところで、上記した各プログラム35a、35bは、必ずしも最初からROM35に記憶させておく必要はなく、例えば、コンピュータ30に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬の物理媒体」、または、コンピュータ30の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ30に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ30がこれらから各プログラムを読み出して実行するようにしてもよい。
By the way, the above-described
(付記1)プログラムのソースコードを解析し、当該ソースコードの解析結果を出力するソースコード解析プログラムであって、
ソースコードの解析結果に対応付けられ、当該解析結果に対して問題があるか否かを示す確認結果情報を取得し、取得した確認結果情報を記憶装置に記憶させる確認結果情報記憶手順と、
前記確認結果情報記憶手順によって記憶装置に記憶された確認結果情報と、バージョンアップ前のソースコードにかかわる確認結果情報とを統合し、統合した確認結果情報の重複部分を省略した統合確認結果情報を生成する確認結果統合手順と、
前記統合確認結果情報に基づいて選択されたソースコードの解析結果を出力する解析結果出力手順と、
をコンピュータに実行させることを特徴とするソースコード解析プログラム。
(Appendix 1) A source code analysis program for analyzing a source code of a program and outputting an analysis result of the source code,
A confirmation result information storage procedure associated with the analysis result of the source code, obtaining confirmation result information indicating whether or not there is a problem with the analysis result, and storing the obtained confirmation result information in a storage device;
Integrated confirmation result information obtained by integrating the confirmation result information stored in the storage device by the confirmation result information storing procedure and the confirmation result information related to the source code before the upgrade, and omitting the overlapping part of the integrated confirmation result information. Confirmation result integration procedure to be generated,
An analysis result output procedure for outputting an analysis result of the source code selected based on the integration confirmation result information;
A source code analysis program for causing a computer to execute.
(付記2)前記解析結果出力手順は、前記統合確認結果情報に基づいて、ソースコードの解析結果を出力する場合に、バージョンアップ前のソースコードにおいて問題無しと判定された解析結果以外の解析結果を出力することを特徴とする付記1に記載のソースコード解析プログラム。
(Additional remark 2) The said analysis result output procedure is an analysis result other than the analysis result determined that there is no problem in the source code before version upgrade, when outputting the analysis result of a source code based on the said integration confirmation result information The source code analysis program according to
(付記3)前記解析結果出力手順は、バージョンアップ前のソースコードにかかわる確認結果情報に対応付けられていない解析結果が存在する場合に、当該解析結果を出力することを特徴とする付記1に記載のソースコード解析プログラム。 (Additional remark 3) The said analysis result output procedure outputs the said analysis result, when the analysis result which is not matched with the confirmation result information regarding the source code before a version upgrade exists. The source code analysis program described.
(付記4)プログラムのソースコードを解析し、当該ソースコードの解析結果を出力するソースコード解析方法であって、
ソースコードの解析結果に対応付けられ、当該解析結果に対して問題があるか否かを示す確認結果情報を取得し、取得した確認結果情報を記憶装置に記憶させる確認結果情報記憶工程と、
前記確認結果情報記憶工程によって記憶装置に記憶された確認結果情報と、バージョンアップ前のソースコードにかかわる確認結果情報とを統合し、統合した確認結果情報の重複部分を省略した統合確認結果情報を生成する確認結果統合工程と、
前記統合確認結果情報に基づいて選択されたソースコードの解析結果を出力する解析結果出力工程と、
を含んだことを特徴とするソースコード解析方法。
(Appendix 4) A source code analysis method for analyzing a source code of a program and outputting an analysis result of the source code,
A confirmation result information storage step associated with the analysis result of the source code, obtaining confirmation result information indicating whether or not there is a problem with the analysis result, and storing the obtained confirmation result information in a storage device;
Integrated confirmation result information obtained by integrating the confirmation result information stored in the storage device by the confirmation result information storage step and the confirmation result information related to the source code before the upgrade, and omitting the overlapping part of the integrated confirmation result information. Confirmation result integration process to be generated,
An analysis result output step of outputting an analysis result of the source code selected based on the integration confirmation result information;
The source code analysis method characterized by including.
(付記5)前記解析結果出力工程は、前記統合確認結果情報に基づいて、ソースコードの解析結果を出力する場合に、バージョンアップ前のソースコードにおいて問題無しと判定された解析結果以外の解析結果を出力することを特徴とする付記4に記載のソースコード解析方法。 (Additional remark 5) The said analysis result output process WHEREIN: When outputting the analysis result of a source code based on the said integration confirmation result information, the analysis result other than the analysis result determined that there is no problem in the source code before upgrading The source code analysis method according to appendix 4, wherein:
(付記6)前記解析結果出力工程は、バージョンアップ前のソースコードにかかわる確認結果情報に対応付けられていない解析結果が存在する場合に、当該解析結果を出力することを特徴とする付記4に記載のソースコード解析方法。 (Additional remark 6) The said analysis result output process outputs the said analysis result, when the analysis result which is not matched with the confirmation result information regarding the source code before a version upgrade exists. The source code analysis method described.
(付記7)プログラムのソースコードを解析し、当該ソースコードの解析結果を出力するソースコード解析装置であって、
ソースコードの解析結果に対応付けられ、当該解析結果に対して問題があるか否かを示す確認結果情報を取得し、取得した確認結果情報を記憶する確認結果情報記憶手段と、
前記確認結果情報記憶手段によって記憶された確認結果情報と、バージョンアップ前のソースコードにかかわる確認結果情報とを統合し、統合した確認結果情報の重複部分を省略した統合確認結果情報を生成する確認結果統合手段と、
前記統合確認結果情報に基づいて選択されたソースコードの解析結果を出力する解析結果出力手段と、
を備えたことを特徴とするソースコード解析装置。
(Supplementary note 7) A source code analyzing apparatus for analyzing a source code of a program and outputting an analysis result of the source code,
Confirmation result information storage means associated with the analysis result of the source code, obtaining confirmation result information indicating whether there is a problem with the analysis result, and storing the obtained confirmation result information;
Confirmation that integrates the confirmation result information stored by the confirmation result information storage means and the confirmation result information related to the source code before the upgrade, and generates integrated confirmation result information in which the overlapping part of the integrated confirmation result information is omitted. Results integration means;
Analysis result output means for outputting an analysis result of the source code selected based on the integration confirmation result information;
A source code analysis apparatus comprising:
(付記8)前記解析結果出力手段は、前記統合確認結果情報に基づいて、ソースコードの解析結果を出力する場合に、バージョンアップ前のソースコードにおいて問題無しと判定された解析結果以外の解析結果を出力することを特徴とする付記7に記載のソースコード解析装置。
(Supplementary Note 8) When the analysis result output unit outputs the analysis result of the source code based on the integration confirmation result information, the analysis result other than the analysis result determined to have no problem in the source code before the upgrade The source code analysis apparatus according to
(付記9)前記解析結果出力手段は、バージョンアップ前のソースコードにかかわる確認結果情報に対応付けられていない解析結果が存在する場合に、当該解析結果を出力することを特徴とする付記7に記載のソースコード解析装置。 (Additional remark 9) The said analysis result output means outputs the said analysis result, when the analysis result which is not matched with the confirmation result information regarding the source code before a version upgrade exists. The source code analysis device described.
30 コンピュータ(プログラム解析装置)
31 入力装置
32 表示装置
33 RAM
33a,34a 解析対象プログラム群
33b,34b 確認結果データ
34 HDD
35 ROM
35a ソースコード解析プログラム
35b 確認結果抑制処理プログラム
36 CPU
36a ソースコード解析プロセス
36b 確認結果抑制処理プロセス
40 入力装置
50 表示装置
60 プログラム解析装置
70 構成管理部
80 記憶部
80a 解析対象プログラム群
80b 統合確認結果情報
90 プログラム解析部
100 確認結果抑制部
110 管理部
120 位置情報テーブル作成部
130 位置情報テーブル記憶部
140 解析結果編集部
150 解析結果表示部
160 確認結果取得部
170 確認結果統合部
30 Computer (Program analyzer)
31
33a, 34a Analysis
35 ROM
35a Source
36a Source
Claims (5)
第1のソースコードにおいて存在する全てのエラー箇所である第1のエラー箇所を検出し、前記第1のエラー箇所について問題があるエラーであるか、問題の無いエラーであるかを示す入力部から入力された情報を格納部に格納し、
前記第1のソースコードに変更を行って得られる第2のソースコードについて、前記第1のエラー箇所と同一のエラーとなる第2のエラー箇所を検出した場合に、前記格納部に格納された前記第1のエラー箇所に関して、入力された情報と、検出した前記第2のエラー箇所のエラー内容を示す情報と、を関連付けて表示部に表示する、
ことを実行させることを特徴とする解析プログラム。 On the computer,
Detecting a first error location is any error part present Oite to the first source code, or the a first error that the error part issues, indicating which no error problem Input Store the information input from the storage in the storage,
The second source code obtained by changing the first source code is stored in the storage unit when a second error location that is the same error as the first error location is detected. Regarding the first error location, the input information and the information indicating the error content of the detected second error location are associated and displayed on the display unit.
An analysis program characterized by causing
検出した前記第2のエラー箇所に関する入力を受け付けた場合に、前記格納部に格納された前記第1のエラー箇所に関して入力された情報を、受け付けた前記入力に基づいて、前記第2のエラー箇所に関して入力された情報に変更する、
ことを実行させることを特徴とする請求項1に記載の解析プログラム。 In addition to the computer,
When an input related to the detected second error location is received, information input regarding the first error location stored in the storage unit is converted into the second error location based on the received input. Change to the information entered for
The analysis program according to claim 1, wherein the analysis program is executed.
前記第1のエラー箇所と、前記エラー箇所が存在する第1のソースコード中の位置を示す位置情報と、を関連付けて記憶部に記憶し、
前記変更に応じて、前記記憶部に記憶された前記位置情報を修正し、
前記第2のソースコードにおいて、修正された前記位置情報に示される位置に存在する箇所にエラーを検出した場合に、前記箇所を、前記第1のエラー箇所に対応する第2のエラー箇所として検出する、
ことを実行させることを特徴とする請求項1または2に記載の解析プログラム。 In the computer,
The first error location and the location information indicating the location in the first source code where the error location exists are associated and stored in the storage unit,
In response to the change, the position information stored in the storage unit is corrected,
In the second source code, when an error is detected at a location present in the corrected position information, the location is detected as a second error location corresponding to the first error location. To
The analysis program according to claim 1 , wherein the analysis program is executed.
前記コンピュータが、前記第1のソースコードに変更を行って得られる第2のソースコードについて、前記第1のエラー箇所と同一のエラーとなる第2のエラー箇所を検出した場合に、前記格納部に格納された前記第1のエラー箇所に関して、入力された情報と、検出した前記第2のエラー箇所のエラー内容を示す情報と、を関連付けて表示部に表示する、
ことを特徴とする解析方法。 The computer detects the first error location, which is all error locations existing in the first source code, and indicates whether the first error location is a problem error or a problem-free error. Store the information input from the input unit in the storage unit,
When the computer detects a second error location that is the same error as the first error location, in the second source code obtained by changing the first source code, the storage unit In relation to the first error location stored in the display , the input information and the information indicating the error content of the detected second error location are associated and displayed on the display unit.
An analysis method characterized by that.
前記第1のソースコードに変更を行って得られる第2のソースコードについて、前記第1のエラー箇所と同一のエラーとなる第2のエラー箇所を検出した場合に、前記格納部に格納された前記第1のエラー箇所に関して入力された情報と、検出した前記第2のエラー箇所のエラー内容を示す情報と、を関連付けて表示部に表示させる表示制御部と、
を含むことを特徴とする解析装置。 Detecting a first error location is any error part present Oite to the first source code, or the a first error that the error part issues, indicating which no error problem Input A storage unit for storing information input from the unit;
The second source code obtained by changing the first source code is stored in the storage unit when a second error location that is the same error as the first error location is detected. A display control unit that associates and displays information input regarding the first error location and information indicating the error content of the detected second error location on the display unit;
The analysis apparatus characterized by including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005171159A JP4904724B2 (en) | 2005-06-10 | 2005-06-10 | Analysis program, analysis method, and analysis apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005171159A JP4904724B2 (en) | 2005-06-10 | 2005-06-10 | Analysis program, analysis method, and analysis apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006344145A JP2006344145A (en) | 2006-12-21 |
JP4904724B2 true JP4904724B2 (en) | 2012-03-28 |
Family
ID=37641045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005171159A Expired - Fee Related JP4904724B2 (en) | 2005-06-10 | 2005-06-10 | Analysis program, analysis method, and analysis apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4904724B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013045307A (en) * | 2011-08-24 | 2013-03-04 | Nec Corp | Static analysis system, static analysis result display method and program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014880A (en) * | 2000-06-28 | 2002-01-18 | Sony Corp | Material transmitter and material transmission method |
JP2004126866A (en) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | Description output suppression program analysis system and description output suppression program analysis method |
-
2005
- 2005-06-10 JP JP2005171159A patent/JP4904724B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006344145A (en) | 2006-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006244195A (en) | Program test support device, and its method | |
JP4957017B2 (en) | Performance tuning method and apparatus, program, and storage medium | |
JP5556655B2 (en) | Analysis support program, analysis support apparatus, and analysis support method | |
JP4826120B2 (en) | Business specification creation support system and method | |
US20060117075A1 (en) | Prerequisite, dependent and atomic deltas | |
JP2010079447A (en) | Bug detection support program, program for outputting list of resembling sentence structure identification information, bug detection support device, and bug detection support method | |
JP4904724B2 (en) | Analysis program, analysis method, and analysis apparatus | |
JP5149525B2 (en) | Project management support apparatus and method | |
JP2009069973A (en) | Retrieval method, retrieval program, storage medium and information processor | |
JP2008217534A (en) | Application screen preparation system and method, and application program | |
US20080071593A1 (en) | Business process editor, business process editing method, and computer product | |
JP4996262B2 (en) | Program parts support equipment | |
JP4460248B2 (en) | Translation support program, translation support apparatus, and translation support method | |
JP3943582B2 (en) | Bilingual text matching device | |
JP3857842B2 (en) | Program analysis apparatus and recording medium | |
JP2007264863A (en) | Analyzer used for business | |
JP2008077285A (en) | Sql management system and sql management method and program | |
JP2007102359A (en) | Macro program materializing high function component conversion of ladder program | |
JPH06290039A (en) | Method for changing program | |
JP2011134270A (en) | Unit test support device, method and program | |
JP2006268777A (en) | Source code control system, source code control method, and source code control program | |
JPH08137656A (en) | Document edit device | |
JP2009015394A (en) | Dictionary construction support device | |
JP2010128894A (en) | Database generation device, method of generating database, and computer program | |
JP2011108059A (en) | Similar source code management system, program and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111121 |
|
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: 20111213 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4904724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |