(57)【要約】【課題】生成される動作記録の形式がソフトウェア毎に異なる場合でも、同一のエラー記録抽出部、ソースファイル・関数／クラス検索部でよいソフトウェアトラブル解析装置を提供する。【解決手段】エラー記録抽出部１３は、動作記録部１１から動作記録を読出し、エラーとなった動作記録を抽出形式定義部１２に定義されている抽出条件に基づき抽出し、また抽出形式定義部１２に定義されている入力形式、出力形式に基づき動作記録の記述を変換し、抽出結果として出力する。ソースファイル関数／クラス検索部１５Ａは抽出結果に基づきソースファイル記録媒体１４Ａからソースファイル名・関数名／クラスを読み出し、表示部１６により表示する。【選択図】　　図１
2004030290.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのトラブル発生時に、トラブル発生個所を特定するソフトウェアトラブル解析装置であって、
各ソースファイルの、動作時刻、ファイル名、関数またはクラス、およびイベントを含む動作記録を記録している動作記録手段と、
前記動作記録から、エラーが発生したソースファイルの動作記録を抽出するための抽出条件および入出力形式を定義した抽出形式定義手段と、
各ソースファイルが記録されているソースファイル記録媒体と、
動作記録を前記動作記録手段から読み込み、前記動作時刻が前記抽出条件を満たし、かつ前記イベントがエラーであるソースファイルの動作記録を抽出し、前記抽出形式定義手段に定義されている、該動作記録の入力形式に対応した出力形式で出力するエラー記録抽出手段と、
前記エラー記録抽出手段の出力に対応する個所を前記ソースファイル記録媒体から検索するソースファイル・関数／クラス検索手段と、
前記ソースファイル・関数／クラス検索手段の検索結果を表示する表示手段を有するソフトウェアトラブル解析装置。
【請求項２】
ソフトウェアのトラブル発生時に、トラブル発生個所を特定するソフトウェアトラブル解析装置であって、
各ソースファイルの、動作時刻、ファイル名、関数またはクラス、およびイベントを含む動作記録を記録している動作記録手段と、
前記動作記録手段から、エラーが発生したソースファイルの動作記録を抽出するための抽出条件および入出力形式を定義した抽出形式定義手段と、
各ソースファイルが記録されているソースファイル記録媒体と、
動作記録を前記動作記録手段から読み込み、前記動作時刻が前記抽出条件を満たし、かつ前記イベントがエラーであるソースファイルの動作記録を抽出し、前記抽出形式定義手段に定義されている、該動作記録の入力形式に対応した出力形式で出力するエラー記録抽出手段と、
前記ソースファイル記録媒体中のソースファイル名、関数、クラス、メソッドの記録位置毎に、これらソースファイル名、関数、クラス、メソッドを検索キーとして保持しているソースファイル・関数／クラス位置テーブルと、
前記エラー記録抽出手段の出力を検索キーとして前記ソースファイル・関数／クラス位置テーブルから、対応する記録位置を得、前記ソースファイル記録媒体から該記録位置の内容を読み込むソースファイル・関数／クラス検索手段と、
前記ソースファイル・関数／クラス検索手段で得られた内容を表示する表示手段を有するソフトウェアトラブル解析装置。
【請求項３】
ソフトウェアのトラブル発生時に、トラブル発生個所を特定するソフトウェアトラブル解析プログラムであって、
各ソースファイルの、動作時刻、ファイル名、関数またはクラス、およびイベントを含む動作記録を記録している動作記録手段から動作記録を読み込み、前記動作時刻が、前記動作記録から、エラーが発生したソースファイルの動作記録を抽出するための抽出条件および入出力形式を定義した抽出形式定義手段に定義されている抽出条件を満たし、かつイベントがエラーであるソースファイルの動作記録を抽出し、該動作記録の入力形式に対応した出力形式で出力するエラー記録抽出手順と、
前記エラー記録抽出手順の出力に対応する個所を各ソースファイルが記録されているソースファイル記録媒体から検索するソースファイル・関数／クラス検索手順と、
前記ソースファイル・関数／クラス検索手順の検索結果を表示する表示手順を有するソフトウェアトラブル解析プログラム。
【請求項４】
ソフトウェアのトラブル発生時に、トラブル発生個所を特定するソフトウェアトラブル解析プログラムであって、
各ソースファイルの、動作時刻、ファイル名、関数またはクラス、およびイベントを含む動作記録を記録している動作記録手段から動作記録を読み込み、前記動作時刻が、前記動作記録から、イベントがエラーであるソースファイルの動作記録を抽出し、エラーが発生したソースファイルの動作記録を抽出するための抽出条件および入出力形式を定義した抽出形式定義手段に定義されている抽出条件を満たし、かつイベントがエラーであるソースファイルの動作記録を抽出し、該動作記録の入力形式に対応した出力形式で出力するエラー記録抽出手順と、
前記ソースファイル記録媒体中のソースファイル名、関数、クラス、メソッドの記録位置毎に、これらソースファイル名、関数、クラス、メソッドを検索キーとして保持しているソースファイル・関数／クラス位置テーブルから、前記エラー記録抽出手順の出力を検索キーとして対応する記憶位置を得、各ソースファイルが記録されているソースファイル記録媒体から該記録位置の内容を読み込むソースファイル・関数等検索手順と、
前記ソースファイル・関数／クラス検索手順で得られた内容を表示する表示手順を有するソフトウェアトラブル解析プログラム。
【請求項５】
請求項３または４に記載のソフトウェアトラブル解析プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェアのトラブル発生時に動作記録からトラブル発生個所を特定するソフトウェアトラブル解析装置に関する。
【０００２】
【従来の技術】
図１２はソフトウェアトラブル解析装置の従来例の構成を示している。動作記録部２１は、動作した各ソースファイルの、動作時刻、ファイル名、関数、イベントが図１３のように記録されている。エラー記録抽出部２３は動作記録部２１から動作記録を読み込み、イベントがエラーである動作記録（図１４）を抽出し、ソースファイル・関数／クラス検索部２５に出力する。ソースファイル・関数／クラス検索部２５は、抽出された動作記録に含まれるソースファイルの関数名が記録された部分を、図１５に示すように、ソースファイルが記録されているソースファイル記録媒体２４から読み出し、表示部２６に渡す。表示部２６はソースファイル・関数／クラス検索部２５から送られた内容を図１６のように表示する。
【０００３】
【発明が解決しようとする課題】
生成される動作記録の形式がソフトウェア毎に異なるため、上述した従来の装置では、異なるエラー記録抽出部とソースファイル・関数／クラス検索部をソフトウェア毎に用意する必要があった。
【０００４】
本発明の目的は、生成される動作記録の形式がソフトウェア毎に異なる場合でも、同一のエラー記録抽出部、ソースファイル・関数／クラス検索部でよいソフトウェアトラブル解析装置を提供することにある。
【０００５】
【課題を解決するための手段】
動作記録からエラーとなった記録を抽出する際に、抽出する記録の形式を抽出開始・終了条件として予め定義し、この定義に基づき記録を抽出する。また、動作記録での記述形式を入力形式として、抽出結果を出力形式として定義し、この定義に基づき動作記録の記述を変換し抽出結果として出力する。次に、抽出結果に基づきソースファイル記録媒体からソースファイル名・関数名／クラスを読み出し、結果を表示する。あるいは、抽出結果を検索キーとして、検索キー毎のソースファイル記録媒体中の記録位置を記憶したソースファイル関数／クラス位置テーブルから記録位置を得、該記録位置に基づきソースファイル記録媒体からソースファイル名・関数名等を読み出し、結果を表示する。
【０００６】
したがって、ソフトウェア毎に動作記録の抽出形式を定義することにより、同一の方法でトラブル解析が可能となり、また、解析するソフトウェアに変更があった場合も、同様に動作記録の抽出形式の定義を修正することにより、短時間でのトラブル解析が可能となる。
【０００７】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【０００８】
第１の実施形態
図１を参照すると、本発明の第１の実施形態のソフトウェアトラブル解析装置は動作記録部１１と抽出形式定義部１２とエラー記録抽出部１３とソースファイル記録媒体１４Ａとソースファイル関数／クラス検索部１５Ａと表示部１６で構成されている。
【０００９】
ソースファイル記録媒体１４Ａにはソースファイル、この場合、図４に示すように、関数Ｆａ（　）を含むソースファイルＳａ．ｃと、クラスＣｂを含むソースファイルＳｂ．ｃが記録されている。
【００１０】
動作記録部１１はソースファイル記録媒体１４Ａに記録されているソースファイル、この場合ソースファイルＳａ．ｃ，　Ｓｂ．ｃにより生成された動作が記録されている。記録形式として、図２に示すように、動作が生成された、ファイル名、関数名、イベントを含む記録形式１１と、動作が生成された時刻、ファイル名、クラス（メソッド）、イベントを含む記録形式１１２がある。
【００１１】
抽出形式定義部１２はエラー記録抽出部１３の抽出動作を定義したもので、図３に示すように、抽出開始条件１２１、抽出終了条件１２２、入力形式１２３（ファイル１２３ａ、クラス・メソッド１２３ｂ、関数１２３ｃ）、出力形式１２４（ファイル１２４ａ、クラス１２４ｂ、メソッド１２４ｃ、関数１２４ｄ）を含む。
【００１２】
エラー記録抽出部１３は、図５に示すように、動作記録部１１から抽出開始条件１２１から抽出終了条件１２２までの記録を抽出し（ステップ１３１）、抽出終了条件１２２であるイベントがエラーかどうか判定し（ステップ１３２）、エラーであれば入力形式１２３の動作記録を出力形式１２４に変換する（ステップ１３３）。記録形式１１１の動作記録が読み込まれたのであれば、ファイル名と関数を含む結果１７１を出力し、記録形式１１２の動作記録が読み込まれたのであれば、ファイル名とクラスとメソッドを含む結果１７２を出力する（図６）。
【００１３】
ソースファイル・関数／クラス検索部１５Ａは、図７に示すように、エラー記録抽出部１３の出力を入力し、出力に含まれるファイル名のソースファイルをソースファイル記録媒体１４Ａから読み込み（ステップ１５１）、読み込んだファイルの中で、エラー記録抽出部１３の残りの出力（関数、クラス、メソッド）と一致する個所までファイルを読み飛ばし、読み飛ばした先の内容を表示部１６に送る（ステップ１５２）。
【００１４】
表示部１６はソースファイル・関数／クラス検索部１５Ａから送られた内容を図８のように表示する。
【００１５】
第２の実施形態
図９を参照すると、本発明の第２の実施形態のソフトウェアトラブル解析装置は動作記録部１１と抽出形式定義部１２とエラー記録抽出部１３とソースファイル記録媒体１４Ｂとソースファイル・関数／クラス検索部１５Ｂとソースファイル・関数／クラス位置テーブル１７と表示部１６で構成されている。
【００１６】
動作記録部１１、抽出形式定義部１２、エラー記録抽出部１３、表示部１６は第１の実施形態と同じである。
【００１７】
ソースファイル記録媒体１４Ｂには図１０に示すように、ソースファイルとともに、ソースファイル名、関数、クラス、メソッド等の記録位置が記録されている。
【００１８】
ソースファイル・関数／クラス位置テーブル１７には、表１に示すように、検索キー（ファイル名、関数、クラス、メソッド）に対応した、ソースファイル記録媒体１４Ｂでの記録位置が記録されている。
【００１９】
【表１】
2004030290.tif 000003
【００２０】
ソースファイル・関数／クラス検索部１５Ｂは、図１１に示すように、エラー記録抽出部１３の出力を検索キーとしてソースファイル・関数／クラス位置テーブル１７から記録位置を得（ステップ１５３）、該記録位置の内容をソースファイル記録媒体１４Ｂから読み込み、表示部１６に送る（ステップ１５４）。
【００２１】
なお、以上説明したソフトウェアトラブル解析装置は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ―ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００２２】
【発明の効果】
以上説明したように、本発明によれば、ソフトウェア毎の動作記録の抽出形式を定義することにより、同一の方法でトラブル解析が可能となり、また、解析するソフトウェアに変更があった場合も、同様に動作記録の抽出形式定義を修正することにより、短時間でのトラブル解析が可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態のソフトウェアトラブル解析装置の構成図である。
【図２】動作記録部１１の動作記録形式を示す図である。
【図３】抽出形式定義部１２に保持されている抽出形式を示す図である。
【図４】ソースファイル記録媒体１４Ａに記録されているソースファイルの例を示す図である。
【図５】エラー記録抽出部１３の処理を示すフローチャートである。
【図６】エラー記録抽出部１３の出力例を示す図である。
【図７】ソースファイル・関数／クラス検索部１５Ａの処理を示すフローチャートである。
【図８】表示部１６の表示例を示す図である。
【図９】本発明の第２の実施形態のソフトウェアトラブル解析装置の構成図である。
【図１０】ソースファイル記録媒体１４Ｂに記録されているソースファイルの例を示す図である。
【図１１】ソースファイル・関数／クラス検索部１５Ｂの処理を示すフローチャートである。
【図１２】ソフトウェアトラブル解析装置の従来例の構成を示す図である。
【図１３】動作記録部２１の動作記録形式を示す図である。
【図１４】エラー記録抽出部２３の出力例を示す図である。
【図１５】ソースファイル記録媒体２４に記録されているソースファイルの例を示す図である。
【図１６】表示部２６の表示例を示す図である。
【符号の説明】
１１、２１　　動作記録部
１２　　抽出形式定義部
１３　　エラー記録抽出部
１４Ａ、１４Ｂ、２４　　ソースファイル記録媒体
１５Ａ、１５Ｂ、２５　　ソースファイル・関数／クラス検索部
１６、２６　　表示部
１７　　ソースファイル・関数／クラス位置テーブル
１１１、１１２　　動作記録
１２１　　抽出開始条件
１２２　　抽出終了条件
１２３　　入力形式
１２３ａ　　ファイル
１２３ｂ　　クラス、メソッド
１２３ｃ　　関数
１２４　　出力形式
１２４ａ　　ファイル
１２４ｂ　　クラス
１２４ｃ　　メソッド
１２４ｄ　　関数
１３１〜１３３、１５１〜１５４　　ステップ
１７１、１７２　　結果
【図１】
2004030290.tif 000004
【図２】
2004030290.tif 000005
【図３】
2004030290.tif 000006
【図４】
2004030290.tif 000007
【図５】
2004030290.tif 000008
【図６】
2004030290.tif 000009
【図７】
2004030290.tif 000010
【図８】
2004030290.tif 000011
【図９】
2004030290.tif 000012
【図１０】
2004030290.tif 000013
【図１１】
2004030290.tif 000014
【図１２】
2004030290.tif 000015
【図１３】
2004030290.tif 000016
【図１４】
2004030290.tif 000017
【図１５】
2004030290.tif 000018
【図１６】
2004030290.tif 000019