JPH11134187A - ソースプログラム解析装置およびそのプログラム記憶媒体 - Google Patents
ソースプログラム解析装置およびそのプログラム記憶媒体Info
- Publication number
- JPH11134187A JPH11134187A JP9293080A JP29308097A JPH11134187A JP H11134187 A JPH11134187 A JP H11134187A JP 9293080 A JP9293080 A JP 9293080A JP 29308097 A JP29308097 A JP 29308097A JP H11134187 A JPH11134187 A JP H11134187A
- Authority
- JP
- Japan
- Prior art keywords
- output
- message
- indication message
- source program
- suppressed
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
ない指摘メッセージは出力を抑止し,また抑止した指摘
メッセージについても必要な場合には簡単に出力させる
ことができるようにすることを目的とする。 【解決手段】 抑止情報適用有無設定部2により,抑止
情報が存在しても指摘メッセージを出力するように設定
されている場合には,指摘メッセージ出力処理部4は,
抑止情報の有無にかかわらず指摘メッセージを出力し,
抑止情報適用有無設定部2により,抑止情報が存在する
場合に指摘メッセージの出力を抑止するように設定され
ている場合には,指摘メッセージ出力処理部4は,抑止
情報に応じて指摘メッセージの出力を抑止する。
Description
の解析により指摘メッセージを出力する機能を有するソ
ースプログラム解析装置およびこれを実現するプログラ
ムを記憶するプログラム記憶媒体に関する。
は,ソースプログラム中の問題箇所や注意すべき箇所を
指摘する指摘メッセージは全て出力されていた。このた
め,ある指摘メッセージについては,意図的なものであ
って指摘メッセージの出力を望まないものであっても出
力されたり,また,指摘メッセージの出力は機械的に処
理されるため,適切でない指摘メッセージや不必要な指
摘メッセージも出力されてしまうことがあった。
ため,例えば,UNIXの標準的なツールとして知られ
ている“lint”のように,ソースプログラムの記述
に所定の抑止情報を付与し,その抑止情報がある部分に
ついての指摘メッセージは出力しないようにするものが
あった。
の際の指摘メッセージの出力は,抑止することなく全て
の指摘メッセージを出力するか,または抑止情報によっ
て抑止した指摘メッセージの全てを出力しないかのいず
れかであった。
セージを元にソースプログラムを修正した後に,再度ソ
ースプログラムの解析を行なうような場合に,出力が不
要な指摘メッセージを何度も出力することは,不必要な
指摘メッセージの確認作業を繰り返し行うことになり,
作業処理の軽減が図れず,また本当に必要な指摘メッセ
ージを抽出することが困難になる等の問題を生じてい
た。
に設定すると,以後はその指摘メッセージが出力されな
いため,指摘メッセージを再確認したいときでも,指摘
メッセージを再出力させることが簡単にはできないとい
う問題があった。
しない指摘メッセージは出力を抑止し,また抑止した指
摘メッセージについても必要な場合には簡単に出力させ
ることができるようにすることを目的とする。
ク構成例を示す。ソースプログラム解析装置1はCPU
およびメモリ等により構成され,抑止情報適用有無設定
部2,抑止メッセージ出力有無設定部3,指摘メッセー
ジ出力処理部4,抑止情報自動挿入処理部5を持つ。
の指示に応じて,ソースプログラム6内に抑止情報が存
在しても指摘メッセージを出力するかどうかを設定する
手段である。また,抑止メッセージ出力有無設定部3
は,ユーザからの指示に応じて,抑止情報により抑止し
た指摘メッセージが存在する場合に,その指摘メッセー
ジを出力するかどうかを設定する手段である。
用するか否かを設定するのに対し,抑止メッセージ出力
有無設定部3は,抑止情報を適用した場合において抑止
した指摘メッセージを出力するか否かを設定する点が異
なる。
適用有無設定部2での設定に基づき,抑止情報が存在し
ても指摘メッセージを出力するように設定されている場
合には抑止情報の有無にかかわらず指摘メッセージを出
力し,抑止情報が存在する場合に指摘メッセージの出力
を抑止するように設定されている場合には抑止情報に応
じて指摘メッセージの出力を抑止する。また,抑止メッ
セージ出力有無設定部3での設定に基づき,抑止した指
摘メッセージが存在する場合にその指摘メッセージを出
力するように設定されている場合に,抑止した指摘メッ
セージを出力する。このとき,抑止マーク付与部41
は,抑止した指摘メッセージに特定の記号等を付加して
出力し,抑止した指摘メッセージの出力であるか他の指
摘メッセージの出力であるかを一目で区別できるように
出力する。
ージの出力リストにおいて出力を抑止したい指摘メッセ
ージを選択させる手段と,ソースプログラム6内に,前
記選択された指摘メッセージを抑止するための情報を自
動的に挿入する手段とを持つ。
ソースプログラムである。以上の各処理手段を計算機に
よって実現するためのプログラムは,計算機が読み取り
可能な可搬媒体メモリ,半導体メモリ,ハードディスク
などの適当な記憶媒体に格納することができる。
報適用有無設定部2により,ソースプログラム6内に抑
止情報が存在する場合に指摘メッセージを出力するかど
うかを設定し,抑止情報が存在しても指摘メッセージを
出力するように設定したときには,指摘メッセージ出力
処理部4により,ソースプログラム6を解析した結果の
指摘メッセージを,抑止情報があっても出力する。抑止
情報が存在する場合に指摘メッセージを出力しないよう
に設定したときには,ソースプログラム6を解析した結
果の指摘箇所に抑止情報があれば,指摘メッセージを出
力しないようにする。これによって,指摘メッセージを
抑止情報に応じて出力するかしないかを任意に選択する
ことができるようになる。
抑止情報が存在する場合に指摘メッセージの出力を抑止
すると設定した場合であっても,抑止メッセージ出力有
無設定部3により,抑止した指摘メッセージが存在する
場合にその指摘メッセージを出力するように設定したと
きには,ソースプログラム6内の抑止情報を検出し,指
摘メッセージ出力処理部4により,抑止した指摘メッセ
ージを出力する。抑止した指摘メッセージが存在する場
合にその指摘メッセージを出力しないように設定したと
きには,指摘メッセージ出力処理部4により,抑止した
指摘メッセージを出力しないようにする。これによっ
て,抑止した指摘メッセージについても,必要な場合に
は任意に出力させることができるようになる。
摘メッセージを出力する場合に,抑止マーク付与部41
は,例えば指摘メッセージに抑止マークを付与するなど
して,出力された指摘メッセージが抑止したものである
ことが分かるような出力形式で出力する。これによっ
て,抑止した指摘メッセージと抑止していない指摘メッ
セージとを一目で区別することができ,解析結果の検討
作業を効率化することが可能になる。
指摘メッセージの出力リストにおいて出力を抑止したい
指摘メッセージを任意に選択し,ソースプログラム6内
に,選択された指摘メッセージを抑止するための情報を
自動的に挿入することができるので,GUI(Graphica
l User Interface)等による簡単な操作で,不要な指摘
メッセージへの抑止情報の設定が可能になる。
説明する。図2は,本実施の形態の処理概要を示すフロ
ーチャートである。
り,ソースプログラム6内に抑止情報がある場合に指摘
メッセージを出力するかどうかを設定し(S1),さら
に抑止メッセージ出力有無設定部3により,ソースプロ
グラム6内に指摘メッセージの出力を抑止した部分があ
る場合にも指摘メッセージを出力するかどうかを設定す
る(S2)。
も指摘メッセージを出力するよう設定されているかどう
かを判断し(S3),抑止情報の有無にかかわらず指摘
メッセージを出力するよう設定されているときにはステ
ップS8の処理へ進む。ソースプログラム6内に抑止情
報がある場合には指摘メッセージを出力しないよう設定
されているときにはステップS4の処理へ進む。
ム6内に抑止情報があるかどうかを判断し,ソースプロ
グラム6内に抑止情報がない場合にはステップS8の処
理へ進み,ソースプログラム6内に抑止情報を検出した
場合にはステップS5の処理へ進む。
指摘メッセージを出力するようになっているかどうかを
判断し,抑止した指摘メッセージを出力するようになっ
ている場合には,抑止した指摘メッセージに抑止マーク
を付加して,抑止した指摘メッセージと抑止していない
指摘メッセージとを分かるように出力する(S6)。抑
止した指摘メッセージを出力するようになっていない場
合には,抑止した指摘メッセージ以外の指摘メッセージ
を出力する(S7)。GUIの場合には,S6とS7の
出力をした後に,S2の処理を行うことができ,再度S
5の処理を繰り返すことができる。その後,ステップS
9の処理へ進む。
ても全ての指摘メッセージを出力する。続いて,ステッ
プS9の処理では,抑止情報自動挿入処理部5により,
指摘メッセージの出力リストにおいて,次のソースプロ
グラム6の解析時に出力を抑止したい指摘メッセージが
選択された場合に,ソースプログラム6中に抑止情報を
自動挿入する(S9)。
示す。図3(A)は,抑止情報を適用するか否かの設定
を,GUIを用いて行うときの抑止情報適用設定画面の
例であり,図3(B)は,抑止情報を適用するか否かの
設定を,ソースプログラム解析装置1を実現するソース
解析プログラム(ソースチェッカ)を起動する際のコマ
ンドのオプションにより行う例である。
用いて抑止情報を適用することを設定する場合には,解
析対象のソースプログラムの一覧またはディレクトリ等
で,抑止情報を適用するソースプログラム6を選択した
後,抑止情報適用設定画面上でマウスクリック等により
「レ」点をマークする。このマークによって,ソースプ
ログラム6中に抑止情報があると指摘メッセージを出力
しない旨の設定がなされる。
析プログラム(プログラム名=pgr)の起動コマンド
のオプションとして「−d」を記述することにより,同
様に抑止情報を適用する旨を設定することができる。図
中,「%」はコマンドの入力を促すプロンプト,「a.
c」「b.c」は解析するソースプログラム6のファイ
ル名である。解析結果である指摘メッセージの出力は,
この例では標準出力(画面)である。
有無の設定の例を示す。図4(A)は,抑止した指摘メ
ッセージを出力するか否かの設定を,GUIを用いて行
うときの被抑止指摘メッセージ出力設定画面の例であ
り,図4(B)は,抑止した指摘メッセージを出力する
か否かの設定を,ソース解析プログラム(ソースチェッ
カ)を起動する際のコマンドのオプションにより行う例
である。
力設定画面を用いて,抑止した指摘メッセージを出力す
ることを設定する場合には,解析対象のソースプログラ
ムの一覧またはディレクトリ等で,抑止した指摘メッセ
ージの出力が必要なソースプログラム6を選択した後,
被抑止指摘メッセージ出力設定画面上でマウスクリック
等により「レ」点をマークする。このマークによって,
抑止情報を適用した場合でも,抑止した指摘メッセージ
を出力する旨の設定がなされる。
析プログラム(プログラム名=pgr)の起動コマンド
のオプションとして「−o」を記述することにより,同
様に抑止した指摘メッセージを出力する旨を設定するこ
とができる。
5(A)は,標準インクルードによる指摘メッセージ抑
止の例を示している。図5(A)に示すソースプログラ
ムAの「#include」文で呼び出される「standard.h」の
ヘッダファイル内に,構文エラーではないが,通常は用
いられないような意味のない条件式などの指摘箇所(こ
の例では「if (x = 1)」)がある場合に,「#include」
文でstandard.hを「<>」で括っているため,標準インク
ルードであると認識し,指摘箇所があっても指摘メッセ
ージを出力しない。ソースプログラム解析装置1は,こ
のような標準インクルードを抑止情報とみなす。
ージ抑止の例を示している。図5(B)に示すように,
本来は指摘されるべき記述(この例では「if (x =
1)」)があるが,この箇所に,「/* pgr0040 */ 」と
いう特殊な文字列をコメントとして付けることにより,
ソースプログラム解析装置1は,この箇所については原
則として指摘メッセージを出力しない。この場合には,
コメント「/* pgr0040 */ 」が抑止情報となる。な
お,「/* pgr0040 */ 」中の「0040」は,数多くある
指摘メッセージの中のメッセージ番号であり,0040
番の指摘メッセージだけ出力を抑止することを指示して
いる。同じ記述のコンポーネント中に他の種類の指摘箇
所がある場合には,その指摘メッセージの出力は抑止さ
れない。
041番の複数の指摘メッセージの出力を抑止する場合
には,「/* pgr0040,pgr0041 */ 」という抑止情報の
記述になる。
す図である。図6(A)に示すように,指摘メッセージ
出力処理部4は,抑止情報適用有無設定部2の設定に基
づいて指摘メッセージリストを出力する。このリスト中
から,出力を抑止したい指摘メッセージを選択する場
合,その指摘メッセージにカーソルを合わせて,メニュ
ーまたは指摘メッセージのクリック等により抑止情報の
挿入を指示する。これによって,図6(B)に示すよう
な抑止情報自動挿入画面が表示されるので,この画面中
の「実行」ボタンをクリックする。抑止情報自動挿入処
理部5は,「実行」ボタンがクリックされると,ソース
プログラム6中の選択された指摘メッセージに対応する
部分に,例えば図6(C)に示すようなコメント「/*
pgr0040 */ 」を抑止情報として自動挿入する。
摘メッセージリストの例を示す図である。抑止した指摘
メッセージを出力するように設定されている場合,抑止
マーク付与部41によって,抑止した指摘メッセージに
抑止マーク(*)を付けることにより,指摘メッセージ
のリスト中で,その指摘メッセージが抑止したものであ
ることが分かるようにする。これによって,ユーザは,
指摘メッセージを参照する際に,抑止した指摘メッセー
ジだけに注目して再チェックすることも,これとは反対
に,抑止した指摘メッセージは無視して,抑止しない指
摘メッセージだけに注目してチェックすることも簡単に
行うことができるようになる。
ソースプログラム中に指摘メッセージの抑止情報がある
場合に,これを出力/非出力とし,また,抑止情報が付
与された指摘メッセージであることを明示して出力する
ことができる。これにより,ソースプログラムを解析し
た結果の指摘メッセージに関する確認の作業効率を大き
く向上させることが可能になる。また,抑止が必要な指
摘メッセージに対して抑止情報の設定も簡単に行うこと
ができるようになる。
である。
る。
例を示す図である。
ストの例を示す図である。
Claims (5)
- 【請求項1】 ソースプログラムを解析し,解析した結
果を指摘メッセージとして出力するソースプログラム解
析装置において,ソースプログラム内に指摘メッセージ
の出力を抑止することを指示する抑止情報が存在しても
指摘メッセージを出力するかどうかを設定する手段と,
抑止情報が存在しても指摘メッセージを出力するように
設定されている場合には抑止情報の有無にかかわらず指
摘メッセージを出力し,抑止情報が存在する場合に指摘
メッセージの出力を抑止するように設定されている場合
には抑止情報に応じて指摘メッセージの出力を抑止する
手段とを備えることを特徴とするソースプログラム解析
装置。 - 【請求項2】 請求項1に記載するソースプログラム解
析装置において,前記抑止情報により抑止した指摘メッ
セージが存在する場合にその指摘メッセージを出力する
かどうかを設定する手段と,抑止した指摘メッセージが
存在する場合にその指摘メッセージを出力するように設
定されている場合に,抑止した指摘メッセージを出力す
る手段とを備えることを特徴とするソースプログラム解
析装置。 - 【請求項3】 請求項2に記載するソースプログラム解
析装置において,前記抑止した指摘メッセージを出力す
る手段は,抑止した指摘メッセージを出力する場合に,
抑止した指摘メッセージであることが分かるように出力
することを特徴とするソースプログラム解析装置。 - 【請求項4】 請求項1に記載するソースプログラム解
析装置において,指摘メッセージの出力リストにおいて
出力を抑止したい指摘メッセージを選択させる手段と,
ソースプログラム内に,前記選択された指摘メッセージ
を抑止するための情報を自動的に挿入する手段とを備え
ることを特徴とするソースプログラム解析装置。 - 【請求項5】 ソースプログラムを解析し,解析した結
果を指摘メッセージとして出力するソースプログラム解
析装置を実現するためのプログラムを記憶する記憶媒体
であって,ソースプログラム内に指摘メッセージの出力
を抑止することを指示する抑止情報が存在しても指摘メ
ッセージを出力するかどうかを設定する処理と,抑止情
報が存在しても指摘メッセージを出力するように設定さ
れている場合には抑止情報の有無にかかわらず指摘メッ
セージを出力し,抑止情報が存在する場合に指摘メッセ
ージの出力を抑止するように設定されている場合には抑
止情報に応じて指摘メッセージの出力を抑止する処理と
を計算機に実行させるプログラムを記憶することを特徴
とするソースプログラム解析装置のプログラム記憶媒
体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29308097A JP3544462B2 (ja) | 1997-10-27 | 1997-10-27 | ソースプログラム解析装置およびソースプログラム解析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29308097A JP3544462B2 (ja) | 1997-10-27 | 1997-10-27 | ソースプログラム解析装置およびソースプログラム解析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11134187A true JPH11134187A (ja) | 1999-05-21 |
JP3544462B2 JP3544462B2 (ja) | 2004-07-21 |
Family
ID=17790196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29308097A Expired - Fee Related JP3544462B2 (ja) | 1997-10-27 | 1997-10-27 | ソースプログラム解析装置およびソースプログラム解析プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3544462B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092475A (ja) * | 2004-09-27 | 2006-04-06 | Hitachi Software Eng Co Ltd | ソースコードインスペクションシステム |
JP2009525522A (ja) * | 2006-01-30 | 2009-07-09 | マイクロソフト コーポレーション | コンテクストベースのコード分析 |
JP2009193335A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 静的検証ツールのアノテーション自動挿入方法 |
JP2013045307A (ja) * | 2011-08-24 | 2013-03-04 | Nec Corp | 静的解析システム、静的解析結果表示方法及びプログラム |
-
1997
- 1997-10-27 JP JP29308097A patent/JP3544462B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092475A (ja) * | 2004-09-27 | 2006-04-06 | Hitachi Software Eng Co Ltd | ソースコードインスペクションシステム |
JP2009525522A (ja) * | 2006-01-30 | 2009-07-09 | マイクロソフト コーポレーション | コンテクストベースのコード分析 |
US8595703B2 (en) | 2006-01-30 | 2013-11-26 | Microsoft Corporation | Context based code analysis |
US8997055B2 (en) | 2006-01-30 | 2015-03-31 | Microsoft Corporation | Context based code analysis |
JP2009193335A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 静的検証ツールのアノテーション自動挿入方法 |
JP2013045307A (ja) * | 2011-08-24 | 2013-03-04 | Nec Corp | 静的解析システム、静的解析結果表示方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3544462B2 (ja) | 2004-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6463480B2 (en) | Method and system of processing a plurality of data processing requests, and method and system of executing a program | |
US7689925B2 (en) | Copy and paste extensibility | |
RU2398263C2 (ru) | Способ, система и устройство, обеспечивающие предварительный просмотр документа | |
JP4395761B2 (ja) | プログラムテスト支援装置およびその方法 | |
US8359584B2 (en) | Debugging from a call graph | |
US6910188B2 (en) | Viewing changes to a shared document in one object | |
US20030164855A1 (en) | Content management system | |
US7516398B2 (en) | Apparatus and method of executing multi-clipboard | |
US8850388B2 (en) | Controlling application features | |
JP2008506183A (ja) | 自動的に生成されたコンテンツのインポート | |
US8935624B2 (en) | Method for copying images | |
JP4056477B2 (ja) | クリップボードにコピーされた表示データを表示するためのシステム | |
CN106547698A (zh) | 覆盖率数据的处理方法、装置和服务器 | |
US20020078106A1 (en) | Method and apparatus to spell check displayable text in computer source code | |
JP3544462B2 (ja) | ソースプログラム解析装置およびソースプログラム解析プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6993749B2 (en) | Conditional debug monitors | |
JPH05158672A (ja) | メニューによるプログラム起動選択方式 | |
CN113495651B (zh) | 一种窗口控制方法和装置 | |
JP2005085182A (ja) | 試験支援システム | |
US20040169684A1 (en) | Linking images for navigation | |
US8843896B2 (en) | Metamodeling contextual navigation of computer software applications | |
JPH10301809A (ja) | Gui操作手順の自動生成方法 | |
JP2008176364A (ja) | プログラム部品化支援装置 | |
KR102000543B1 (ko) | 웹 전자 문서 편집 장치 및 이의 동작 방법 | |
JP4641238B2 (ja) | アプリケーション動作追跡支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040127 |
|
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: 20040330 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040402 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080416 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100416 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |