(57)【特許請求の範囲】
【請求項１】
記憶部と演算処理部を有するコンピュータによるプログラムのデバッグ方法であって、
プログラムの分類項目の指標毎の信頼度を含む信頼度情報を前記記憶部に格納するステップと、
前記演算処理部が、前記記憶部からデバッグ対象のプログラムについての前記信頼度情報を読み出して、当該信頼度情報中の前記指標毎の信頼度を用いて、信頼できるコード範囲と信頼できないコード範囲とを決定するステップと、
前記演算処理部が、前記信頼できないコード範囲についてのみ前記デバッグ対象のプログラムのデバッグを実行するステップと、
前記演算処理部が、前記デバッグの実行中において、ユーザからの指示に応じて、実行パス上のコードについて、前記指標毎の信頼度の基づき既に決定された前記信頼できるコード範囲と前記信頼できないコード範囲とを更新するステップと、
を含む方法。
【請求項２】
前記決定するステップおよび前記更新するステップの少なくとも一方は、
前記指標毎の信頼度からコード範囲毎の信頼度を算出するステップと、
コード範囲毎の信頼度が所定範囲内である場合に、当該コード範囲を信頼できないコード範囲と決定するステップと、
を含む、請求項１の方法。
【請求項３】
プログラムのデバッグ装置であって、
プログラムの分類項目の指標毎の信頼度を含む第１の信頼度情報を保管する第１の保管部と、
前記第１の保管部の前記指標毎の信頼度からコード範囲毎の信頼度を算出する信頼度算出部と、
前記コード範囲毎の信頼度を含む第２の信頼度情報を保管する第２の保管部と、
デバッグ対象のプログラムについて、前記第２の保管部の前記コード範囲毎の信頼度に基づき、信頼できるコード範囲と信頼できないコード範囲とを決定する決定部と、
前記信頼できないコード範囲について前記デバッグ対象のプログラムのデバッグを実行するデバッガと、を備え、
前記デバッガは、デバッグ中の実行パスを前記信頼度算出部に通知し、
前記信頼度算出部は、ユーザからの指示に応じて、前記実行パス上のコードについて、既に算出された前記コード範囲毎の信頼度を更新して前記第２の保管部に保管し、
前記決定部は、前記第２の保管部の更新された前記コード範囲毎の信頼度に基づき、信頼できるコード範囲と信頼できないコード範囲とを更新する、デバッグ装置。
【請求項４】
前記決定部は、前記コード範囲毎の信頼度が所定範囲内である場合に、当該コード範囲を信頼できないコード範囲と決定する、請求項３のデバッグ装置。
【請求項５】
記憶部と演算処理部を有するコンピュータによるプログラムのデバッグを支援するためのグラフィカル・ユーザ・インターフェース（ＧＵＩ）表示装置であって、
前記記憶部に格納された、プログラムの分類項目の指標毎の信頼度を含む信頼度情報を用いて、前記演算処理部が、デバッグ対象のプログラムについて、信頼できるコード範囲と信頼できないコード範囲とを決定し、前記信頼できないコード範囲についてのみデバッグを実行するように支援するために、
表示画面と、
前記表示画面上の、デバッグ対象のプログラムの実行パス上の複数のコード名が表示された第１のウィンドウと、
前記表示画面上の、前記第１のウィンドウ内の前記複数のコード名の中から選択したコード名に対応するコード範囲を表示可能な第２のウィンドウと、
前記表示画面上の、前記第１のウィンドウ内の前記複数のコード名の各々について、または前記第２のウィンドウ内に表示されたコード範囲について、対応するコード名またはコード範囲の信頼度に応じて、前記コード名または前記コード範囲を表示する色を選択的に可変するためのスライダー表示部と、を備えるＧＵＩ表示装置。
【請求項６】
前記スライダー表示部における前記コード名および前記コード範囲を表示する色または当該色の濃淡の可変は、前記デバッグ対象のプログラムのデバッグ中に前記スライダー表示部のポインタ位置を変えることによりおこなうことができる、請求項５のＧＵＩ表示装置。
【請求項７】
前記信頼度に応じて、前記コード名または前記コード範囲の表示色が変化する、あるは当該表示色の濃淡が変化する、請求項５または６のＧＵＩ表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのデバッグに関し、より具体的には、プログラム（コード）のデバッグ範囲を限定して、デバッグ効率を向上させる技術に関する。
【背景技術】
【０００２】
ソフトウェア開発において、対象となるプログラムのサイズが年々増加している。対象となるプログラムには、新規開発コードのほかに、過去に自社開発されたコードやサードパーティによるライブラリ等のテスト済みのコードが含まれる。
【０００３】
ソフトウェア開発・保守では、プログラムのテストおよびデバッグが必要となる。そのデバッグ時に、全てのコードをデバッグしてしまうと、プログラムのサイズが大きくなるにつれて、デバッグしなければならないコードの範囲にテスト済みのコードまでもが含まれてしまい、デバッグの効率が悪くなってしまうという問題がある。
【０００４】
公開特許公報の特開平06-103113号は、既に信頼性が保証されているプログラムの全部または一部分をテストデバッグの対象から外して効率的にデバッグすることができる差分テストデバッグ支援方法を開示する。その方法は、既存の完成または半完成のプログラムに対し、カバレジ情報蓄積ファイルを設け、このカバレジ情報蓄積ファイルに全命令文別にテスト実行済みの情報を設定した後、当該プログラムの変更に対しては、変更部分のカバレジ情報についてのみテスト未実行状態に設定し、変更部分の命令文のみをデバッグテスト対象として実行させる。
【０００５】
公開特許公報の特開2002-108652号は、デバッグ作業の負担低減・効率化を図るためのプログラムの相関関係検出装置を開示する。その装置は、適用対象別の各プログラムを生成するために必要な構成部分同士を比較することにより、それらのプログラムをグループ分けし、そのグループ分けの結果をプログラム同士の相関関係として外部に出力する。プログラムの内容が一致している場合、その同様の内容について何度もデバッグ作業を行うことを避けることにより、デバッグ作業負担の軽減および作業効率の向上を図る。
【０００６】
公開特許公報の特開平11-272502号は、テスト対象プログラムの信頼性を推定するソフトウェア信頼性評価装置を開示する。その評価方法は、テスト対象プログラムのテスト処理を実行すると共に該テスト対象プログラムの信頼性推定に必要な各種情報を取得する取得ステップと、信頼度推定モデルに基づき推定された推定信頼度に基づきテスト継続の有無を判断する判断ステップとを有する。その各種情報は、不具合発見情報、テスト時間、ソフトウェア故障発生回数、テスト者数、テスト網羅度、利用者の指示する適用方法、適用範囲、適用する信頼度推定モデルの種類を含む。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０６−１０３１１３号公報
【特許文献２】特開平２００２−１０８６５２号公報
【特許文献３】特開平１１−２７２５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の方法では、プログラムの変更部分の命令文のみをデバッグテスト対象とする。したがって、この方法では、プログラムの変更以外の本来デバッグが必要となるコード範囲がデバッグから漏れてしまい、プログラム全体でのデバッグが不十分になり、その信頼性が低下する恐れが大きい。
【０００９】
特許文献２の装置では、プログラムの内容が一致している場合、その同様の内容についての重複したデバッグ作業を行うことを避ける。したがって、この装置では、プログラムの内容が一致していない場合には、何らデバッグ作業負担の軽減および作業効率の向上を図ることができない。
【００１０】
特許文献３の装置では、信頼度推定モデルに基づき推定された推定信頼度に基づきテスト継続の有無を判断する。しかし、この装置では、プログラムのデバッグ範囲を限定していないので、デバッグ効率の向上が不十分になる可能性が大きい。
【００１１】
したがって、本発明の目的は、これらの従来技術の問題を解決あるいは軽減しつつ、プログラム（コード）のデバッグ範囲を限定して、デバッグ効率を向上させることである。
【課題を解決するための手段】
【００１２】
本発明は、記憶部と演算処理部を有するコンピュータによるプログラムのデバッグ方法を提供する。その方法は、（ａ）プログラムの分類項目の指標毎の信頼度を含む信頼度情報を記憶部に格納するステップと、（ｂ）演算処理部が、記憶部からデバッグ対象のプログラムについての信頼度情報を読み出して、当該信頼度情報中の指標毎の信頼度を用いて、信頼できるコード範囲と信頼できないコード範囲とを決定するステップと、（ｃ）演算処理部が、信頼できないコード範囲についてのみデバッグ対象のプログラムのデバッグを実行するステップと、を含む。
【００１３】
本発明によれば、プログラムの分類項目の指標毎の信頼度を用いて決定された信頼できないコード範囲についてのみデバッグ対象のプログラムのデバッグを実行するので、プログラム全体のデバッグ時間を短縮することができる。
【００１４】
本発明の一態様では、（ｄ）演算処理部が、デバッグの実行中において、ユーザからの指示に応じて、実行パス上のコードについて、指標毎の信頼度の基づき既に決定された信頼できるコード範囲と信頼できないコード範囲とを更新するステップをさらに含む。
【００１５】
本発明の一態様によれば、デバッグの進行状況に応じて、問題の無い、問題のある、あるいは問題がありそうなコード範囲を新たに信頼できるコード範囲あるいは信頼できないコード範囲として見直すことが可能となり、デバッグ時間を短縮するとともにそのデバッグの信頼性を向上させることが可能となる。
【００１６】
本発明の一態様では、信頼できるコード範囲と信頼できないコード範囲とを決定するステップおよび更新するステップの少なくとも一方は、プログラムの分類項目の指標毎の信頼度からコード範囲毎の信頼度を算出するステップと、コード範囲毎の信頼度が所定範囲内である場合に、当該コード範囲を信頼できないコード範囲と決定するステップと、を含む。
【００１７】
本発明の一態様によれば、デバッグ対象のプログラムの状況に即してコード範囲毎の信頼度を算出し、さらにその算出されたコード範囲毎の信頼度が所定範囲内である場合に、当該コード範囲を信頼できないコード範囲と決定するので、信頼できないコード範囲の精度を高めることが可能となり、その結果、デバッグ時間の短縮化およびデバッグの信頼性をさらに向上させることが可能となる。
【００１８】
本発明によれば、プログラムのデバッグ装置が提供される。そのデバッグ装置は、プログラムの分類項目の指標毎の信頼度を含む第１の信頼度情報を保管する第１の保管部と、第１の保管部の指標毎の信頼度からコード範囲毎の信頼度を算出する信頼度算出部と、コード範囲毎の信頼度を含む第２の信頼度情報を保管する第２の保管部と、デバッグ対象のプログラムについて、第２の保管部のコード範囲毎の信頼度に基づき、信頼できるコード範囲と信頼できないコード範囲とを決定する決定部と、信頼できないコード範囲についてデバッグ対象のプログラムのデバッグを実行するデバッガと、を備える。
【００１９】
本発明によれば、プログラムの分類項目の指標毎の信頼度から算出されたコード範囲毎の信頼度目の指標毎の信頼度に基づき決定された信頼できないコード範囲についてのみデバッグ対象のプログラムのデバッグを実行するので、デバッグの信頼性を高めつつ、プログラム全体のデバッグ時間を短縮することができる。
【００２０】
本発明によれば、記憶部と演算処理部を有するコンピュータによるプログラムのデバッグを支援するためのグラフィカル・ユーザ・インターフェース（ＧＵＩ）が提供される。そのＧＵＩは、記憶部に格納された、プログラムの分類項目の指標毎の信頼度を含む信頼度情報を用いて、演算処理部が、デバッグ対象のプログラムについて、信頼できるコード範囲と信頼できないコード範囲とを決定し、前記信頼できないコード範囲についてのみデバッグを実行するように支援するために、（ａ）表示画面と、（ｂ）表示画面上の、デバッグ対象のプログラムの実行パス上の複数のコード名が表示された第１のウィンドウと、（ｃ）表示画面上の、第１のウィンドウ内の複数のコード名の中から選択したコード名に対応するコード範囲を表示可能な第２のウィンドウと、（ｄ）表示画面上の、第１のウィンドウ内の複数のコード名の各々について、または第２のウィンドウ内に表示されたコード範囲について、対応するコード名またはコード範囲の信頼度に応じて、コード名またはコード範囲を表示する色を選択的に可変するためのスライダー表示部と、を備える。
【００２１】
本発明によれば、デバッグ対象のプログラムについて、信頼できる、あるいは信頼できないコードおよびコード範囲を視覚上明確に把握することができるので、デバッグ作業の効率化や確実性を向上させることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明のデバッグ方法を実施するシステムの構成例を示す図である。
【図２】本発明のデバッグ装置の構成例を示すブロック図である。
【図３】本発明の処理装置の機能ブロック図である。
【図４】本発明のデバッグ方法のフローの一例を示す図である。
【図５】本発明のデバッグ方法のフローの一例を示す図である。
【図６】本発明のＧＵＩの一例を示す図である。
【発明を実施するための形態】
【００２３】
図面を参照しながら本発明の実施の形態を説明する。図１は、本発明のデバッグ方法を実施するシステムの構成例を示す図である。システム１００は、ネットワーク４０で相互に通信可能に接続されたホスト（サーバー）１０、ＰＣ（端末）２０、ネットワーク・ドライブ３０からなる。ネットワーク・ドライブ３０は、ＨＤＤやテープドライブ等の記憶手段を含む。図１では、ホスト（サーバー）１０とネットワーク・ドライブ３０は、それぞれ１つしか描かれていないが、これはあくまで例示であって、２以上のホスト（サーバー）１０とネットワーク・ドライブ３０を含むことができることは言うまでもない。
【００２４】
本発明のデバッグ方法は、図１の構成において、ＰＣ２０が、サーバー１０やネットワーク・ドライブ３０からからダウンロードしたデバッグ用ソフトウェア、あるいは自己の内蔵する記憶手段（ＨＤＤ等）内に保管されたデバッグ用ソフトウェアを実行することにより実施される。デバッグ対象となるプログラム（コード）も、同様に、ＰＣ２０がサーバー１０やネットワーク・ドライブ３０からからダウンロードあるいは自己の内蔵する記憶手段から呼び出される。なお、ネットワークに接続されないスタンドアローンのＰＣによって、本発明のデバッグ方法が実施可能であることは言うまでもない。
【００２５】
図２は、本発明のデバッグ装置の構成例を示すブロック図である。図１の構成で言えば、デバッグ装置としてはＰＣ２０が該当する。デバッグ装置２０は、バス２３０を介して相互に接続された演算処理装置（ＣＰＵ）２００、記憶手段２１０、各種Ｉ／Ｆ２２０を含む。各種Ｉ／Ｆ２２０は、入力Ｉ／Ｆ、出力Ｉ／Ｆ、外部記憶Ｉ／Ｆ、外部通信Ｉ／Ｆ等を含む総称として用いられ、各Ｉ／Ｆが、それぞれ対応するキーボード、マウス等の入力手段２４０、ＣＲＴ、ＬＣＤ等の表示手段２５０、ＵＳＢ接続の半導体メモリやＨＤＤ等の外部記憶手段２６０等に接続する。
【００２６】
記憶手段２１０は、ＲＡＭ、ＲＯＭ等の半導体メモリ、ＨＤＤ等を含み、第１の保管部２１２と第２の保管部２１４を有する。両保管部は、単一の記憶手段あるいは複数の記憶手段に分けて設けることができる。第１の保管部２１２は、プログラムの分類項目の指標毎の信頼度を含む第１の信頼度情報を保管する。第２の保管部２１４は、第１の保管部２１２の指標毎の信頼度から算出されたコード範囲毎の信頼度を含む第２の信頼度情報を保管する。
【００２７】
図３は、図２の演算処理装置２００の機能ブロック図である。演算処理装置２００は、本発明のデバッグ方法に係るデバッグ用ソフトウェアを実行することにより、デバッグ対象のプログラムに対して、図３の各機能を実施する。信頼度算出部２０１は、第１の保管部２１２に保管されるプログラムの分類項目の指標毎の信頼度からコード範囲毎の信頼度を算出する。信頼／非信頼のコード範囲決定部２０２は、デバッグ対象のプログラムについて、第２の保管部２１４のコード範囲毎の信頼度に基づき、信頼できるコード範囲と信頼できないコード範囲とを決定する。デバッガ２０３は、信頼できないコード範囲についてデバッグ対象のプログラムのデバッグを実行する。
【００２８】
ここで、本発明の説明において使用する各用語および図３の各ブロックについて説明する。最初に、第１の保管部２１２に保管される、プログラムの分類項目の指標毎の信頼度について説明する。プログラムの分類項目とは、初期情報として設定されるもので、プログラムの名前、変更部分、ユーザが追加したタグ付けなどのメタデータ等のプログラムを分類するための項目（分類項目）を意味する。また、分類項目としてプログラマ（コード作成者）等の人的要素を加えることもできる。要は、デバッグの効率に影響を与える要因を分類項目として加えることができる。
【００２９】
分類項目の指標には、例えば、名前による分類では、名前空間（例えばJava（登録商標）ではパッケージ名）やディレクトリ名、ファイル名等が含まれる。変更部分による分類の指標としては、変更セット内のファイルか否か、自分のワークスペースで編集中のソースか否か、特定の日付か否か、ベースラインやマイルストーン以降に変更された部分か否か等が含まれる。人的要素による分類では、プログラマやソフトウェアハウスの実績、経験年数等を指標として用いてもよい。
【００３０】
分類項目の指標毎の信頼度は、分類された各プログラム（コード）の信頼度、言い換えればデバッグの必要度（重要度）を数値、例えば割合（％）で表したものを意味する。信頼度を割合（％）で表した場合は、割合（％）が大きくなるにつれて信頼度が高くなることを意味する。例として、名前空間では、Ａ社のパッケージは信頼度96％、Ｂ社のパッケージは信頼度80％、開発中のパッケージは信頼度50％といったように、信頼度を設定する。変更セット内のファイルの場合は、開発中のパッケージの場合と同様に信頼度50％といったように設定する。
【００３１】
次に、信頼度算出部２０１において算出され、第２の保管部２１４に保管される、コード範囲毎の信頼度について説明する。コード範囲毎の信頼度は、コード範囲が信頼できるコード範囲か信頼できないコード範囲かを決める基準になる。ここで、コード範囲は、信頼度を設定する、言い換えれば実際にデバッグするか否かの単位として定められるもので、一行のコードから１つのファイル、パッケージ等の単位まで、その大きさ（範囲）は任意に定めることができる。
【００３２】
コード範囲毎の信頼度は、分類項目の指標毎の信頼度を基に定められる。例えば、開発中のパッケージであり、かつ変更セット内にあるコード（ファイル）の信頼度は、開発中のパッケージの信頼度50％に変更セット内のファイルの信頼度50％を乗算して、25％（＝0.5＊0.5）として算出される。この場合は、２つの指標毎の信頼度を乗算しているが、さらに重み付けの係数を掛けたり加えたりしてもよい。乗算以外の所定の関数を用いて信頼度を算出してもよい。また、分類項目の指標毎の信頼度をそのまま対応するコード範囲の信頼度とすることもできる。開発中のパッケージ全体の中で、既に開発およびデバッグ済のコード範囲（例えば信頼度80％）と、残りのコード範囲（例えば信頼度50％）というように、それぞれで信頼度を算出することもできる。
【００３３】
上述したコード範囲毎の信頼度は、主にデバッグ前（時）に予め算出して第２の保管部２１４に保管しておくものであるが、デバッグ中に算出してその値を更新することもできる。例えば、デバッグ中に、途中までの実行で問題があることがわかった場合、その時点までの実行パス上のコード範囲の信頼度を下げるように算出し直し、その更新された信頼度を保管し、さらに、その実行パス上の先のコード範囲についても信頼度を見直すこともできる。デバッグ中のステップイン、ステップアウト動作では、ステップイン、ステップアウト時の特定の実行パスの信頼度をデバッグ作業中に更新することもできる。これにより、実際のデバッグ状況をより適切に反映した信頼度を算出（更新）および蓄積することができる。
【００３４】
信頼／非信頼のコード範囲決定部２０２での信頼できるコード範囲と信頼できないコード範囲の決定について説明する。信頼できるコード範囲と信頼できないコード範囲は、算出されたコード範囲毎の信頼度が所定範囲内であるか否かで決定される。例えば、信頼度が75％以上は信頼できるコード範囲とし、それ以下、あるいは50％以下は、信頼できないコード範囲とすることができる。なお、所定範囲は、パッケージ単位、あるいは所定のコードの集合単位で個別に設定することもできる。また、何らかの理由で信頼度の設定（算出）がされていないコード範囲については、原則として信頼できないコード範囲として決定する。
【００３５】
デバッガ２０３によるデバッグ動作について説明する。デバッガは、デバッグ対象のプロセスを開始後、デバッグ対象のプロセスに対して、ブレークポイントの位置の通知、ステップ実行、プロセスの再開の指示を信頼できないコードの範囲に対してのみ行う。具体的には、例えば、以下のように行われる。
（ａ）デバッガは、ブレークポイントの位置を、信頼できないコードの範囲に分類されているデバッグ対象のプロセスに指示する。
（ｂ）デバッグ対象のプロセスは、指示されたブレークポイントまでプロセスを実行し、ブレークポイントで停止したことをデバッガに通知する。
（ｃ）デバッガは、ステップ実行について、信頼度情報に基づいて次の実行位置までを指示する、またはプロセスの再開については従来どおり信頼度情報に基づかずに指示を行う。
（ｄ）デバッグ対象のプロセスは、指示に従ってステップ実行またはプロセスを再開する。
【００３６】
デバッガによるステップ実行は、ステップインとステップアウトの場合では例えば以下のように行われる。
＜ステップインの場合＞
（ａ）デバッガは、デバッグ対象のプロセスにステップインを指示する。
（ｂ）デバッグ対象のプロセスは、ステップインを実行し、停止位置をデバッガに通知する。
（ｃ）デバッガは、停止位置を信頼できるコード範囲、信頼できないコードの情報に基づいて判別する。すなわち、信頼できないコード範囲であればその位置で停止させる。信頼できるコード範囲であれば、デバッグ対象のプロセスにステップアウトを指示し、信頼できないコード範囲に到達した位置で停止させる。
【００３７】
＜ステップアウトの場合＞
（ａ）デバッガは、デバッグ対象のプロセスにステップアウトを指示する。
（ｂ）デバッグ対象のプロセスは、ステップアウトを実行し、停止位置をデバッガに通知する。
（ｃ）デバッガは、停止位置を信頼できるコード範囲、信頼できないコード範囲の情報に基づいて判別する。すなわち、信頼できないコード範囲であればその位置で停止させる。信頼できるコード範囲であれば、デバッグ対象のプロセスに再開を指示し、信頼できないコード範囲に到達した位置で停止させる。
【００３８】
次に、図４と図５を参照しながら本発明のデバッグ方法のフローについて説明する。図４は全体のフローを示し、図５は図４のステップＳ１２の詳細フロー（サブルーチン）である。両図のフローは、処理装置２００が実行するデバッグ用ソフトウェアにより実施される。
【００３９】
ステップＳ１１において、信頼度情報を記憶手段に保管する。ここで言う信頼度情報は、既に上述したプログラムの分類項目の指標毎の信頼度を含む信頼度情報である。記憶手段は、図２の記憶手段２１０（例えば第１の保管部２１２）が該当する。ステップＳ１２において、信頼できるコード範囲と信頼できないコード範囲を決定する。この決定ステップは、後のステップＳ１５において、デバッグ中の更新プロセスとしても同様に実行される。
【００４０】
ここで、図５を参照する。ステップＳ１２１において、記憶手段から呼び出した分類項目の指標毎の信頼度を基にコード範囲毎の信頼度を算出する。算出方法は、上述した通りである。ステップＳ１２２において、コード範囲毎の信頼度が所定範囲内か否かを判定する。所定範囲については、上述した通りである。この判定がＹｅｓの場合、そのコード範囲が信頼できない範囲であると決定される。判定がＮｏの場合は、信頼できる範囲と決定される。なお、更新プロセスにおいては、コード範囲の決定が更新（維持、変更）される。ステップＳ１２５において、決定／更新された信頼度情報が記憶手段（第２保管部２１４）に保管される。
【００４１】
図４に戻って、ステップＳ１３において、デバッガによるデバッグ動作が行われる。デバッグ動作については、上述した通りである。ステップＳ１４において、デバッグ中にユーザからの変更指示があるか否かを判定する。この変更指示とは、デバッグ中に、信頼度／コード範囲の設定を変更する指示を意味し、例えば、上述したように、途中までの実行で問題があることがわかった場合に、その時点までの実行パス上のコード範囲の信頼度を下げる場合や、その変更した信頼度に応じてコード範囲の設定（信頼、非信頼）を変更する場合が該当する。
【００４２】
ステップＳ１４の判定がＹｅｓの場合、ステップＳ１５において、ステップＳ１２（図５）と同様なプロセスにより、信頼できるコード範囲と信頼できないコード範囲が更新される。ステップＳ１４の判定がＮｏの場合あるいはステップＳ１５の更新後に、ステップＳ１６において、デバッグの実行パスが終わりか否かが判定される。この判定がＹｅｓの場合、一連のデバッグが終了し、判定がＮｏの場合は、ステップＳ１３に戻ってデバッグ動作が繰り返される。
【００４３】
次に、図６を参照しながら上述した本発明のプログラムのデバッグを支援するためのグラフィカル・ユーザ・インターフェース（ＧＵＩ）の一例について説明する。このＧＵＩは、上述した本発明のデバッグ装置またはデバッグ方法を実施する上で用いられる。すなわち、このＧＵＩは、例えば、記憶部に格納された、プログラムの分類項目の指標毎の信頼度を含む信頼度情報を用いて、演算処理部が、デバッグ対象のプログラムについて、信頼できるコード範囲と信頼できないコード範囲とを決定し、前記信頼できないコード範囲についてのみデバッグを実行するように支援するために用いられる。このＧＵＩを用いることにより、ユーザによるデバッグ作業が効率化され、デバッグの全体の効率化がさらに促進される。
【００４４】
図６のＧＵＩは、図２のＰＣ２０の表示手段２５０の表示画面上に表示される。なお、図示の制約上、図６では白黒表示しかできないが、実際には、各ブロック表示部（３１３、３２１〜３２３）等は、カラー表示およびその色の濃淡が表示できるようになっている。また、表示されるアイコンは、絵文字など各種ＯＳ等の下で使用可能な任意の形態を選択することができる。各アイコンは、マウスのポインタ３０２やキーボードの操作により選択される。
【００４５】
ＧＵＩは、表示画面３００と、表示画面３００上の、第１のウィンドウ３１０と、第２のウィンドウ３２０と、スライダー表示部３３とを含む。第１のウィンドウ３１０には、デバッグ対象のプログラムの実行パス上の複数のコード名３１３が表示される。コード名に代わってパス名を直接表示しもよい。第１のウィンドウ３１０内の４つのアイコン３１１は、選択したコード名（パス名）に対して、その信頼度を上下させるためのもので、ＵＰは信頼度を上げる場合、ＤＮは信頼度を下げる場合に使われる。
【００４６】
より具体的には、例えばJava（登録商標）のメソッド単位で信頼度を設定する場合は、アイコン３１１を現在停止しているメソッドの信頼度を上げてステップインさせるためのアイコン、次に実行するメソッドの信頼度を下げてステップインさせるためのアイコン、それまでの実行パスの信頼度を下げて終了させるためのアイコンといったように設定することができる。スクロールボタン３１２、３１４は、それぞれ信頼度上下アイコン３１１、コード名（パス名）３１３のスクロールのために使われる。
【００４７】
第２のウィンドウ３２０には、第１のウィンドウ内の複数のコード名（パス名）の中から選択したコード名に対応するコード範囲が表示される。図６では、３つのコード範囲３２１〜３２３が示されている。各コード範囲には、複数のコードが列記されている。アイコン３２４は、表示されるコード範囲に対応するコード名（パス名）を示す。アイコン３２４には、第１のウィンドウ３１０のコード名３１３と同様な名称や略称が表示される。
【００４８】
スクロールボタン３２５、３２７は、それぞれコード範囲、コード名（パス名）のスクロールのために使われる。スクロールボタン３２６は、現在のデバッグ位置を示すもので、ボタン右横の列のコードが現在デバッグ中のコードを示す。初期化アイコン３２８は、信頼度の設定を初期値に戻すためのもので、選択したコード範囲単位、あるいはコード名（パス名）単位で初期値に戻すことができる。詳細設定アイコン３２９は、後述するスライダー表示部３３０による信頼度の設定をさらに詳細に設定、例えば信頼度の数値を直接入力する場合などのために使われる。詳細設定アイコン３２９がクリックされると、詳細設定メニューが別ウィンドウ（図示なし）として表示される。
【００４９】
スライダー表示部３３０は、第１のウィンドウ３１０内の複数のコード名（パス名）３１３の各々について、または第２のウィンドウ３２０内に表示されたコード範囲３２１〜３２３について、対応するコード名（パス名）またはコード範囲の信頼度に応じて、コード名（パス名）またはコード範囲を表示する色を選択的に可変するために使われる。具体的には、ボタン３３１を図の左右にずらすことで、選択したコード名（パス名）３１３またはコード範囲３２１〜３２３の色およびその濃淡を変えることができる。
【００５０】
例えば、ボタン３３１が右に進むとともに、選択したコード名またはコード範囲の信頼度が上がり同時に色が濃くなり、逆に、ボタン３３１が左に進むとともに、選択したコード名またはコード範囲の信頼度が下がり同時に色が薄くなる。なお、ボタン３３１を図の左右にずらす過程で、コード名またはコード範囲が、信頼できない範囲と信頼できる範囲とで切り替わった場合は、その境で色が異なる色に変化して、信頼度が変わったことをユーザに知らせることもできる。例えば、当初信頼できるコード範囲であったコード範囲３２１は赤色であったが、ボタン３３１の右へのスライドにより、ある時点を境に信頼できないコード範囲であることを示す青色に切り替わる。その時点（境界）は、例えば上述した信頼度の所定範囲の境界（例えば75％）とすることができる。
【００５１】
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
【符号の説明】
【００５２】
１０  サーバー（ホスト）
２０  ＰＣ
３０  ネトワークドライブ
４０  ネットワーク
１００  ネットワークシステム
３００  表示画面
３１０  第１のウィンドウ
３２０  第２のウィンドウ
３３０  スライダー表示部
【図１】
0005785474.tif 000002
【図２】
0005785474.tif 000003
【図３】
0005785474.tif 000004
【図４】
0005785474.tif 000005
【図５】
0005785474.tif 000006
【図６】
0005785474.tif 000007