JP2000347894A - ソースプログラムチェック装置およびそのプログラム記録媒体 - Google Patents

ソースプログラムチェック装置およびそのプログラム記録媒体

Info

Publication number
JP2000347894A
JP2000347894A JP11161788A JP16178899A JP2000347894A JP 2000347894 A JP2000347894 A JP 2000347894A JP 11161788 A JP11161788 A JP 11161788A JP 16178899 A JP16178899 A JP 16178899A JP 2000347894 A JP2000347894 A JP 2000347894A
Authority
JP
Japan
Prior art keywords
message
check
group
output
source program
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.)
Withdrawn
Application number
JP11161788A
Other languages
English (en)
Inventor
Masako Ito
雅子 伊藤
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 JP11161788A priority Critical patent/JP2000347894A/ja
Priority to US09/471,180 priority patent/US6757889B1/en
Publication of JP2000347894A publication Critical patent/JP2000347894A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis

Abstract

(57)【要約】 【課題】 ソースプログラムの解析およびチェックを行
い,エラーや注意を指摘するメッセージを出力する場合
に,ユーザが緊急に修正する必要のあるメッセージだけ
を早く漏れなく見つけることができるようにすることを
目的とする。 【解決手段】 グループ設定部133 は, ユーザからの指
示によりメッセージの種類ごとにグループ分けし, グル
ープごとに表示/非表示の表示状態を設定する。指摘メ
ッセージ作成部131 は, チェック部11のチェック結果を
もとに指摘メッセージを作成する。指摘メッセージ緊急
度処理部132 は, メッセージの修正数に基づいて緊急度
を決定する。出力メッセージ編集部135 は, グループ設
定および緊急度に従って, 出力すべき指摘メッセージを
選択し, 出力順位を決定して出力メッセージを編集す
る。出力部17は, 編集された指摘メッセージリスト4 を
出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,ソースプログラム
をチェックする装置において,特にチェック結果の指摘
メッセージを,ユーザが必要な順番で出力することがで
きるようにしたソースプログラムチェック装置およびそ
のプログラム記録媒体に関する。
【0002】
【従来の技術】一般に計算機が実行するプログラムは,
C言語やその他の計算機言語を用いて記述され,そのソ
ースプログラムがコンパイラによって翻訳されて,機械
語の命令列からなるオブジェクトプログラムが生成され
る。このとき,コンパイラは,入力したソースプログラ
ムについて文法チェックを行い,構文エラーなどがあれ
ば,そのエラー情報をリストとして出力する。
【0003】しかし,ソースプログラムにおける実際の
エラーは,コンパイラが検出可能な文法的エラーに限ら
れるわけではなく,文法的には正しいにもかかわらず,
処理上の論理的矛盾が生じるものや,性能が悪くなるも
のなど,コンパイラが検出することができないエラーも
数多く存在する。
【0004】そのため,特開平8−69380号公報
「ソースプログラムチェック装置」に開示されているよ
うに,ソースプログラムについてのエラーや要注意項目
を出力するとともに,それらのエラーや要注意項目をど
のように修正したらよいかをメッセージとして出力する
ことが可能なソースプログラムチェック装置が提案され
ている。
【0005】このソースプログラムチェック装置は,ソ
ースプログラムを入力する入力手段と,チェック項目を
パターン化し,パターン化された項目に基づいて入力手
段によりソースプログラムを解析する解析手段と,解析
手段において解析された結果を抽出し,結果を抽出して
指摘メッセージとして出力する出力手段とを備える。こ
れにより,入力されたソースプログラムについて,プロ
グラミング工程のグループレビューでは,前工程で作成
した仕様書と矛盾がないかというチェックだけではな
く,性能,論理,変数の設定/参照関係(未定義や未使
用)の問題点がないかのチェックを可能にしている。
【0006】このような従来のソースプログラムチェッ
ク装置は,ソースプログラムの行番号順か,固定に決め
られたメッセージの種類順に,チェック結果の指摘メッ
セージを出力していた。
【0007】
【発明が解決しようとする課題】ソースプログラムチェ
ック装置は,チェック結果の指摘メッセージが多量に出
力されてしまうという特徴があるため,それを使用する
ユーザは,緊急に修正する必要のあるメッセージだけを
早く洩れなく見つけることが難しかった。
【0008】従来のソースプログラムチェック装置にお
いて,指摘メッセージを行番号順に出力するものでは,
行番号順と修正の緊急度順とはまったく関係がないた
め,緊急に修正する必要のあるメッセージだけを早く洩
れなく見つけたいというユーザの要望を満たすことはで
きなかった。また,固定に決められたメッセージの種類
順に出力するものでは,どのメッセージが緊急度の高い
メッセージであるかが不明であるため,これもユーザの
要望を満たすことはできなかった。
【0009】本発明は上記問題点の解決を図り,ソース
プログラムのチェックにより出力されるメッセージを緊
急度順に出力するための手段を提供し,ユーザが緊急に
修正する必要のあるメッセージだけを早く洩れなく見つ
けることを容易にすることを目的とする。
【0010】
【課題を解決するための手段】第1の本発明は,上記課
題を解決するため,ソースプログラムを解析して所定の
チェック項目についてのチェックを行い,チェック結果
を指摘メッセージとして出力するソースプログラムチェ
ック装置において,指摘メッセージをメッセージの種類
によりグループ分けするためのグループを設定する手段
と,設定されたグループに基づいて出力すべき指摘メッ
セージを編集する手段とを備えることを特徴とする。
【0011】前記出力すべき指摘メッセージを編集する
手段は,例えば設定されたグループに基づいて出力すべ
き指摘メッセージの出力または非出力を決定するように
構成される。また,例えば設定されたグループに基づい
て出力すべき指摘メッセージの出力順序を決定するよう
に構成される。
【0012】第2の本発明は,ソースプログラムを解析
して所定のチェック項目についてのチェックを行い,チ
ェック結果を指摘メッセージとして出力するソースプロ
グラムチェック装置において,チェック結果の指摘メッ
セージの緊急度を決定する手段と,指摘メッセージの緊
急度に基づいて出力すべき指摘メッセージの出力順序を
決定する手段とを備えることを特徴とする。
【0013】前記チェック結果の指摘メッセージの緊急
度を決定する手段は,指摘メッセージの種類ごとの出力
履歴情報に基づいて緊急度を決定するように構成され
る。
【0014】以上の各処理手段を計算機によって実現す
るためのプログラムは,計算機が読み取り可能な可搬媒
体メモリ,半導体メモリ,ハードディスクなどの適当な
記録媒体に格納することができる。
【0015】本発明の作用は,以下のとおりである。緊
急に対処すべきメッセージかどうかは,開発環境や開発
物などによって影響されるため,各ユーザごとに少しず
つ異なってくる。そこでまず,ソースプログラムチェッ
ク装置を使用するユーザがグループ設定手段によって自
由にメッセージの分類ができるようにする。そして,ユ
ーザが指定したグループのメッセージのみを選択表示す
る。これにより,ユーザは緊急を要すると判断したメッ
セージだけ見ることができる。
【0016】次に,ユーザが一番多く修正したメッセー
ジを緊急度の高いメッセージと定義し,ソースプログラ
ムをチェックしたときに,前回のメッセージと比較し,
メッセージの種類ごとにメッセージ修正数を求め,今ま
で蓄えてきたメッセージの種類ごとの累積メッセージ修
正数に加える。この累積メッセージ修正数が多いメッセ
ージの種類順に出力すると,緊急度順に指摘メッセージ
を出力したことになる。この方式は,このソースプログ
ラムチェック装置を使えば使うほど,緊急度の精度が増
すことになる。
【0017】
【発明の実施の形態】図1は,本発明の実施の形態を示
すブロック構成図である。ソースプログラムチェック装
置1は,CPUおよびメモリなどからなる装置であっ
て,C言語,C++言語などの計算機言語で記述された
ソースファイル2からソースプログラムを入力し,その
ソースプログラムをチェックした結果から修正や注意を
必要とする指摘メッセージを生成し,指摘メッセージリ
スト4を出力する装置である。
【0018】構文解析部10は,入力したソースプログ
ラムを解析し,チェックに用いるための構文テキストと
名前テーブルとを作成する。チェック部11は,構文テ
キストおよび名前テーブルを参照し,チェック項目蓄積
部12に蓄積した所定のチェック項目についてのチェッ
クを行う。
【0019】メッセージ編集部13は,チェック結果か
ら指摘メッセージを生成し,指摘メッセージのグループ
分けや指摘メッセージの緊急度に基づいて,出力メッセ
ージを編集する。
【0020】メッセージ編集部13の指摘メッセージ作
成部131では,チェック部11の結果を受けて,指摘
メッセージを作成する。指摘メッセージ緊急度処理部1
32では,指摘メッセージ履歴記憶部15に記憶された
メッセージの種類ごとの前回メッセージ数と,今回生成
された指摘メッセージの種類ごとのメッセージ数とを比
較し,その比較結果の履歴を累積し,その累積した結果
から修正が多かったメッセージの種類を推定する。その
修正が多いと推定されるメッセージの種類から順に緊急
度が高いものとする。
【0021】グループ設定部133では,入力装置3を
介したユーザの入力指示により,指摘メッセージの種類
をグループ分けし,グループごとに対応するメッセージ
番号をグループ情報テーブル134に格納する。また,
ユーザからの入力指示により,グループごとに出力状態
(出力/非出力)をグループ情報テーブル134に設定
する。なお,出力状態(出力/非出力)を設定する他
に,グループごとの出力順序を設定できるようにしても
よい。
【0022】出力メッセージ編集部135では,グルー
プ情報テーブル134と指摘メッセージ緊急度処理部1
32の処理結果とに基づいて,出力すべき指摘メッセー
ジを選択し,また出力すべき指摘メッセージの出力順序
を決定し,それらの出力情報の編集を行う。
【0023】指摘メッセージ記憶部14は,1つのソー
スプログラムの全ステップのチェック結果に対応する指
摘メッセージの種類と内容を対にして格納する。指摘メ
ッセージとしては,チェック部11からのチェック結果
により,性能改善のメッセージ,移植性のメッセージ,
論理エラーのメッセージなどがある。
【0024】指摘メッセージ履歴記憶部15は,指摘メ
ッセージの種類ごとに,前回メッセージ数と,各メッセ
ージについての修正数の累積値を記憶し保存する。
【0025】出力メッセージ記憶部16は,出力メッセ
ージ編集部135により編集された出力メッセージであ
る指摘メッセージリスト4を格納する。出力部17は,
出力メッセージ記憶部16に記憶されている情報をプリ
ンタまたはディプレイ装置等に出力する。この出力情報
は,ファイル名,行番号,メッセージ等の各項目からな
る指摘メッセージリスト4である。
【0026】次に,図2および図3を用いて,本実施の
形態の動作例について説明する。指摘メッセージの種類
として,ここでは,msg1,msg2,msg3,m
sg4,msg5の5種類があるとする。
【0027】ユーザが,メッセージの種類をグループa
とグループbの2つに分け,msg1,msg2および
msg3をグループaと設定し,msg4およびmsg
5をグループbと設定して,グループaを表示,グルー
プbを非表示に設定したとする。これらの情報は,グル
ープ設定部133によってグループ情報テーブル134
に格納される。
【0028】ファイル名が“P0.c”のソースファイ
ル2からソースプログラムを入力し,構文解析部10に
より,構文解析を行って,構文テキストと名前テーブル
を作成する。さらに,チェック部11により,所定のチ
ェック項目についてのチェックを行う。指摘メッセージ
作成部131は,チェック結果をもとに指摘メッセージ
を生成する。
【0029】出力メッセージ編集部135は,指摘メッ
セージ作成部131が作成した指摘メッセージのうち,
表示が設定されているグループaの指摘メッセージms
g1,msg2,msg3だけを抽出して編集し,指摘
メッセージリスト4として出力する。なお,ここでは,
最初は各メッセージの出力緊急度は,msg1,msg
2,msg3の順に初期化されているものとする。図2
の例では,指摘メッセージmsg1として,行番号8
7,151の2個所,指摘メッセージmsg2として,
行番号18,52,74,101,204の5個所,指
摘メッセージmsg3として,行番号191の1個所が
リストアップされている。指摘メッセージmsg4,m
sg5については,グループbが「非表示」に設定され
ているため,指摘メッセージリスト4として出力されな
い。
【0030】出力されたグループaのmsg1,msg
2,msg3のメッセージ数は,この種類ごとに指摘メ
ッセージ履歴記憶部15の前回メッセージ数テーブル1
51に格納され保存される。この例では,msg1のメ
ッセージ数=2,msg2のメッセージ数=5,msg
3のメッセージ数=1である。なお,修正した指摘メッ
セージ数の累計を記録する累積メッセージ修正数テーブ
ル152は,未だ修正が行われていないので,全ての種
類について初期値0となっている。
【0031】その後,ユーザは,図3に示すように,図
2の指摘メッセージリスト4を参照して,例えばmsg
1のメッセージにより指摘された2個所のうちの1個
所,msg2のメッセージにより指摘された5個所のう
ちの3個所についてソースファイル(P0.c)2の修
正を行ったとする。
【0032】修正後のソースファイルについて,構文解
析部10およびチェック部11により,構文解析および
所定のチェックを行った後に,指摘メッセージ作成部1
31により,再度指摘メッセージを生成する。
【0033】指摘メッセージ緊急度処理部132によ
り,前回メッセージ数テーブル151の各種類のメッセ
ージ数と,メモリ上に記憶されている今回の各種類のメ
ッセージ数とを種類ごとに比較して,修正されたメッセ
ージ数を求め,累積メッセージ修正数テーブル152に
格納する。
【0034】メッセージmsg1は,前回のメッセージ
数が2,今回のメッセージ数が1であるので,1個所修
正が施されたことが推定される。また,メッセージms
g2は,前回のメッセージ数が5,今回のメッセージ数
が2であるので,3個所修正が施されたと推定される。
メッセージmsg3については,前回も今回もメッセー
ジ数が1であるので,修正が施されなかったと推定され
る。修正が多いメッセージほど,ユーザにとっては,重
要な指摘メッセージであると考えられるので,メッセー
ジの種類ごとの修正された数を累積することにより,累
積値によって指摘メッセージの緊急度を判断する。
【0035】図3の例では,累積メッセージ修正数テー
ブル152のmsg1についての修正数が0から1に変
更され,msg2についての修正数が0から3に変更さ
れ,msg3についての修正はなかったため,0のまま
となっている。この累積メッセージ修正数テーブル15
2には,ソースファイルの種類に関係なく,全メッセー
ジの種類について修正数が累積されて蓄積される。
【0036】以上の処理の後,前回メッセージ数テーブ
ル151には,次回のために,今回のメッセージの種類
ごとのメッセージ数が保存される。すなわち,前回メッ
セージ数テーブル151のmsg1の欄に1,msg2
の欄に2,msg3の欄に1が設定される。なお,前回
メッセージ数テーブル151は,ソースファイルごとに
作成され,ある定められた期間以上の長期間修正がなか
った場合には,自動的にクリアされる。これは,長期間
修正がなかったソースファイルは,ファイル名が同じで
あっても実際には異なるソースプログラムであることが
あり,このような場合に比較の対象とするのは妥当でな
いからである。
【0037】前述したように,修正メッセージ数が多い
メッセージの種類ほど,そのユーザにとって,修正を必
要とする緊急度が高いものであると考えられる。そこ
で,指摘メッセージ緊急度処理部132により,修正メ
ッセージ数の大きい順に,緊急度「msg2,msg
1,msg3」とする。
【0038】出力メッセージ編集部135は,決定した
緊急度に基づいて,指摘メッセージmsg2,msg
1,msg3の順に出力するようにメッセージリストを
編集し,出力部17は,指摘メッセージリスト4として
出力する。例えば,図3に示すように,指摘メッセージ
msg2として,行番号74,204の2個所,指摘メ
ッセージmsg1として行番号87の1個所,指摘メッ
セージmsg3として行番号191の1個所が,この順
でリストアップされて出力される。
【0039】図4は,本実施の形態におけるグループ設
定部133の処理以外の全体の処理概要を示すフローチ
ャートである。グループ設定部133の処理については
後述する。
【0040】ソースファイル2から対象ソースプログラ
ムを入力し(ステップS10),構文解析部10によ
り,構文テキストと名前テーブルを作成し(ステップS
11),ソース入力が終了するまでステップS10,S
11の処理を繰り返す(ステップS12)。
【0041】次に,チェック部11により,チェック項
目パターンとの照合によるチェックを行い(ステップS
13),パターンが一致するかどうかを調べ(ステップ
S14),パターンが一致する場合にそのパターンに応
じた指摘メッセージを作成する(ステップS15)。ス
テップS13からステップS15までの処理を,全ての
プログラムテキストについて,全てのチェック項目パタ
ーンによるチェックが終了するまで繰り返す(ステップ
S16)。
【0042】メッセージ編集部13により,チェック結
果について,メッセージの種類ごとの指摘メッセージ数
をカウントし(ステップS17),前回の種類ごとの指
摘メッセージ数と今回の指摘メッセージ数を比較し(ス
テップS18),その差を修正数とみなして,種類ごと
の累積メッセージ修正数を更新する(ステップS1
9)。次に,今回の種類ごとの指摘メッセージ数を,次
回に前回の指摘メッセージ数として比較に用いるため記
録する(ステップS20)。続いて,累積メッセージ修
正数の多い順に緊急度を決定し(ステップS21),作
成した指摘メッセージの中で表示するグループに属する
ものを選択する(ステップS22)。出力部17によ
り,選択したメッセージを緊急度順に出力する(ステッ
プS23)。
【0043】ステップS10〜S16の処理について
は,特開平8−69380号公報「ソースプログラムチ
ェック装置」に示されている従来の技術を用いてもよ
い。以下に,その処理を概説する。
【0044】図5は,構文解析部の動作を説明するため
の図である。図5(A)は,チェック対象のソースプロ
グラムとして入力されるC言語で記述されたプログラム
の例を示す。図5(A)に示すCソースプログラムの5
1行目は“issy (char *c)”であり,5
2行目は,判定を行うための本文であり,ここでは,
“真”のみ指定されている。51行目の“char *
c”は,仮引数であり,“c”は変数名を示している。
【0045】構文解析部10では,図5(A)に示すソ
ースプログラムに基づいて,項目ごとに,図5(B)に
示すような構文テキスト,および,図5(C)に示すよ
うな名前テーブルに分け,蓄積する。構文テキストは,
入力されたソースプログラムの処理単位に1テキストを
作成し,テキストとテキストをつなぐことにより,処理
の流れを表す。名前テーブルは,変数,関数,ラベルの
情報を有効範囲ごとに分けてテーブル形式で作成する。
【0046】図5(B)に示すように,構文テキスト
は,図5(A)に示すソースプログラムから,まずソー
スプログラムの51行目を定義する場合には,[関数定
義|本文|仮引数]とし,判定文などを同様の形式を用
いて判定する。
【0047】名前テーブルは,図5(A)に示すソース
プログラムで使用されている名前を定義していく。例え
ば“sum”は宣言であり,ソースプログラムmai
n.cの50行目で使用されていることを定義する。
【0048】チェック部11では,チェック項目蓄積部
12のチェック項目を参照して各チェック項目ごとにチ
ェックする。チェック項目としては,以下のようなチェ
ックを行う。 1)論理的エラーチェック:コンパイルエラーではない
が,論理的な誤りの疑いが強い個所を指定するチェッ
ク。 2)性能改善チェック:実行性能面で問題となりそうな
個所を指摘するチェック。 3)移植性チェック:使用するコンパイラを変更した場
合に問題となりそうな個所を指定するチェック。 4)複雑度チェック:プログラム構造の複雑さを一定の
評価基準で測定して度数を表示するチェック。 5)未定義変数/関数チェック:定義がされていない変
数と関数とラベルを指摘するチェック。 6)未使用変数/関数チェック:定義はされているが,
使用されていない変数と関数とラベルの指摘を行うチェ
ック。
【0049】これらのチェック項目に一致する場合に
は,指摘メッセージが生成されることになる。
【0050】次に,指摘メッセージのグループ分けにつ
いて詳しく説明する。メッセージ編集部13のグループ
設定部133では,ユーザの指示入力により指摘メッセ
ージを任意のいくつかのグループに分類し,グループご
とに表示・非表示を設定する。設定に基づき,グループ
とメッセージ番号の対応関係および表示・非表示の情報
をグループ情報テーブル134に格納する。
【0051】図6は,指摘メッセージのグループ分けと
表示状態(デフォルト)の例を示す図である。例えば,
ユーザが何も設定しない場合,システムのデフォルト値
として,図6に示すようなメッセージの意味に応じて,
各メッセージがグループa〜fに分類されている。グル
ープaには,「プログラムの誤りである危険性が高い記
述に関する指摘メッセージ」などがグループ分けされ,
「表示」と設定されているため,指摘メッセージリスト
4として表示される。他のグループb〜fは,「非表
示」と設定されているため,指摘メッセージがあっても
指摘メッセージリスト4として表示されない。
【0052】図7に,指摘メッセージリスト表示画面の
例を示す。指摘メッセージリスト表示画面200は,表
示させたいグループを選択するため,もしくは現在表示
中のグループを示すためのグループボタン201a,2
01b,…,対象ソースファイルの一覧を表示し,ソー
スファイルを選択するためのソースファイル選択枠20
2,指摘メッセージの一覧を表示する指摘メッセージ一
覧枠203,選択されている指摘メッセージの内容を表
示する選択メッセージ表示枠204などからなる。
【0053】図7に示す画面では,ソースファイル選択
枠202で選択されたソースファイルP0.cについて
の指摘メッセージmsg1,msg2,msg3,ms
g4,msg5が,デフォルトでグループaにグループ
分けされており,グループaが「表示」と設定されてい
るので,指摘メッセージ一覧枠203に,これらの指摘
メッセージが表示されている。さらに,指摘メッセージ
一覧枠203で選択されている行番号87の指摘メッセ
ージの内容が,選択メッセージ表示枠204に表示され
る。また,現在表示中のグループがグループaであるこ
とが,グループボタン201aの表示色などを変えて示
されている。
【0054】ユーザが,指摘メッセージのグループ分け
を変更したい場合には,表示メニュー中の「指摘メッセ
ージのグループ設定」項目を選択し,これによってグル
ープ設定画面のダイアログボックスが表示されるので,
その画面上で行う。
【0055】図8に,グループ設定画面の例を示す。グ
ループ設定画面210は,Cソースファイルであるか,
C++ソースファイルであるか,アセンブラソースファ
イルであるかなどのソースファイルの種類を選択するソ
ースファイル種類選択枠211,指摘メッセージの番号
と割り当てられたグループを表示するメッセージ一覧枠
212,グループ一覧を表示するグループ一覧枠21
3,各種の指示入力のためのボタンとして,グループを
設定するための「設定」ボタン214,グループ情報を
デフォルトに戻す「標準に戻す」ボタン215,操作説
明情報を表示するための「ヘルプ」ボタン216,設定
する情報を確定するための「OK」ボタン217,グル
ープ設定を元のままにする「キャンセル」ボタン218
などからなる。
【0056】例えば,ユーザは,現在はグループaに割
り当てられている指摘メッセージmsg001をグルー
プbに変更したい場合には,メッセージ一覧枠212か
ら「001」を選択し,グループ一覧213から「b」
を選択して,設定ボタン214をクリックし,その後,
OKボタン217をクリックして処理を確定する。
【0057】図9に,グループ分け変更後の指摘メッセ
ージリスト表示画面の例を示す。指摘メッセージmsg
001がグループaからグループbに変更されたため,
出力メッセージ編集部135が出力メッセージを再編集
し,指摘メッセージ一覧枠203に,「非表示」のグル
ープbに属する指摘メッセージmsg001を表示しな
いで,グループaに属する指摘メッセージmsg00
2,msg003,msg004,msg005だけを
一覧表示している。
【0058】グループごとの表示状態の変更は,ツール
バー中のグループボタン201をクリックして行う方法
と,メインメニューから選択したフィルタ設定画面を用
いて行う方法がある。
【0059】図10に,フィルタ設定画面の例を示す。
表示メニュー中の「指摘メッセージのフィルタ設定」項
目を選択すると,図10に示すフィルタ設定画面220
のダイアログボックスが表示される。このフィルタ設定
画面220では,「表示」が設定されているグループお
よびそのメッセージ数の一覧を表示する表示グループ一
覧枠221,「非表示」が設定されているグループおよ
びそのメッセージ数の一覧を表示する非表示グループ一
覧枠222,選択したグループを非表示とする「非表
示」ボタン223,選択したグループを表示とする「表
示」ボタン224,指摘メッセージが対応付けられてい
るグループを全て表示とする「全て表示」ボタン225
などが設けられている。
【0060】あるグループの全ての指摘メッセージを
「非表示」から「表示」に変更したい場合には,ユーザ
は,フィルタ設定画面220の非表示にするグループ一
覧枠222から表示したいグループを選択し,「表示」
ボタン224をクリックする。また,あるグループの全
ての指摘メッセージを「表示」から「非表示」に変更し
たい場合には,ユーザは,フィルタ設定画面220の表
示するグループ一覧枠221から非表示にしたいグルー
プを選択し,「非表示」ボタン223をクリックする。
【0061】図10では,デフォルトでグループaのみ
が「表示」となっている状態で,非表示にするグループ
一覧枠222からbを選択し,「表示」ボタン224を
クリックすることにより,グループbを表示するグルー
プに設定した後の状態を示している。表示するグループ
一覧枠221には,グループaとその対応するメッセー
ジ数およびグループbとその対応するメッセージ数が表
示されている。
【0062】図11に,グループaおよびグループbが
「表示」に設定されている場合の指摘メッセージリスト
表示画面200の例を示す。グループボタン201a,
グループボタン201bの表示色などが変更されて表示
状態が示され,指摘メッセージ一覧枠203には,グル
ープaの指摘メッセージmsg002,msg003,
msg004,msg005と,グループbの指摘メッ
セージmsg001が一覧表示される。
【0063】なお,図9に示す指摘メッセージリスト表
示画面200において,グループボタン201bを,直
接,マウス等のポインティングデバイスによって押下す
ることにより,図11に示すように,非表示が設定され
ているグループbの指摘メッセージを表示させることも
できる。
【0064】新たなグループのグループボタンを追加す
る場合には,ツールバー変更画面で行う。図12に,ツ
ールバー変更画面の例を示す。
【0065】例えば,新たなグループzのグループボタ
ンを追加する場合には,環境設定メニューにおいて「ツ
ールバーの変更」の項目を選択し,図12に示すような
ツールバー変更画面230のダイアログボックスを表示
させる。このツールバー変更画面230で,ユーザは,
利用できるボタン一覧枠231から,グループボタンの
ための区切りを選択して,追加ボタン233をクリック
する。これにより新たなグループボタンがツールバーの
ボタン一覧枠232に追加される。追加されたボタンに
「グループzの指摘メッセージを表示」と設定する。
【0066】図13に,グループzのグループボタン2
01zを追加処理した後の指摘メッセージリスト表示画
面200の例を示す。
【0067】現在指摘メッセージリスト表示画面200
に表示されているグループボタンを削除したい場合に
は,図12に示すツールバー変更画面230において,
ツールバーのボタン一覧枠232から,削除したいボタ
ンを選択し,削除ボタン234をクリックする。
【0068】図14に,グループ設定部の処理フローチ
ャートを示す。まず,図8に示すようなグループ設定画
面210を表示し(ステップS30),ソースファイル
の種類,指摘メッセージ,グループ名が選択されると
(ステップS31),ユーザのボタン押下を待つ(ステ
ップS32)。ボタンが押下されたなら,ボタンの種類
に応じて以下の処理を行う。「設定」ボタン214の場
合(ステップS33),ステップS31で選択された指
摘メッセージおよびグループについてグループ情報テー
ブル134を更新し,グループ設定を行う(ステップS
34)。「標準に戻す」ボタン215が押されたならば
(ステップS35),グループ情報をデフォルトに戻す
(ステップS36)。「ヘルプ」ボタン216が押され
たならば(ステップS37),所定の操作説明情報を表
示する(ステップS38)。「OK」ボタン217が押
されたならば(ステップS39),設定情報を確定して
処理を終了する(ステップS40)。また「キャンセ
ル」ボタン218が押されたならば(ステップS4
1),グループ設定を元のままにして処理を終了する
(ステップS42)。
【0069】
【発明の効果】以上説明したように,本発明によれば,
ソースプログラムを解析し,所定のチェック項目に基づ
くチェック結果により生成した指摘メッセージを出力す
る場合に,指摘メッセージをその種類ごとにグループ分
けし,また,グループごとに出力状態(出力/非出力)
を設定できるようにすることにより,膨大な指摘メッセ
ージ群の中から,ユーザが希望する指摘メッセージだけ
を選択して表示することができ,指摘メッセージを調べ
るときの作業効率を向上させることができる。
【0070】また,指摘メッセージの修正個所数を用い
てメッセージの種類の緊急度を定め,緊急度の高い順に
指摘メッセージを一覧表示するようにすることにより,
緊急度の高い指摘メッセージがリストの先頭部分に表示
されるため,メッセージ中から修正が必要なメッセージ
を早く漏れなく見つけることができ,作業効率およびソ
ースプログラムの品質の向上が期待できる。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック構成図であ
る。
【図2】本発明の動作概要を説明するための動作例
(1)を示す図である。
【図3】本発明の動作概要を説明するための動作例
(2)を示す図である。
【図4】本実施の形態における全体の処理概要を示すフ
ローチャートである。
【図5】構文解析部の動作を説明するための図である。
【図6】グループ分けと表示状態(デフォルト)の例を
示す図である。
【図7】指摘メッセージリスト表示画面(1)の例を示
す図である。
【図8】グループ設定画面の例を示す図である。
【図9】指摘メッセージリスト表示画面(2)の例を示
す図である。
【図10】フィルタ設定画面の例を示す図である。
【図11】指摘メッセージリスト表示画面(3)の例を
示す図である。
【図12】ツールバー変更画面の例を示す図である。
【図13】指摘メッセージリスト表示画面(4)の例を
示す図である。
【図14】グループ設定部の処理フローチャートであ
る。
【符号の説明】
1 ソースプログラムチェック装置 10 構文解析部 11 チェック部 12 チェック項目蓄積部 13 メッセージ編集部 131 指摘メッセージ作成部 132 指摘メッセージ緊急度処理部 133 グループ設定部 134 グループ情報テーブル 135 出力メッセージ編集部 14 指摘メッセージ記憶部 15 指摘メッセージ履歴記憶部 16 出力メッセージ記憶部 17 出力部 2 ソースファイル 3 入力装置 4 指摘メッセージリスト

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを解析して所定のチェ
    ック項目についてのチェックを行い,チェック結果を指
    摘メッセージとして出力するソースプログラムチェック
    装置において,前記指摘メッセージをメッセージの種類
    によりグループ分けするためのグループを設定する手段
    と,設定されたグループに基づいて出力すべき指摘メッ
    セージを編集する手段とを備えることを特徴とするソー
    スプログラムチェック装置。
  2. 【請求項2】 前記出力すべき指摘メッセージを編集す
    る手段は,設定されたグループに基づいて出力すべき指
    摘メッセージの出力または非出力を決定することを特徴
    とする請求項1記載のソースプログラムチェック装置。
  3. 【請求項3】 前記出力すべき指摘メッセージを編集す
    る手段は,設定されたグループに基づいて出力すべき指
    摘メッセージの出力順序を決定することを特徴とする請
    求項1記載のソースプログラムチェック装置。
  4. 【請求項4】 ソースプログラムを解析して所定のチェ
    ック項目についてのチェックを行い,チェック結果を指
    摘メッセージとして出力するソースプログラムチェック
    装置において,チェック結果の指摘メッセージの緊急度
    を決定する手段と,前記指摘メッセージの緊急度に基づ
    いて出力すべき指摘メッセージの出力順序を決定する手
    段とを備えることを特徴とするソースプログラムチェッ
    ク装置。
  5. 【請求項5】 前記チェック結果の指摘メッセージの緊
    急度を決定する手段は,指摘メッセージの種類ごとの出
    力履歴情報に基づいて緊急度を決定することを特徴とす
    る請求4記載のソースプログラムチェック装置。
  6. 【請求項6】 ソースプログラムを解析して所定のチェ
    ック項目についてのチェックを行い,チェック結果を指
    摘メッセージとして出力するソースプログラムチェック
    装置を,計算機によって実現するためのプログラムを格
    納したプログラム記録媒体であって,前記指摘メッセー
    ジをメッセージの種類によりグループ分けするためのグ
    ループを設定する処理と,設定されたグループに基づい
    て出力すべき指摘メッセージを編集する処理とを,計算
    機に実行させるプログラムを格納したことを特徴とする
    ソースプログラムチェック装置のプログラム記録媒体。
  7. 【請求項7】 ソースプログラムを解析して所定のチェ
    ック項目についてのチェックを行い,チェック結果を指
    摘メッセージとして出力するソースプログラムチェック
    装置を,計算機によって実現するためのプログラムを格
    納したプログラム記録媒体であって,チェック結果の指
    摘メッセージの緊急度を決定する処理と,前記指摘メッ
    セージの緊急度に基づいて出力すべき指摘メッセージの
    出力順序を決定する処理とを,計算機に実行させるプロ
    グラムを格納したことを特徴とするソースプログラムチ
    ェック装置のプログラム記録媒体。
JP11161788A 1999-06-09 1999-06-09 ソースプログラムチェック装置およびそのプログラム記録媒体 Withdrawn JP2000347894A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11161788A JP2000347894A (ja) 1999-06-09 1999-06-09 ソースプログラムチェック装置およびそのプログラム記録媒体
US09/471,180 US6757889B1 (en) 1999-06-09 1999-12-23 Source program checking device and program and method for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11161788A JP2000347894A (ja) 1999-06-09 1999-06-09 ソースプログラムチェック装置およびそのプログラム記録媒体

Publications (1)

Publication Number Publication Date
JP2000347894A true JP2000347894A (ja) 2000-12-15

Family

ID=15741929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11161788A Withdrawn JP2000347894A (ja) 1999-06-09 1999-06-09 ソースプログラムチェック装置およびそのプログラム記録媒体

Country Status (2)

Country Link
US (1) US6757889B1 (ja)
JP (1) JP2000347894A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061537A1 (ja) * 2002-12-26 2004-07-22 Mitsubishi Denki Kabushiki Kaisha 加工プログラム作成装置
JP2005316685A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp プログラム管理装置
JP2007323205A (ja) * 2006-05-30 2007-12-13 Hitachi Software Eng Co Ltd プログラム管理システム
JP2010198522A (ja) * 2009-02-27 2010-09-09 Hitachi Ltd ソースコード解析方法およびソースコード解析支援システム
JP2012141741A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 解析支援プログラム,解析支援装置および解析支援方法
JP2017204090A (ja) * 2016-05-10 2017-11-16 株式会社日立ソリューションズ ソースコードの静的解析結果の分析装置及び分析方法
JP2019160079A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 開発支援装置、開発支援方法、および開発支援プログラム
KR20210038459A (ko) * 2020-09-08 2021-04-07 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 데이터 처리 방법, 장치, 기기 및 저장매체

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293254B2 (en) * 2003-09-18 2007-11-06 Microsoft Corporation Extensibility application programming interface and framework for meta-model objects
US7546320B2 (en) * 2003-10-09 2009-06-09 International Business Machines Corporation Computer implemented method, system and program product for reviewing a message associated with computer program code
US20050198584A1 (en) * 2004-01-27 2005-09-08 Matthews David A. System and method for controlling manipulation of tiles within a sidebar
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7979501B1 (en) * 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US7949714B1 (en) 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US9626161B2 (en) * 2006-12-12 2017-04-18 Ca, Inc. Computer readable medium and methods for filtering a dynamic comparison model
US20090319991A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Managed code type equivalence
US9292478B2 (en) 2008-12-22 2016-03-22 International Business Machines Corporation Visual editor for editing complex expressions
US8881121B2 (en) * 2009-02-18 2014-11-04 International Business Machines Corporation Processing an object-oriented query to retrieve data from a data source
US9575878B2 (en) * 2009-03-16 2017-02-21 International Business Machines Corporation Data-driven testing without data configuration
US8965986B1 (en) * 2011-03-08 2015-02-24 Google Inc. Device dependent user notification
US9009142B2 (en) 2011-07-27 2015-04-14 Google Inc. Index entries configured to support both conversation and message based searching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63188242A (ja) 1987-01-31 1988-08-03 Nec Corp プログラムエラ−情報の生成、管理方式
US5673390A (en) * 1992-09-03 1997-09-30 International Business Machines Corporation Method and system for displaying error messages
US6418543B1 (en) * 1998-07-14 2002-07-09 Cisco Technology, Inc. Apparatus and method for debugging source code
US6353924B1 (en) * 1999-02-08 2002-03-05 Incert Software Corporation Method for back tracing program execution

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061537A1 (ja) * 2002-12-26 2004-07-22 Mitsubishi Denki Kabushiki Kaisha 加工プログラム作成装置
US6970764B2 (en) 2002-12-26 2005-11-29 Mitsubishi Denki Kabushiki Kaisha Machining program producing apparatus
CN100351805C (zh) * 2002-12-26 2007-11-28 三菱电机株式会社 加工程序编制装置
JP2005316685A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp プログラム管理装置
JP2007323205A (ja) * 2006-05-30 2007-12-13 Hitachi Software Eng Co Ltd プログラム管理システム
JP2010198522A (ja) * 2009-02-27 2010-09-09 Hitachi Ltd ソースコード解析方法およびソースコード解析支援システム
JP2012141741A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 解析支援プログラム,解析支援装置および解析支援方法
JP2017204090A (ja) * 2016-05-10 2017-11-16 株式会社日立ソリューションズ ソースコードの静的解析結果の分析装置及び分析方法
JP2019160079A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 開発支援装置、開発支援方法、および開発支援プログラム
CN110275451A (zh) * 2018-03-15 2019-09-24 欧姆龙株式会社 开发支援装置、开发支援方法以及记录介质
CN110275451B (zh) * 2018-03-15 2022-06-14 欧姆龙株式会社 开发支援装置、开发支援方法以及记录介质
KR20210038459A (ko) * 2020-09-08 2021-04-07 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 데이터 처리 방법, 장치, 기기 및 저장매체
JP2021108148A (ja) * 2020-09-08 2021-07-29 北京百度網訊科技有限公司 データ処理方法、データ処理装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
JP7146006B2 (ja) 2020-09-08 2022-10-03 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド データ処理方法、データ処理装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
KR102497730B1 (ko) * 2020-09-08 2023-02-07 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 데이터 처리 방법, 장치, 기기 및 저장매체

Also Published As

Publication number Publication date
US6757889B1 (en) 2004-06-29

Similar Documents

Publication Publication Date Title
JP2000347894A (ja) ソースプログラムチェック装置およびそのプログラム記録媒体
US8171449B2 (en) Generating sequence diagrams using call trees
JP2645430B2 (ja) ユーザ・インタフェースを自動的にカスタム化するためのデータ処理システム
US6964010B1 (en) Formatted-item list control
US8386919B2 (en) System for displaying an annotated programming file
US8850392B2 (en) Method and computer system for document authoring
US6618853B1 (en) Program production system for semiconductor tester
CN108762743B (zh) 一种数据表操作代码生成方法及装置
KR100860963B1 (ko) 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
Freeman Essential TypeScript 5
US20070006157A1 (en) Software development tool program
US20040002829A1 (en) Semiconductor test data analysis system
JP4675639B2 (ja) データ処理システム、アプリケーションプログラムのカスタマイズパラメータを表示する方法およびコンピュータプログラム製品
JP2007304846A (ja) 仕様書作成支援方法および仕様書作成支援装置
US7620937B2 (en) System and method for debugging programs
JPH06348766A (ja) ツール組み込み方法及び装置
JP2004157927A (ja) 帳票入力用プログラムの生成方式、生成プログラム及び生成方法
CN114356783A (zh) 单元测试代码自动生成方法、装置、存储介质及设备
JP3540241B2 (ja) アプリケーション起動メニュー定義ファイル生成装置及びアプリケーション起動メニュー生成装置
JPH09160743A (ja) 階層型メニューの自動作成方法
JP3624447B2 (ja) 部品生成ソースプログラム生成装置
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JPH0954688A (ja) Gui設計支援方法
CN117453713A (zh) 多类型数据库的sql语句生成方法、设备和存储介质
JPH0895775A (ja) プログラム作成編集装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905