(57)【要約】      （修正有）【課題】スクリプトプログラムのエラー原因の追及及び修正を支援することができるデバッグ支援方法の提供。【解決手段】スクリプトプログラムに発生するエラー状況情報と原因候補情報と原因候補毎の的中回数とを格納するエラー原因情報テーブル１１ａと、複数の原因候補情報毎の修正項目情報を格納する修正項目情報テーブル１１ｂと、エラー状況情報に対処した修正項目情報の履歴を格納する推論履歴情報テーブル１１ｃとを用い、原因候補情報をエラー原因情報テーブル１１ｃから選択し、該原因候補情報に対応する修正項目情報を修正項目情報テーブル１１ｂから選択し、前記選択した修正項目情報を基に修復した結果の履歴を推論履歴情報テーブル１１ｃに格納し、前記選択した修正項目情報を基に修復した結果、エラーが修復された回数を、エラー状況情報及び原因候補情報との組合せに対応して原因エラー原因情報テーブル１１ｃに格納する、各工程を含むデバッグ支援方法。【選択図】  図１
2004185063.tif 000002
【特許請求の範囲】
【請求項１】
スクリプトプログラムのデバッグを支援するデバッグ支援方法であって、前記スクリプトプログラムに発生するエラー状況情報と該エラー状況情報に対応する原因候補情報と前記エラー状況情報に対応する原因候補毎の的中回数とを格納するエラー原因情報テーブルと、前記複数の原因候補情報毎の修正項目情報を格納する修正項目情報テーブルと、前記エラー原因情報テーブルのエラー状況情報に対処した修正項目情報の履歴を格納する推論履歴情報テーブルとを用い、発生したエラー状況情報に対する原因候補情報をエラー原因情報テーブルから選択する第１工程と、該選択された原因候補情報に対応する修正項目情報を修正項目情報テーブルから選択する第２工程と、前記選択した修正項目情報を基に修復した結果の履歴を推論履歴情報テーブルに格納する第３工程と、前記選択した修正項目情報を基に修復した結果、エラーが修復された回数を、エラー状況情報及び原因候補情報との組合せに対応して原因エラー原因情報テーブルに格納する第４工程とを含むことを特徴とするデバッグ支援方法。
【請求項２】
前記第１工程において、的中回数が最も多い原因候補情報をエラー原因情報テーブルから選択することを含むことを特徴とする請求項１記載のデバッグ支援方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ウェブアプリレーション等のプログラムのデバッグを支援するデバッグ支援方法に係り、特に操作者によるプログラムの不具合の判定及び修正を支援することができるデバッグ支援方法に関する。
【０００２】
【従来の技術】
一般にコンピュータシステムにおけるプログラムは、論理的に作成直後の状態においては不具合（バグ）を内在し、このバグを発見し修正するデバッグと呼ばれる作業が必要である。このデバッグは、例えば、プログラムを動作させて所定の動作を行うか否かの確認や、停止した際にはその原因を究明して修正することや、プログラムをある時点で停止させてレジスタやメモリの内容が正しいかどうかチェックしたり、設計した通りに制御が行われているかどうかを調べる作業である。
【０００３】
ここでデバック作業の対象となるプログラムがコンパイル言語によるものの場合は、一括した文法チェックを行う等の作業が比較的容易であるのに対し、例えば近年のインターネット網の表示等を対象としたウェブアプリケーションの如くスクリプト言語（ＪａｖａＳｃｒｉｐｔ：登録商標、ＨｙｐｅｒＴａｌｋ等）の場合は、一括した文法チェックが困難であったり、テスト時に文法エラー及び論理エラーが多岐にわたって内在するために、人手によるデバッグに頼っているのが現状である。
【０００４】
具体的に説明するとスプリクト言語により記載されたプログラムのデバック作業は、デバッグ対象のプログラムにデバッグ文を追加し、該デバッグ文によるエラー発生のメッセージを表示させることにより、不具合の追求を行うことが一般に行われている。
【０００５】
尚、前述のプログラムのデバッグに関する技術が記載された文献としては、例えば特開平１１−３０６０４２号公報が挙げられる。この公報には、イベントモニタ及びイベントテーブルとを用意し、内部イベント成立条件とデバッガの状態変数とを監視することによって、デバッグの効率化を図る技術が記載されている。
【０００６】
【発明が解決しようとする課題】
前述の従来技術による人手によるプログラムのデバッグ作業は、工数や品質にばらつきが生じ易いと言う不具合があった。また異なるプログラムにおいて同様な原因によるエラーが内在した場合であっても、デバック作業はその都度人手に依存して個別に行われるため、原因解析に手間取り且つ非効率的であると言う不具合もあった。また前述の公報記載の技術においても、デバッグ工数自体は低減することができるものの、実際のエラー原因を追及する作業は人手に依存する割合が大きいと言う不具合もあった。
【０００７】
本発明の目的は、前述の従来技術による不具合を除去することであり、ウェプアプリケーションにおけるスクリプトプログラムのエラー原因の追及及び修正を支援することができるデバッグ支援方法を提供することである。
【０００８】
【課題を解決するための手段】
前記目的を達成するために本発明は、スクリプトプログラムのデバッグを支援するデバッグ支援方法において、前記スクリプトプログラムに発生するエラー状況情報と該エラー状況情報に対応する原因候補情報と前記エラー状況情報に対応する原因候補毎の的中回数とを格納するエラー原因情報テーブルと、前記複数の原因候補情報毎の修正項目情報を格納する修正項目情報テーブルと、前記エラー原因情報テーブルのエラー状況情報に対処した修正項目情報の履歴を格納する推論履歴情報テーブルとを用い、発生したエラー状況情報に対する原因候補情報をエラー原因情報テーブルから選択する第１工程と、該選択した原因候補情報に対応する修正項目情報を修正項目情報テーブルから選択する第２工程と、前記選択した修正項目情報を基に修復した結果の履歴を推論履歴情報テーブルに格納する第３工程と、前記選択した修正項目情報を基に修復した結果、エラーが修復された回数を、エラー状況情報及び原因候補情報との組合せに対応して原因エラー原因情報テーブルに格納する第４工程とを含むことを第１の特徴とする。
【０００９】
更に本発明は、前記第１工程において、的中回数が最も多い原因候補情報をエラー原因情報テーブルから選択することを含むことを第２の特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態によるデバッグ支援方法の一実施形態を図面を参照して詳細に説明する。図１は本実施形態によるデバッグ支援方法を適用したデバッグ支援システムを説明するための図であり、図２は本実施形態におけるエラー原因情報テーブルの構成を説明するための図、図３は本デバッグ支援方法の処理手順を説明するためのフローチャートである。
【００１１】
本実施形態によるデバッグ支援方法を適用したデバッグ支援システムは、図１に示す如く、デバッグの対象となるスプリクトプログラムを実行するためのクライアントコンピュータ２０と、該クライアントコンピュータ２０とＬＡＮ５０等を介して接続され、クライアントコンピュータ２０から操作者によって入力される指示に基づいてエラー原因の解析を支援する情報を検索してクライアントコンピュータ２０の操作者に表示するサーバコンピュータ１０とから構成される。
【００１２】
該サーバコンピュータ１０は、後述するエラー原因情報テーブル（ＴＢ）１１ａ／修正項目情報テーブル１１ｂ／推論履歴情報テーブル１１ｃとを格納する診断用データベース（ＤＢ）１１と、後述する手順に従ってデバック支援処理を実行するためのエラー診断プログラム１２と、該エラー診断プログラム１２に応じて前記診断用データベース１１を参照し、デバッグ支援処理を実行するＣＰＵ１３とによって構成される。尚、本図１においては理解を容易にするために主なシステム構成のみを図示及び説明するが、実際のコンピュータシステムにおいてはメモリやその他必要な構成を含むことは言うまでもない。
【００１３】
前記エラー原因情報テーブル１１ａは、図２に示す如く、クライアントコンピュータ２０においてエラー発生時に表示されるエラー状況情報、例えば「▲１▼終了していない文字列型の定義です」等を格納するエラー状況欄１１１と、この欄１１１のエラー状況において想定される複数のエラー原因情報、例えば前記▲１▼のエラー状況に対しては▲１▼−ａ〜▲１▼−ｃの３候補情報項目を格納する原因候補欄１１２と、前記エラー状況に対してその原因が的中した際にその回数がカウントアップされる的中カウンタ欄１１３とによって構成される。
【００１４】
前記修正項目情報テーブル１１ｂは、前記テーブル１１ａの欄１１２に格納したエラー原因情報に対応した具体的な修正項目情報、例えば原因▲１▼−ａに対しては「ルーチンワーク内の半角カナ文字を検索し、全角文字に変換する」等の修正項目情報を格納し、前記推論履歴情報テーブル１１ｃは、一度操作者に提示してエラーが修復できなかった推論の推論結果、例えば前記エラー状況▲１▼に対して原因▲１▼−ａに対応した修正を行ったがエラーを修復できなかった等の推論結果を複数格納するものである。
【００１５】
次に本システムにおけるデバック支援方法の手順を主に図３を参照して説明する。尚、図中、スタート／エンド以外の角が丸いステップは、操作者が行う処理を示している。本システムは、クライアントコンピュータ２０において操作者が検査対象となるスプリクト言語により記載されたプログラムにデバッグ文を追加し、このプログラムを実行する。本処理は、このプログラムを実行によりエラーが発生したか否かの判定（ステップ３０１）を行い、エラーが存在しない場合は処理を終了する。
【００１６】
この判定（ステップ３０１）においてエラーが発生した場合、本システムは、操作者がクライアントコンピュータ２０から、そのエラーメッセージ、例えば「終了していない文字列型の定数です」と検索キーの指定（ステップ３０２）を行うと、この検索キーがＬＡＮ５０を介してサーバコンピュータ１０に入力され、ＣＰＵ１３がエラー診断用データベース１１のエラー原因情報テーブル１１ａ〜推論履歴情報テーブル１１ｃを参照し、例えば図２に示すエラー状況欄１１１内の合致するエラー状況▲１▼に対応する原因候補欄１１２の３つの原因候補▲１▼−ａ〜▲１▼−ｃの参照と、これら原因情報に対応した履歴の有無を推論履歴情報テーブル１１ｃから検索し、該推論履歴情報テーブル１１ｃに履歴がなく且つ的中回数（カウンタ値）が最も多い原因を検索する（ステップ３０３）。即ち本システムは、それまでの履歴から成功する確率が高い原因項目情報を選択する。
【００１７】
次いで本システムは、前記選択した原因に対応する修正項目を修正項目情報テーブル１１ｂを参照して検索し（ステップ３０５）、この選択した修正項目を推論履歴情報テーブル１１ｃに追加し（ステップ３０６）、これら選択した原因と修正項目とをクライアントコンピュータ２０の操作者に表示する（ステップ３０７）。
【００１８】
この原因に対して最も適応する可能性が大きい修正が提示された操作者が、その修正項目に従って対策（修正）を実行（ステップ３０８）した後に本システムは、その対策によってエラーを回避することができか否かを判定し（ステップ３０８）、回避できなかった際にはステップ３０３に戻り、エラーを回避することができた場合、エラー原因情報テーブル１１ａの的中カウンタの値を＋１カウントアップ（ステップ３１０）した後に推論履歴情報テーブル１１ｃのデータをクリア（ステップ３１１）して処理を終了する。
【００１９】
また本システムは、前記ステップ３０３において検索した条件に合致する原因がない場合、操作者にその原因と対策の追求を促し（ステップ３１２）、操作者が原因を回析して問題が解決した場合（ステップ３１３）、操作者が前記エラー診断用データベース１１の各テーブルにエラー状況／原因候補／対策（修正項目）を登録し、新規なデータを追加（ステップ３１４）して処理を終了する。
【００２０】
この様に本実施形態によるデバッグ支援方法は、スクリプトプログラムに発生するエラー状況情報と該エラー状況情報に対応する原因候補情報と前記エラー状況情報に対応する原因候補毎の的中回数とを格納するエラー原因情報テーブル１１ａと、前記複数の原因候補情報毎の修正項目情報を格納する修正項目情報テーブル１１ｂと、前記エラー原因情報テーブルのエラー状況情報に対処した修正項目情報の履歴を格納する推論履歴情報テーブル１１ｃとを設け、発生したエラー状況情報に対する原因候補情報をエラー原因情報テーブル１１ａから選択し、この原因候補情報に対応する修正項目情報を修正項目情報テーブル１１ｂから選択し、この選択した修正項目情報を基に修復した結果の履歴を推論履歴情報テーブル１１ｃに格納し、前記選択した修正項目情報を基に修復した結果、エラーが修復された回数を、エラー状況情報及び原因候補情報との組合せに対応して原因エラー原因情報テーブル１１ｃに格納することによって、エラー原因とその対応策である修正項目情報の内、頻繁に発生する原因に対する対応策の優先度を上げ、操作者に提示することによって、操作者はエラーを修復できる可能性の高い対策を用いてエラー修復作業を行うことができ、これによってスクリプトプログラムのエラー原因の追及及び修正を支援することができる。
【００２１】
【発明の効果】
以上説明したように本発明にるスクリプトプログラムのデバッグを支援するデバッグ支援方法は、発生したエラー状況情報に対する原因候補情報をエラー原因情報テーブルから選択する第１工程と、該原因候補情報に対応する修正項目情報を修正項目情報テーブルから選択する第２工程と、前記選択した修正項目情報を基に修復した結果の履歴を推論履歴情報テーブルに格納する第３工程と、前記選択した修正項目情報を基に修復した結果、エラーが修復された回数（的中回数）を、エラー状況情報及び原因候補情報との組合せに対応して原因エラー原因情報テーブルに格納する第４工程とを含むことによって、スクリプトプログラムのエラー原因の追及及び修正を支援することができる。
【図面の簡単な説明】
【図１】本発明によるデバッグ支援方法を適用したデバッグ支援システムを説明するための図。
【図２】本実施形態におけるエラー原因情報テーブルの構成を説明するための図。
【図３】本デバッグ支援方法の処理手順を説明するためのフローチャート。
【符号の説明】
１０：サーバコンピュータ、２０：クライアントコンピュータ、１１：エラー診断用データベース、１１ａ：エラー原因情報テーブル、１１ｂ：修正項目情報テーブル、１１ｃ：推論履歴情報テーブル、１２：エラー診断プログラム、１３：ＣＰＵ、５０：ＬＡＮ。
【図１】
2004185063.tif 000003
【図２】
2004185063.tif 000004
【図３】
2004185063.tif 000005