(57)【特許請求の範囲】
【請求項１】
バグ管理番号とプログラム名を含むバグ情報と、プログラム間の呼び出し順序や実行順序を示す関係種別を含むプログラム間関係情報と、プログラム名と残テスト量を含むプログラム別テスト量情報と、プログラム名と優先度スコアを含むプログラム別優先度スコア情報と、バグ管理番号と優先度スコアとバグを画面に表示する座標位置Ｘ、Ｙ及びバグを画面に表示する大きさＺを含むバグ別優先度スコア情報とを格納する記憶装置を備えた、バグ対策優先度を表示するためのバグ対策優先度表示システムであって、
前記プログラム別テスト量情報に格納される全レコードのプログラム名と残テスト量を、前記プログラム別優先度スコア情報のプログラム名、優先度スコアにコピーして格納する手段と、
前記プログラム間関係情報から、関係種別が「開始」のレコードの一覧を取得する手段と、
取得した「開始」のレコードの一覧に基づき、全開始レコードから１件ずつ取り出し、前記プログラム間関係情報を利用して、関係種別が「順序」のものに限定して有向グラフを構築する手段と、
構築した有向グラフを深さ優先探索で辿り、親ノードに戻る際に、全ての子ノードについてプログラム名をキーに、前記プログラム別優先度スコア情報から優先度スコアを取得し、その値に１を加算し、前記プログラム別優先度スコア情報の優先度スコアに格納する手段と、
前記プログラム間関係情報から、関係種別が「開始」のレコードの一覧を再度取得する手段と、
取得したレコードの一覧に基づき、全開始レコードから１件ずつ取り出し、前記プログラム間関係情報を利用して、関係種別が「順序」、「呼出」のものに限定して、有向グラフを作成する手段と、
作成した有向グラフを深さ優先探索で辿り、関係種別が「順序」の場合は、そのまま探索を続行し、関係種別が「呼出」の場合は、プログラム名をキーに前記プログラム別優先度スコア情報の優先度スコアを取得し、取得した優先度スコアを、その後の全ての子ノードのプログラム別優先度スコア情報中の優先度スコアに加算する手段と、
前記関係種別が「呼出」の後にさらに「呼出」が出現した場合は、その両方の呼び出し元の優先度スコアを子ノード全てに加算する手段と、
前記バグ情報の全レコードについて、バグ管理番号を、前記バグ別優先度スコア情報のバグ管理番号に格納する手段と、
前記バグ情報のバグ管理番号を、前記バグ別優先度スコア情報のバグ管理番号に格納する際に、各レコードについて、前記プログラム別優先度スコア情報を参照して、優先度スコアを取得し、前記バグ別優先度スコア情報の優先度スコアに格納する手段と、
を備えたことを特徴とするバグ対策優先度表示システム。
【請求項２】
前記座標位置Ｘの変数ｉを初期設定値として１に設定する手段と、
前記バグ別優先度スコア情報のレコードを優先度スコアの降順にソートする手段と、
ソートした１件ずつの対象レコードを元に、前記プログラム間関係情報を利用して、関係種別が「順序」、「呼出」のものに限定して、有向グラフを作成する手段と、
作成した有向グラフを深さ優先で探索し、各ノードに対して、前記バグ情報を利用して前記バグ別優先度スコア情報の座標位置Ｘに値が存在するか確認し、値が存在しない場合は、前記変数ｉの値を格納し、前記変数ｉの値に１を加算する手段と、
前記バグ別優先度スコア情報の優先度スコアの最大値を取得する手段と、
前記バグ別優先度スコア情報の各レコードに対して、「１−（優先度スコア）／（取得した前記優先度スコアの最大値）」を計算し、結果を前記バグ別優先度スコア情報の座標位置Ｙに格納する手段と、
前記プログラム別テスト量情報の全レコードから、「残テスト量の最大値」を取得し、
前記バグ別優先度スコア情報の各レコードに対して、前記バグ別優先度スコア情報のバグ管理番号から前記バグ情報を利用して、プログラム名を取得する手段と、
前記プログラム別テスト量情報から残テスト量を取得する手段と、
取得した残テスト量を前記「残テスト量の最大値」で割り、結果を前記バグ別優先度スコア情報の大きさＺに格納する手段と、
を備えたことを特徴とする請求項１記載のバグ対策優先度表示システム。
【請求項３】
前記記憶装置に格納される出力情報から表示サイズ（縦）、表示サイズ（横）、表示用画像を取得する手段と、
前記バグ別優先度スコア情報の各々のレコードに対して、画像のＸ座標を座標位置Ｘ×表示サイズ（縦）、画像のＹ座標を座標位置Ｙ×表示サイズ、表示用画像の画像サイズを大きさＺ×画像のオリジナルサイズ×２として、画面に描画する手段と、
前記バグ別優先度スコア情報の各レコードを１件ずつ、前記プログラム間関係情報を利用して、対象レコードを始点とする有向グラフを構築する手段と、
構築した有向グラフを深さ優先で探索し、前記バグ別優先度スコア情報に登録済みのプログラムが見つかれば、対象レコードのバグと、見つかったバグ間に、バグ別優先度スコア情報の座標位置Ｘ、座標位置Ｙを利用して線を描画する手段と、
前記バグ別優先度スコア情報に登録済みのプログラムが１件見つかれば、当該ノードについては探索を中断し、上位のノードに戻り探索を続ける手段と、
を備えたことを特徴とする請求項２記載のバグ対策優先度表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発責任者がバグ対策優先度を判断することを支援し、更にプロジェクト関係者がバグ状況を容易に把握できることを可能とするバグ対策優先度表示システムに関するものである。
【背景技術】
【０００２】
ソフトウェア開発プロジェクトにおいて、開発者がバグを発見した場合、バグの内容や対象となるプログラム名、重要度、影響度などをバグ管理システムに登録する。プロジェクト責任者は、バグ管理システムに記入された内容を元に、バグ対策順序を決める。
しかし、開発者によりバグの重要度や影響度の入力値にばらつきがでるため、バグ対策の優先度付けが適切に行えない場合がある。そこで、入力値の設定ガイドラインを作成することが多い。また、バグの比率や進捗情報を元により正確な優先順位を表示する方法が公知となっている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７７１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
バグ対策の優先度を設定するには、当該バグの内容だけでなく、他のプログラムとの関係を考える必要がある。例えば、複数のプログラムから呼び出されるプログラムにバグがある場合、呼び出し元のバグよりも優先度が高いと考えられる。また、あるバグが原因で後続プログラムのテスト作業に大きな影響を及ぼす場合、他のバグよりも優先度を高くする必要がある。
しかし、これらの考慮事項は、通常は開発責任者や開発者が設計書やソースコード、テストの進捗管理資料などを元に人が判断することが多いため、対策優先度を誤って判断する可能性がある。
また、複数のバグがある場合、他のバグと比べてどの程度優先度が高いか、他のプログラムの作業への影響度はどの程度かを考慮する必要もある。しかし、バグ管理システムやバグ管理表では、優先度や重要度、影響度といったパラメータは数段階のレベルで設定するため、他のバグと比べてどの程度優先度が高いかを把握することは難しい。また、プロジェクト関係者にこれらの情報を提示することは、更に難しい。
【０００５】
以上の現状に鑑み、本発明は、バグ情報とプログラム間関係（実行順序、呼び出し関係）、プログラム毎の残テスト量の情報を元にバグ対策優先度を算出し、バグの対策優先度、後続プログラムや呼び出し関係のあるプログラムのテスト作業への影響度、他のバグとの関係をバグ間で比較できるよう図式化することで、開発責任者がバグ対策優先度を判断することを支援し、更にプロジェクト関係者がバグ状況を容易に把握できることを可能とするバグ対策優先度表示システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は以下の構成を提供する。
本発明のバグ対策優先度表示システムは、バグ管理番号とプログラム名を含むバグ情報と、プログラム間の呼び出し順序や実行順序を示す関係種別を含むプログラム間関係情報と、プログラム名と残テスト量を含むプログラム別テスト量情報と、プログラム名と優先度スコアを含むプログラム別優先度スコア情報と、バグ管理番号と優先度スコアとバグを画面に表示する座標位置Ｘ、Ｙ及びバグを画面に表示する大きさＺを含むバグ別優先度スコア情報とを格納する記憶装置を備えた、バグ対策優先度を表示するためのバグ対策優先度表示システムであって、
前記プログラム別テスト量情報に格納される全レコードのプログラム名と残テスト量を、前記プログラム別優先度スコア情報のプログラム名、優先度スコアにコピーして格納する手段と、
前記プログラム間関係情報から、関係種別が「開始」のレコードの一覧を取得する手段と、
取得した「開始」のレコードの一覧に基づき、全開始レコードから１件ずつ取り出し、前記プログラム間関係情報を利用して、関係種別が「順序」のものに限定して有向グラフを構築する手段と、
構築した有向グラフを深さ優先探索で辿り、親ノードに戻る際に、全ての子ノードについてプログラム名をキーに、前記プログラム別優先度スコア情報から優先度スコアを取得し、その値に１を加算し、前記プログラム別優先度スコア情報の優先度スコアに格納する手段と、
前記プログラム間関係情報から、関係種別が「開始」のレコードの一覧を再度取得する手段と、
取得したレコードの一覧に基づき、全開始レコードから１件ずつ取り出し、前記プログラム間関係情報を利用して、関係種別が「順序」、「呼出」のものに限定して、有向グラフを作成する手段と、
作成した有向グラフを深さ優先探索で辿り、関係種別が「順序」の場合は、そのまま探索を続行し、関係種別が「呼出」の場合は、プログラム名をキーに前記プログラム別優先度スコア情報の優先度スコアを取得し、取得した優先度スコアを、その後の全ての子ノードのプログラム別優先度スコア情報中の優先度スコアに加算する手段と、
前記関係種別が「呼出」の後にさらに「呼出」が出現した場合は、その両方の呼び出し元の優先度スコアを子ノード全てに加算する手段と、
前記バグ情報の全レコードについて、バグ管理番号を、前記バグ別優先度スコア情報のバグ管理番号に格納する手段と、
前記バグ情報のバグ管理番号を、前記バグ別優先度スコア情報のバグ管理番号に格納する際に、各レコードについて、前記プログラム別優先度スコア情報を参照して、優先度スコアを取得し、前記バグ別優先度スコア情報の優先度スコアに格納する手段と、
を備えたことを特徴とする。
【０００７】
好ましくは、本発明のバグ対策優先度表示システムは、前記座標位置Ｘの変数ｉを初期設定値として１に設定する手段と、
前記バグ別優先度スコア情報のレコードを優先度スコアの降順にソートする手段と、
ソートした１件ずつの対象レコードを元に、前記プログラム間関係情報を利用して、関係種別が「順序」、「呼出」のものに限定して、有向グラフを作成する手段と、
作成した有向グラフを深さ優先で探索し、各ノードに対して、前記バグ情報を利用して前記バグ別優先度スコア情報の座標位置Ｘに値が存在するか確認し、値が存在しない場合は、前記変数ｉの値を格納し、前記変数ｉの値に１を加算する手段と、
前記バグ別優先度スコア情報の優先度スコアの最大値を取得する手段と、
前記バグ別優先度スコア情報の各レコードに対して、「１−（優先度スコア）／（取得した前記優先度スコアの最大値）」を計算し、結果を前記バグ別優先度スコア情報の座標位置Ｙに格納する手段と、
前記プログラム別テスト量情報の全レコードから、「残テスト量の最大値」を取得し、
前記バグ別優先度スコア情報の各レコードに対して、前記バグ別優先度スコア情報のバグ管理番号から前記バグ情報を利用して、プログラム名を取得する手段と、
前記プログラム別テスト量情報から残テスト量を取得する手段と、
取得した残テスト量を前記「残テスト量の最大値」で割り、結果を前記バグ別優先度スコア情報の大きさＺに格納する手段と、
を備えたことを特徴とする。
【０００８】
好ましくは、本発明のバグ対策優先度表示システムは、前記記憶装置に格納される出力情報から表示サイズ（縦）、表示サイズ（横）、表示用画像を取得する手段と、
前記バグ別優先度スコア情報の各々のレコードに対して、画像のＸ座標を座標位置Ｘ×表示サイズ（縦）、画像のＹ座標を座標位置Ｙ×表示サイズ、表示用画像の画像サイズを大きさＺ×画像のオリジナルサイズ×２として、画面に描画する手段と、
前記バグ別優先度スコア情報の各レコードを１件ずつ、前記プログラム間関係情報を利用して、対象レコードを始点とする有向グラフを構築する手段と、
構築した有向グラフを深さ優先で探索し、前記バグ別優先度スコア情報に登録済みのプログラムが見つかれば、対象レコードのバグと、見つかったバグ間に、バグ別優先度スコア情報の座標位置Ｘ、座標位置Ｙを利用して線を描画する手段と、
前記バグ別優先度スコア情報に登録済みのプログラムが１件見つかれば、当該ノードについては探索を中断し、上位のノードに戻り探索を続ける手段と、
を備えたことを特徴とする。
【発明の効果】
【０００９】
以上の構成により、本発明のバグ対策優先度表示システムによれば、次のような効果がある。
プログラムの呼び出し関係や後続処理への影響を考慮したバグ対策優先度を表示することができる。このことにより、プロジェクト責任者は、他のプログラムとの関係や影響をすぐに把握できるため、バグ対策優先順位を適切に判断することができる。
また、バグ対策優先度は、バグの対策優先度、後続プログラムや呼び出し関係にある他のプログラムのテスト作業への影響度、バグ間の関係を、システムのバグ間で比較できるよう図式化される。この図により、他のバグとの優先度、影響度を視覚的に把握でき、またバグ間の関連も表示できるため、プロジェクト責任者やプロジェクト関係者は、短時間でどの程度優先度が高いかを判断することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態に係るバグ対策優先度表示システムの概略構成を示すブロック図である。
【図２】バグ情報のデータ構造の一例を示す図である。
【図３】プログラム間関係情報のデータ構造の一例を示す図である。
【図４】プログラム別テスト量情報のデータ構造の一例を示す図である。
【図５】プログラム別優先度スコア情報のデータ構造の一例を示す図である。
【図６】バグ別優先度スコア情報のデータ構造の一例を示す図である。
【図７】出力情報のデータ構造の一例を示す図である。
【図８】優先度スコア計算部のスコア計算手順を示すフローチャートである。
【図９】表示位置計算部の処理手順を示すフローチャートである。
【図１０】出力処理部の処理手順を示すフローチャートである。
【図１１】バグ優先度表示結果の一例を示す図である。
【図１２】バグ優先度表示結果の進捗比較の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記バグ対策優先度表示システムはＣＰＵとメモリーを持ったコンピュータを備え、上記各手段は、バグ対策優先度表示システムに於いて、ＣＰＵが記憶装置に記憶されている必要なコンピュータプログラムをメモリーに読み込んで実行することにより実現される手段であり、そのフローチャート図が図８乃至図１０である。
【００１２】
図１は、本実施の形態に係るバグ対策優先度表示システムの概略構成を示す図である。
バグ優先度表示システム１０５は、優先度スコア計算部１０６と表示位置計算部１０７、出力処理部１０８の各処理部から構成されている。
バグ優先度表示処理に必要な情報として、バグ情報１０１、プログラム間関係情報１０２、プログラム別テスト量情報１０３が予め定義されている。バグ情報１０１は、バグ管理番号とプログラム名を含むもので、図示省略のバグ管理システムで管理されているものである。プログラム間関係情報１０２は、プログラム間の呼び出し順序や実行順序を格納するもので、プログラム解析ツールや設計書から取得可能である。プログラム別テスト量情報１０３は、プログラム毎のテスト量と、実施予定のテスト量を含むもので、図示省略の進捗管理システムから取得可能である。
また、バグ別優先度の計算に利用するためプログラム別優先度スコア情報１０９とバグ別優先度スコア情報１１０を備える。
【００１３】
バグ優先度表示時の画面情報や画像情報を格納するために、出力情報１１１を備える。
優先度スコア計算部１０６は、プログラム間関係情報１０２のプログラムの実行順序と呼び出し順序、またプログラム別テスト量情報１０３を利用して、プログラム毎に優先度スコアを計算し、結果をプログラム別優先度スコア情報１０９に格納する。その後バグ情報１０１を利用し、バグ別優先度スコア情報１１０にバグ別に優先度スコアを格納する。
表示位置計算部１０７は、バグ別優先度スコア情報１１０とプログラム間関係情報１０２を利用して、個々のバグを画面に表示する位置（Ｘ軸、Ｙ軸）と大きさを計算し、バグ別優先度スコア情報１１０に格納する。
出力処理部１０８は、バグ別優先度スコア情報１１０と出力情報１１１、プログラム間関係情報１０２から、個々のバグを適切な位置に描画し、バグ優先度表示結果１０４を出力する。
【００１４】
以上の構成により、本実施の形態に係るバグ対策優先度表示システム１０５では、ツールやシステムにより得られたバグ情報１０１、プログラム間関係情報１０２、プログラム別テスト量情報１０３に基づき、優先度スコアを算出し、表示位置を計算した後バグ優先度表示結果１０４を出力する。
【００１５】
以下、本実施の形態に係るバグ対策優先度表示システム１０５の詳細について説明する。
図２は、優先度スコア計算部１０６に用いられるバグ情報１０１のデータ構造の一例を示す図である。バグ情報１０１には、バグ管理番号２０１とプログラム名２０２が含まれる。
バグ管理番号２０１は、バグ管理システムで採番される、バグ毎にユニークな値が格納される。
プログラム名２０２で用いられる名前は、プログラム間関係情報１０２、プログラム別テスト量情報１０３、プログラム別優先度スコア情報１０９でも利用されるもので、任意の大きさのプログラムに対してつけられたユニークな値である。
【００１６】
図３は、優先度スコア計算部１０６、表示位置計算部１０７、出力処理部１０８に用いられるプログラム間関係情報１０２のデータ構造の一例を示す図である。プログラム間関係情報１０２には、プログラム名（ｆｒｏｍ）３０１、プログラム名（ｔｏ）３０２、関係種別３０３が含まれる。
関係種別３０３は、プログラムの開始点を示す開始、実行順序を示す「順序」、呼び出し関係を示す「呼出」のいずれかの値が格納される。例えば、図３では、Ｍｏｄｕｌｅ  Ａの直後に実行されるプログラムは、Ｍｏｄｕｌｅ  Ｂである。また、Ｍｏｄｕｌｅ  Ｂは、Ｍｏｄｕｌｅ  Ｃを呼び出す。Ｍｏｄｕｌｅ  Ａは、あるまとまったプログラムの実行順序の先頭となるプログラムであることを示す。
【００１７】
図４は、優先度スコア計算部１０６に用いられるプログラム別テスト量情報１０３のデータ構造の一例を示す図である。プログラム別テスト量情報１０３は、プログラム名４０１と残テスト量４０２が含まれる。
残テスト量４０２は、プログラム名４０１に格納したプログラムの未実施のテスト件数を格納する。
【００１８】
図５は、優先度スコア計算部１０６の結果を格納するプログラム別優先度スコア情報１０９のデータ構造の一例を示す図である。プログラム別優先度スコア情報１０９は、プログラム名５０１、優先度スコア５０２が含まれる。
優先度スコア５０２は、優先度スコア計算部１０６で計算した結果を格納する。
【００１９】
図６は、優先度スコア計算部１０６、表示位置計算部１０７、出力処理部１０８で用いられるバグ別優先度スコア情報１１０のデータ構造の一例を示す図である。バグ別優先度スコア情報１１０は、バグ管理番号６０１、優先度スコア６０２、座標位置Ｘ６０３、座標位置Ｙ６０４、大きさＺ６０５が含まれる。
このデータは、プログラム別優先度スコア情報１０９をバグ毎に整理し、出力位置情報を保持するものである。
バグ管理番号６０１は、バグ情報１０１のバグ管理番号２０１と同じものが格納される。優先度スコア６０２は、プログラム別優先度スコア情報１０９の優先度スコア５０２の値が格納される。座標位置Ｘ６０３、座標位置Ｙ６０４、大きさＺ６０５は、表示位置計算部１０７の結果が格納され、その値を用いて出力部１０８で出力される。座標位置Ｘ６０３は、バグ情報を画面表示する際のＸ座標位置を表す。座標位置Ｙ６０４は、同様にＹ座標位置を表す。大きさＺ６０５は、バグを画面に表示する時の大きさを表す。座標位置Ｘ６０３、座標位置Ｙ６０４、大きさＺ６０５は、０〜１の間の数値が格納され、実際には、出力情報１１１に格納された表示サイズを利用して座標位置と大きさを算出する。
【００２０】
図７は、出力部１０９で用いられる出力情報１１１のデータ構造の一例を示す図である。出力情報１１１は、表示サイズ（縦）７０１、表示サイズ（横）７０２、表示用画像７０３が含まれる。
表示サイズ（縦）７０１、表示サイズ（横）７０２は、バグ優先度表示結果１０４の表示幅を格納する。表示用画像７０３は、バグ優先度表示結果に表示される、バグを表す画像へのパスを格納する。
【００２１】
バグ優先度表示システム１０５の詳細を説明する。
図８は、バグ優先度表示システム１０５の優先度スコア計算部１０６の計算手順を示すフローチャートである。優先度スコア計算部１０６は、前処理以外に、順序関係計算部８０２、呼び出し関係計算部８０６、情報格納部８１０の３つから構成される。
まず、前処理として、ステップ８０１で、各プログラムの優先度スコアの初期値を登録する。具体的には、プログラム別テスト量情報１０３の全レコードのプログラム名４０１と残テスト量４０２を、プログラム別優先度スコア情報１０９のプログラム名５０１、優先度スコア５０２にコピーして格納する。
【００２２】
次に、順序関係計算部８０２を実行する。プログラム間関係情報１０２は、プログラム名（ｆｒｏｍ）３０１とプログラム名（ｔｏ）３０２をノード、同一レコードのプログラム名（ｆｒｏｍ）３０１とプログラム名（ｔｏ）３０２を、プログラム名（ｆｒｏｍ）のノードから、プログラム名（ｔｏ）へのエッジとした有向グラフと考えることができる。
【００２３】
順序関係計算部８０２では、プログラム間関係情報１０２から、関係種別３０３が「開始」のレコードの一覧を取得する（ステップ８０３）。開始レコードから１件取り出し、プログラム間関係情報１０２を利用して、関係種別３０３が「順序」のものに限定して有向グラフを構築する（ステップ８０４）。次に、グラフを深さ優先探索で辿り、親ノードに戻る際に、全ての子ノードについてプログラム名をキーに、プログラム別優先度スコア情報１０９から優先度スコア５０２の値を取得し、その値に１を加算し、プログラム別優先度スコア情報１０９の優先度スコア情報５０２に上書きして格納する（ステップ８０５）。ステップ８０４、ステップ８０５は、ステップ８０３の全てのレコードに対して実行する。
【００２４】
呼び出し関係計算部８０６も、プログラム間関係情報１０２から、関係種別３０３が「開始」のレコードの一覧を取得する（ステップ８０７）。開始レコードから１件取り出し、プログラム間関係情報１０２を利用して、関係種別３０３が「順序」、「呼出」のものに限定して、有向グラフを作成する（ステップ８０８）。次に、深さ優先探索で辿り、関係種別３０３が「順序」の場合は、そのまま探索を続行し、関係種別３０３が「呼出」の場合は、プログラム名をキーにプログラム別優先度スコア情報１０９の優先度スコア５０２を取得し、その後の全ての子ノードのプログラム別優先度スコア情報１０９中の優先度スコア５０２に加算する（ステップ８０９）。「呼出」の後にさらに「呼出」が出現した場合は、その両方の呼び出し元の優先度スコア５０２を子ノード全てに加算する。
【００２５】
情報格納部８１０は、プログラム別優先度スコア情報１０９を、バグ別に分類したものである。まず、バグ情報１０１の全レコードについて、バグ管理番号２０１を、バグ別優先度スコア情報１１０のバグ管理番号６０１に格納する（ステップ８１１、８１２）。この際、各レコードについて、プログラム別優先度スコア情報１０９を参照して、優先度スコア情報５０２を取得し、バグ別優先度スコア情報１１０の優先度スコア６０２に格納する（ステップ８１３）。
【００２６】
図９は、表示位置計算部１０７の計算手順を示すフローチャートである。表示位置計算部１０７は、Ｘ座標計算部９０１、Ｙ座標計算部９０６、サイズ計算部９１０から構成される。
Ｘ座標計算部９０１は、座標位置Ｘ６０３の初期設定値として変数ｉを１に設定する（ステップ９０２）。
次に、バグ別優先度スコア情報１１０のレコードを優先度スコア６０２の降順にソートし、１件ずつ次の処理を行う（ステップ９０３）。まず、対象レコードを元に、プログラム間関係情報１０２を利用して、関係種別３０３が「順序」、「呼出」のものに限定して、有向グラフを作成する（ステップ９０４）。次に深さ優先で探索し、各ノードに対して、バグ情報１０１を利用してバグ別優先度スコア情報１１０の座標位置Ｘ６０３に値が存在するか確認し、値が存在しない場合は、変数ｉの値を格納し、変数ｉに１を加算する（ステップ９０５）。
【００２７】
Ｙ座標計算部９０６は、まず、バグ別優先度スコア情報１１０の優先度スコア６０２の最大値を取得する（ステップ９０７）。次にバグ別優先度スコア情報１１０の各レコードに対して（ステップ９０８）、「１−（優先度スコア６０２）／（ステップ９０７で求めた優先度スコア６０２の最大値）」を計算し、結果をバグ別優先度スコア情報１１０の座標位置Ｙ６０４に格納する（ステップ９０９）。この計算により、各バグの優先度スコアの相対的な位置が求められる。
【００２８】
サイズ計算部９１０は、まず、プログラム別テスト量情報１０３の全レコードから、残テスト量の最大値を取得する（ステップ９１１）。次に、バグ別優先度スコア情報１１０の各レコードに対して（ステップ９１２）、バグ管理番号６０１からバグ情報１０１を利用して、プログラム名２０２を取得し、さらにプログラム別テスト量情報１０３から残テスト量４０２を取得し、その値を、前記ステップ９１１で取得した最大値で割り、結果をバグ別優先度スコア情報１１０の大きさＺ６０５に格納する（ステップ９１３）。この計算により、各バグ単体のテスト量の大きさが求められる。
【００２９】
図１０は出力処理部１０８の処理手順を示すフローチャートである。まず出力情報１１１から表示サイズ（縦）７０１、表示サイズ（横）７０２、表示用画像７０３を取得する（ステップ１００１）。次に、バグ別優先度スコア情報１１０の各々のレコードに対して、ステップ１００３〜１００５のように表示位置を計算する（ステップ１００２）。画像のＸ座標は、座標位置Ｘ６０３×表示サイズ（横）７０２（ステップ１００３）、画像のＹ座標は座標位置Ｙ６０４×表示サイズ（縦）７０３（ステップ１００４）、表示用画像の表示倍率を大きさＺ６０５×２とし、表示用画像の画像サイズを大きさＺ６０５×画像のオリジナルサイズ×２（ステップ１００５）として、画面に描画する。
【００３０】
次に、バグ別優先度スコア情報１１０の各レコードを１件ずつ処理する（ステップ１００６）。まず、プログラム間関係情報１０２を利用して、対象レコードを始点とする有向グラフを構築する（ステップ１００７）。有向グラフを深さ優先で探索し、バグ別優先度スコア情報に登録済みのプログラムが見つかれば、対象レコードのバグと、見つかったバグ間に、バグ別優先度スコア情報１１０の座標位置Ｘ６０３、座標位置Ｙ６０４を利用して線を描画する（ステップ１００８）。１件見つかれば、当該ノードについては探索を中断し、上位のノードに戻り探索を続ける。
【００３１】
図１１は、バグ優先度表示システム１０５で出力されたバグ優先度表示結果１０４の一例を示す図である。バグ優先度表示結果１０４は、線１１０１、画像１１０２、線１１０３を含む。
画像１１０２は、バグ１件毎に表示され、図９のフローチャートの通りＸＹ座標と画像サイズを計算し表示される。線１１０１も同様に図９のフローチャートの通り画像１１０２間を線で描画する。線１１０３は、バグ優先度表示結果１０４の最下部を示す。
図１１では、優先度スコアが高いものは下部に表示され、低いものほど上位に表示される。また、左から順に優先度スコアの高いバグと、そのバグの影響を受ける可能性のあるバグを順に表示する。さらに画像の大きさで、バグのあるプログラムの作業量（残テスト量）があらわされる。
この図１１を見ることで、プロジェクト責任者やプロジェクト関係者がバグの相対比較、バグ間の関連、バグが含まれるプログラムの作業量（残テスト量）を一目で把握できる。
【００３２】
以上のように、本実施の形態に係るバグ対策優先度表示システムでは、プログラム間関係やプログラム別の作業量（残テスト量）の情報を含めた優先度スコアを算出し、さらに、優先度、バグ毎の作業量、バグ間の関連を図式化することで、プロジェクト責任者によるバグ対策優先度の決定をサポートするとともに、プロジェクト関係者でも状況が把握できるようになる。
【００３３】
図１２は、図１１に前回との差分表示を追加した場合の一例を示す図である。図１１の構成要素に加え、画像１２０２、画像１２０３を含む。
これは、バグ別優先度スコア情報１１０の優先度スコア６０２の前回時点の値と比較し、前回より改善されている場合は、画像１２０１を利用し、逆に前回に比べ追加テスト等で作業量が多くなり悪化している場合は、画像１２０２の画像を利用することで、前回との比較情報を視覚的に分かりやすく表示することができる。
【００３４】
なお、前記実施の形態では、プログラム別残テスト量の情報を作業量として利用したが、テスト量以外のプログラムの作業量を表す情報を加えることとしても良い。
【符号の説明】
【００３５】
１０１  バグ情報
１０２  プログラム間関係情報
１０３  プログラム別テスト量情報
１０５  バグ優先度表示システム
１０９  プログラム別優先度スコア情報
１１０  バグ別優先度スコア情報
１１１  出力情報
２０１，６０１  バグ管理番号
２０２，３０１，３０２，４０１，５０１  プログラム名
３０３  関係種別
４０２  残テスト量
５０２，６０２  優先度スコア
６０３  座標位置Ｘ
６０４  座標位置Ｙ
６０５  大きさＺ
７０１  表示サイズ（縦）
７０２  表示サイズ（横）
７０３  表示用画像
１１０１  線
１１０２  画像
【図１】
0005615245.tif 000002
【図２】
0005615245.tif 000003
【図３】
0005615245.tif 000004
【図４】
0005615245.tif 000005
【図５】
0005615245.tif 000006
【図６】
0005615245.tif 000007
【図７】
0005615245.tif 000008
【図８】
0005615245.tif 000009
【図９】
0005615245.tif 000010
【図１０】
0005615245.tif 000011
【図１１】
0005615245.tif 000012
【図１２】
0005615245.tif 000013