(57)【要約】【課題】特殊なハードウェア装置を用いることなく、操作ログの取得から取得された操作ログの読込みまでを自動的に実行し、バグの解析にかかる時間を短縮し、かつ解析の精度をも高めることが可能なデバッグ支援装置を提供する。【解決手段】コンピュータ１００に対して行われた操作及びこの操作に対する出力結果を含むログ情報を出力させるための操作ログ出力プログラム２４を作成する操作ログ出力モジュール生成部３２Ａ、出力されたログ情報をコンピュータ１００に読込ませるための操作ログ読込プログラム２６を生成する操作ログ読込モジュール生成部３２Ｂとをコンピュータ１００に内蔵し、読込まれたログ情報にしたがって、コンピュータ１００を動作させる置。【選択図】  図１
2010033170.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに対してされた操作に関するプログラム上の不具合を解析するデバッグ支援装置であって、
前記コンピュータに対して行われた操作及び当該操作に対する出力結果を含むログ情報を出力させるための操作ログ出力プログラムを生成する操作ログ出力プログラム生成手段と、
前記操作ログ出力プログラムによって出力されたログ情報を前記コンピュータに読込ませるための操作ログ読込プログラムを生成する操作ログ読込プログラム生成手段と、
を備え、
前記操作ログ読込プログラムによって読込まれた前記ログ情報にしたがって、前記コンピュータを動作させることを特徴とするデバッグ支援装置。
【請求項２】
前記操作ログ出力プログラムによって出力されたログ情報を保存する操作ログ保存手段をさらに備えることを特徴とする請求項１に記載のデバッグ支援装置。
【請求項３】
前記操作ログ読込プログラムに対して複数の前記操作ログを指定することにより、指定された複数の前記操作ログを前記コンピュータに連続して読込ませる操作ログ読込手段をさらに備えることを特徴とする請求項１または２に記載のデバッグ支援装置。
【請求項４】
前記操作ログ出力プログラムによって出力された前記ログ情報と、前記ログ情報に含まれる前記出力結果のうち、正常と判定されなかった結果を正常と判定される結果に修正した修正ログ情報と、の一致、不一致を判断するログ情報比較手段と、
前記ログ情報比較手段によって判断された前記ログ情報と前記修正ログ情報との一致、不一致を表示する表示手段と、
をさらに備えることを特徴とする請求項１から３のいずれか１項に記載のデバッグ支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ支援装置に係り、特に、コンピュータに対してされた操作及び、操作に対応してコンピュータが出力した結果を含むログ情報を取得するデバッグ支援装置に関する。
【背景技術】
【０００２】
コンピュータシステムにおけるソフトウェアの開発では、開発されたソフトウェアを試験する作業にかかる時間的な負荷が大きいことが知られている。特に、大規模なシステムのソフトウェアの開発では、試験の担当者（試験担当者）と、試験によって発見されたバグの不具合の解析や改修の担当者（バグ解析者）が異なっている。試験担当者は、コンピュータ上でプログラムを実行するための操作をし、操作の過程でバグを発見する。バグ解析者は、発見されたバグを解析し、バグが発生しないようにソフトウェアを改修する。
【０００３】
このような場合、試験担当者は、バグが発生する操作手順をバグ解析者に伝えなければならないが、現在、操作手順の伝達は、多くの場合、書類等の紙媒体や口頭によって行われているのが実情である。
また、バグの解析には、バグ発生の再現性が重要な要素になる。このため、複雑な操作の過程で発生するバグの解析には、操作手順を正確に伝達するため、多くの時間が費やされる。さらに、プログラムがリリースされた後に発見されたバグに関しては、バグ解析者は、操作手順に関する情報がない状態で再現実験をしなくてはならない。
【０００４】
上記した問題を解決するための一般的な方法に、アプリケーションプログラム中に操作ログの出力機能をインプリメントするものがある。このようにすれば、自動的に操作ログを取得することができる。
ただし、この方法では、アプリケーションプログラム毎に出力機能をインプリメントしなければならず、プログラマにかかる負荷が増加する。また、取得された操作ログを人手によって解析し、操作を再現することが要求される。このため、解析にかかる負荷と解析の正確性が課題となる。
【０００５】
操作を自動的に再現する従来技術としては、例えば、特許文献１、特許文献２が挙げられる。特許文献１、特許文献２に記載された入力履歴再生方法は、コンピュータシステムに関連する操作ログの保存や再現をするものである。図１２は、このような従来技術を説明するための図である。
図１２に示した構成は、コンピュータシステム本体１、操作ログ収集装置２、表示装置３、入力装置４を備えている。コンピュータシステム本体１には、操作ログを出力させる対象となるアプリケーションが設定されている。表示装置３及び入力装置４は、操作ログ収集装置２を介してコンピュータシステム本体１に接続される。表示装置３及び入力装置４に流れる操作ログを示す信号は、操作ログ収集装置２に取り込まれる。操作ログ収集装置２に取り込まれた操作ログをコンピュータシステム本体１に再送することにより、コンピュータシステム本体１に実行された操作を再現することができる。
【特許文献１】特開平４−１２３２３７号公報
【特許文献２】特開平１０−１７１８４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した従来技術は、操作ログの収集に、特殊なハードウェア装置である操作ログ収集装置２が必要になる。このため、小規模なソフトウェア開発の試験フェーズでは問題ないが、大規模なソフトウェア開発の試験フェーズやリリース後の維持管理フェーズでは利用することができない。また、操作ログ収集装置２が必要な従来技術は、ユーザが多いほどコンピュータシステムの維持管理フェーズでの利用が困難になる。
本発明は、上記した点に鑑みてなされたものであり、特殊なハードウェア装置を用いることなく、操作ログの取得から読込みまでを自動的に実行し、バグの解析にかかる時間を短縮し、かつ解析の精度をも高めることが可能なデバッグ支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明の請求項１に記載したデバッグ支援装置は、コンピュータ（図１：コンピュータ１００）に対してされた操作に関するプログラム上の不具合を解析するデバッグ支援装置であって、前記コンピュータに対して行われた操作及び当該操作に対する出力結果を含むログ情報を出力させるための操作ログ出力プログラム（図１：操作ログ出力プログラム２４）を生成する操作ログ出力プログラム生成手段（操作ログ出力モジュール生成部３２Ａ）と、前記操作ログ出力プログラムによって出力されたログ情報（図１：操作ログ２５）を前記コンピュータに読込ませるための操作ログ読込プログラム（図１：操作ログ読込プログラム２６）を生成する操作ログ読込プログラム生成手段（図１：操作ログ読込モジュール生成部３２Ｂ）と、を備え、前記操作ログ読込プログラムによって読込まれた前記ログ情報にしたがって、前記コンピュータを動作させることを特徴とする。このような発明によれば、コンピュータに入力された情報及び、入力に対して出力された情報（操作ログ情報）とを出力させるためのプログラムを作成することができる。このため、自動的にプログラムの操作ログを出力させることができる。また、操作ログをコンピュータに自動的に読込ませ、動作させることができるので、一の操作をコンピュータ上で繰返し正確に再現することができる。このような請求項１の発明は、特殊なハードウェア装置を用いることなく、操作ログの取得から取得された操作ログの読込みまでを自動的に実行し、バグの解析にかかる時間を短縮し、かつ解析の精度をも高めることができる。
【０００８】
請求項２に記載のデバッグ支援装置は、請求項１に記載の発明において、前記操作ログ出力プログラムによって出力されたログ情報を保存する操作ログ保存手段（図１：操作ログ保存部３３Ａ）をさらに備えることを特徴とする。このような発明によれば、取得された操作ログを繰返し読込ませてコンピュータに動作を再現させることができる。
請求項３に記載のデバッグ支援装置は、請求項１または２に記載の発明において、前記操作ログ読込プログラムに対して複数の前記操作ログを指定することにより、指定された複数の前記操作ログを前記コンピュータに連続して読込ませる操作ログ読込手段（図１：操作ログ読込部３３Ｂ）をさらに備えることを特徴とする。このような発明によれば、複数の操作ログを使ってデバッグする場合、複数の操作ログを一度に指定し、デバッグ処理の効率を高めることができる。
【０００９】
請求項４に記載のデバッグ支援装置は、請求項１から３のいずれか１項に記載の発明において、前記操作ログ出力プログラムによって出力された前記ログ情報と、前記ログ情報に含まれる前記出力結果のうち、正常と判定されなかった結果を正常と判定される結果に修正した修正ログ情報と、の一致、不一致を判断するログ情報比較手段（図１：デバッグ実行部６０）と、前記ログ情報比較手段によって判断された前記ログ情報と前記修正ログ情報との一致、不一致を表示する表示手段（図１：表示装置１０、出力装置５０）と、をさらに備えることを特徴とする。このような発明によれば、所定の操作ログ中の出力結果と、この操作ログにおいて本来出力されるべき結果とを比較することができる。そして、両者が一致しない箇所を抽出し、表示することができるので、プログラムを修正した場合に起こる修正箇所以外の不具合をも検出することができる。
【発明の効果】
【００１０】
本発明のデバッグ支援装置は、操作ログを取得するためのプログラム、取得された操作ログを読込むプログラムを自動的に生成することができるので、操作ログの取得から取得された操作ログの読込みまでを自動的に実行することができる。また、操作ログに示されている動作を正確に再現することができる。
また、プログラマによる操作ログ出力処理インプリメントの稼動削減をすることができる。また、ユーザの操作が容易に再現でき、プログラムの問題点の解析時間を短縮することができる。さらに、プログラム改修後の確認作業を自動化でき、確認作業の時間を短縮することができる。したがって、バグの解析にかかる時間を短縮し、かつ解析の精度をも高めることが可能なデバッグ支援装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態を、図面を用いて説明する。
図１は、本発明の一実施形態のデバッグ支援装置を説明するための機能ブロック図である。図示したデバッグ支援装置は、記憶装置２０と、システム本体３０と、を備えている。記憶装置２０は、デバッグの対象となっているプログラムを実行しているコンピュータ１００に備えられている記憶装置である。システム本体３０は、コンピュータ１００に内蔵されるプログラムであって、記憶装置２０と共にデバッグを実行するデバッグ支援装置として機能する。
【００１２】
システム本体３０には、表示装置１０、入力装置４０、出力装置５０が接続されている。入力装置４０には、例えばキーボードが用いられる。表示装置１０は、入力装置４０によって入力された情報に応じて出力された処理の結果を表示する構成であって、例えばディスプレイ画面を備えている。出力装置５０には、ディスプレイ画面に表示された情報等を紙媒体に印字するプリンタ等が用いられる。
【００１３】
図１において、記憶装置２０とシステム本体３０との間に記された矢印は、いずれも記憶装置２０、システム本体３０間における情報の参照や機能の設定を示している。矢印の終点は、能動的に機能の設定または情報の参照をする構成を示す。矢印の始点は、機能が設定される構成または参照される情報を保持する構成を示している。
図２は、デバッグの対象となっているプログラムのソフトウェア構造を説明するための図である。ソフトウェアは、ＨＭＩ（Human Machine Interface）部５と、ライブラリ部６と、アプリケーション部７と、ＯＳ（Operating System ）８とを備えている。ＨＭＩ部５は、ライブラリ部６とアプリケーション部７のインタフェースとなっている。また、アプリケーション部７については、ＷＩＮＤＯＷＳ（登録商標）上で一般的に使用されているＡｃｔｉｖｅ-Ｘ  ＤＬＬ（登録商標）を例にして説明するものとする。
【００１４】
（記憶装置）
図１に戻り、記憶装置２０は、ソースファイル２１、ソフトウェア設計情報２２、テンプレートソースファイル２３を備えている。テンプレートソースファイル２３は、操作ログを読込むためのソースファイルである。さらに、記憶装置２０は、操作ログ出力プログラム２４、操作ログ２５、操作ログ読込プログラム２６を備えている。ソースファイル２１は、記憶装置２０に格納されているファイルのコピー元となるファイルの集合である。
【００１５】
図３は、ソフトウェア設計情報２２を説明するための図である。ソフトウェア設計情報２２は、関数情報２２Ａ、引数情報２２Ｂ、引数入出力情報２２Ｃを備えている。関数情報２２Ａは、ＨＭＩ部５によって呼出される（Ｃａｌｌされる）ライブラリ関数名の情報である。引数情報２２Ｂは、関数の引数データの型を示す情報である。引数入出力情報２２Ｃは、入出力関係を記述した情報である。なお、このような情報は、いずれも後述するソフトウェア設計情報生成部３１により自動的に生成される。
【００１６】
図１に戻り、テンプレートソースファイル２３は、記憶装置２０に格納されているテンプレートのコピー元となるファイルの集合である。操作ログ２５は、図１に示したコンピュータ１００に対してされた操作の手順及び、この操作に応じて出力された結果を記録した情報（ログ）であり、操作ログ出力プログラム２４は、操作ログ２５を出力するためのプログラムである。操作ログ読込プログラム２６は、出力された操作ログ２５を再び読込むためのプログラムである。
【００１７】
（システム本体）
システム本体３０は、ソフトウェア設計情報生成部３１、ソフトウェア自動生成部３２、操作ログ再現部３３、デバッグ実行部６０を備えている。
デバッグ実行部６０は、図１に示した操作ログ再現部３３によって再現された結果に基づいて、プログラムが正常（ＯＫ）であるか否か（ＮＧ）を判断し、プログラムのバグを検出するＣＰＵ（Central Processing Unit）である。デバッグ実行部６０の機能については後述するものとする。
ソフトウェア自動生成部３２は、操作ログ出力モジュール生成部３２Ａ、操作ログ読込モジュール生成部３２Ｂを備えている。操作ログ再現部３３は、操作ログ保存部３３Ａ、操作ログ読込部３３Ｂを備えている。
【００１８】
ソフトウェア設計情報生成部３１は、ソフトウェア自動生成部３２がソフトウェアを生成するにあたって使用される設計情報を保存している。
ソフトウェア自動生成部３２は、操作ログ出力プログラム２４及び操作ログ読込プログラム２６を生成する構成であり、操作ログ出力モジュール生成部３２Ａ、操作ログ読込モジュール生成部３２Ｂを備えている。操作ログ出力プログラム２４は、操作ログ出力モジュール生成部３２Ａによって生成される。操作ログ読込プログラム２６は、操作ログ読込モジュール生成部３２Ｂによって生成される。
操作ログ再現部３３は、操作ログ保存部３３Ａ、操作ログ読込部３３Ｂを備えている。
【００１９】
（操作ログの保存）
図４は、操作ログ保存部３３Ａを説明するための図である。図４に示すように、操作ログ保存部３３Ａは、操作ログ制御プログラム３３ＡＡと制御ファイル３３ＡＢとを備えている。操作ログ制御プログラム３３ＡＡは、保存すべき操作ログのファイル（ログファイル）を指定するためのプログラムである。
図５は、図４に示した操作ログ制御プログラム３３ＡＡ及び制御ファイル３３ＡＢを説明するための図である。図示するように、操作ログ制御プログラム３３ＡＡは、制御ファイル３３ＡＢ及び操作ログ出力プログラム２４を起動する。操作ログ出力プログラム２４は、ＨＭＩ部２４Ａ、ライブラリ部２４Ｂを備え、記憶装置２０を備えるコンピュータ１００（図１）のアプリケーション部７との間で操作に関する情報を授受している。
【００２０】
この際、操作ログ制御プログラム３３ＡＡは、保存すべきログファイル名を指定する。指定されたログファイル名は、制御ファイル３３ＡＢに書込まれる。また、制御ファイル３３ＡＢには、起動制御情報（起動開始／終了）が記述される。制御ファイル３３ＡＢに書込まれたログファイル名に対応する操作ログは、操作ログ２５に出力される。以上の動作により、操作ログを指定されたログファイル名の操作ログ２５として保存することができる。
【００２１】
図６は、保存される操作ログを例示した図である。図示した操作ログには、ログ項番、呼出される関数が含まれるＤＬＬ名、クラス名、呼出された関数名、ＨＭＩ部からの入力パラメータの型とその値、ＨＭＩ部へ引渡した出力パラメータの型と値及び関数の戻り値が記録されている。図中、[ＩＮ１]、[ＩＮ２]の記号は、その後に記述される「’’」で括られたパラメータが入力パラメータであることを示し、[ＯＵＴ１]、[ＯＵＴ２]の記号はその後に記述される「’’」で括られたパラメータが出力パラメータであることを示している。
【００２２】
（操作ログの読込み）
図７は、保存された操作ログの読込みを説明するための図である。操作ログ読込部３３Ｂは、操作ログ読込プログラム２６を起動することによって操作ログを読込む。操作ログ読込プログラム２６は、図１に示したコンピュータ１００において汎用的に使用されるライブラリ部６及びアプリケーション部７と操作に関する情報を授受している。
【００２３】
操作ログ読込部３３Ｂは、操作ログ読込プログラム２６に対して操作ログファイル名を指定し、操作ログの読込みを実行する。読込みの実行により、入力パラメータがセットされ、操作ログの関数が呼出される。操作ログが読込まれることにより、コンピュータ１００が操作ログにしたがって動作し、操作ログが取得された際の動作を再現するので、ユーザが実行した操作を容易に再現することができる。
以上の動作において、操作ログ読込部３３Ｂは、操作ログ読込プログラム２６に複数の操作ログファイル名を指定することにより、指定された複数の操作ログを連続して読込むことができる。このようにすれば、デバッグが必要な操作を一度に指定し、連続してデバッグを実行することができるので、デバッグの処理効率を高めることができる。
【００２４】
（動作）
次に、以上述べたデバッグシステムによって実行される動作を説明する。
図８は、図１に示した操作ログ出力プログラム２４を作成するための処理を説明するためのフローチャートであって、操作ログ出力モジュール生成部３２Ａによって実行される。
操作ログ出力モジュール生成部３２Ａは、操作ログ出力行をインプリメントするための関数（操作ログ出力関数）の関数名を、関数情報２２Ａから取得する（ステップＳ１１）。そして、取得された関数名に該当する関数のファイルをソースファイル２１から取得する（ステップＳ１２）。
【００２５】
次に、操作ログ出力モジュール生成部３２Ａは、取得された関数名に該当する関数の引数のデータ型を引数情報２２Ｂから取得し（ステップＳ１３）、引数の入力パラメータ、出力パラメータを引数入出力情報２２Ｃから取得する。さらに、取得された入力情報、出力情報により、操作ログの出力情報を取得する（ステップＳ１４）。操作ログ情報を出力するための出力モジュールは、ソースファイルにおいて、関数が呼出された直後に実行される命令が書込まれる行に書込まれる（ステップＳ１５）。
【００２６】
出力モジュール内には、操作ログの出力処理に関する情報（関数名、入力パラメータ）の他、外部から操作ログの出力先を指定できる処理、操作ログの出力の有無を制御できる処理が含まれている。このソースファイルをプログラマ等がコンパイルすることにより（ステップＳ１６）、操作ログ出力プログラム２４が生成される。
図９は、ステップＳ１１において取得された操作ログ出力関数の概要を説明するための図である。図９（ａ）は、Ａｃｔｉｖｅ-Ｘ  ＤＬＬ（登録商標）における既存の命令を示している。図９（ａ）中、網掛けが付された「ログ出力共通関数（引数１，引数２）」は、Ａｃｔｉｖｅ-Ｘ  ＤＬＬ（登録商標）においてインプリメントされる操作ログを出力するための命令である。
【００２７】
図９（ｂ）は、本実施形態の操作ログ出力の命令を示している。本実施形態によれば、網掛けを付して示した「Functionログ出力関数（引数１，引数２）As Sring」以降の行に書込まれた命令で示すように、操作ログ出力関数を、操作ログ出力の有無、出力先の確認を指定することができる。
図１０は、操作ログ読込プログラム２６を作成するための処理を説明するためのフローチャートであって、図示した処理は、操作ログ読込モジュール生成部３２Ｂによって実行される。
【００２８】
操作ログ読込モジュール生成部３２Ｂは、記憶装置２０が操作ログを引渡すための関数名、入出力パラメータをソフトウェア設計情報２２から取込む。続いて、必要な関数のプログラムソースをソースファイル２１から取得し、このソースファイルから読込みに必要な関数情報を取得する（ステップＳ２１）。続いて、操作ログ読込プログラム２６を作成するためのテンプレートソースファイル２３に、関数情報を書込む（図中では組込むと記載：ステップＳ２２）。
関数情報が書込まれテンプレートソースファイルをプログラマ等がコンパイルすることにより（ステップＳ２３）、操作ログ読込プログラム２６が生成される。なお、操作ログ読込プログラム２６には、操作ログの読込み処理の他、読込みの中止や実行結果の判定処理が含まれている。
【００２９】
以上述べたように、本実施形態は、操作ログ情報をＨＭＩ部５から出力させる操作ログ出力プログラム２４を、自動的に生成することができる。このため、操作ログを出力するためのプログラムをアプリケーションプログラム毎に手動でインプリメントする処理を省くことができる。また、本実施形態によれば、操作ログに関する情報を、図１に示したコンピュータ１００に読込む操作ログ読込プログラム２６を自動的に生成することができる。このため、手動によるインプリメントを省くことができる。
また、本実施形態は、操作ログ読込プログラム２６を自動的に生成することにより、コンピュータ１００に対して行われたユーザの操作を容易に、かつ正確に再現することができる。このため、プログラムの問題点の解析時間を短縮することができる。
【００３０】
（プログラムの検証）
次に、以上説明したデバッグ支援装置を使ってプログラムのバグを抽出する処理を説明する。図１１は、プログラムのバグを抽出する処理を説明するためのフローチャートである。図１に示した操作ログ読込部３３Ｂは、図１に示したコンピュータ１００に操作ログＬ１を読込む（ステップＳ１１１）。
操作ログＬ１は、コンピュータ上で以前にプログラムを動作させた場合に出力され、図１に示した操作ログ保存部３３Ａに保存された操作ログである。操作ログＬ１が読込まれた結果、対象となる関数（対象関数）が呼出される（ステップＳ１１２）。対象関数が呼出された後、図１に示したデバッグ実行部６０が、文法的なＥｒｒｏｒが発生したか否かを判断する（ステップＳ１１３）。
【００３１】
デバッグ実行部６０は、Ｅｒｒｏｒが発生した場合（ステップＳ１１３：Ｙｅｓ）、この処理が非正常（ＮＧ）であると判定する（ステップＳ１２０）。判定の結果は、判定結果のログ情報として、表示装置１０または出力装置５０に出力される（ステップＳ１１７）。この際、ＮＧと判定された処理を一覧表（ＮＧ一覧）にして表示するようにしてもよい。
【００３２】
さらに、デバッグ実行部６０は、この処理が含まれるトランザクション全体においてＥｒｒｏｒが発生していないか否か判断する（ステップＳ１１８）。トランザクション全体でＥｒｒｏｒが発生していなければ（ステップＳ１１８：Ｙｅｓ）、処理は終了される。
ステップＳ１１３において、Ｅｒｒｏｒが発生していないと判断された場合（ステップＳ１１３：Ｎｏ）、対象関数を呼出した処理の戻り値がデバッグ実行部６０に取得される（ステップＳ１１４）。デバッグ実行部６０は、操作ログＬ２を読込み、読込まれた操作ログＬ２を戻り値と比較する。
【００３３】
操作ログＬ２は、操作ログＬ１においてＥｒｒｏｒが発生した処理の出力パラメータを正常な値に修正した操作ログである。デバッグ実行部６０は、ステップＳ１１４において取得された戻り値が、操作ログＬ２中の対応する戻り値と一致した場合（ステップＳ１１５：一致）、呼出された関数の処理が正常に行われる（ＯＫ）と判定する（ステップＳ１１６）。判定の結果は、表示装置１０または出力装置５０に出力される（ステップＳ１１７）。
【００３４】
そして、この処理が含まれるトランザクション全体においてＥｒｒｏｒが発生していないか否か判断する（ステップＳ１１８）。トランザクション全体でＥｒｒｏｒが発生していなければ（ステップＳ１１８：Ｙｅｓ）、処理は終了される。
一方、ステップＳ１１５において、戻り値が操作ログＬ２の対応する戻り値と一致しない場合（ステップＳ１１５：不一致）、デバッグ実行部６０は、呼出された関数の処理が非正常（ＮＧ）であると判定する（ステップＳ１１９）。判定の結果は、表示装置１０または出力装置５０に出力される（ステップＳ１１７）。
【００３５】
以上の処理により、本実施形態は、プログラムのうち、修正された箇所のみならず、修正によって起こる他の箇所のデグレード（degrade）試験も実行することができる。また、自動的にプログラムの「ＯＫ」、「ＮＧ」を判定できるので、バグ発生の確認作業にかかる時間を短縮することができる。なお、以上の処理において、出力パラメータの修正は、ユーザによって行われる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態のデバッグ支援装置を説明するための機能ブロック図である。
【図２】本発明の一実施形態のデバッグの対象となっているプログラムのソフトウェア構造を説明するための図である。
【図３】図１に示したソフトウェア設計情報を説明するための図である。
【図４】図１に示した操作ログ保存部を説明するための図である。
【図５】図１に示した操作ログ出力プログラムを説明するための図である。
【図６】本発明の一実施形態において、保存される操作ログを例示した図である。
【図７】本発明の一実施形態における、保存された操作ログの読込みを説明するための図である。
【図８】図１に示した操作ログ出力プログラムを作成するための処理を説明するためのフローチャートである。
【図９】本発明の一実施形態の出力モジュールが書込まれたソースファイルを例示した図である。
【図１０】図１に示した操作ログ読込プログラムを作成するための処理を説明するためのフローチャートである。
【図１１】本発明の一実施形態のプログラムのバグを抽出する処理を説明するためのフローチャートである。
【図１２】本発明の従来技術に相当する構成を示した図である。
【符号の説明】
【００３７】
１０  表示装置
２０  記憶装置
２１  ソースファイル
２２  ソフトウェア設計情報
２２Ａ  関数情報
２２Ｂ  引数情報
２２Ｃ  引数入出力情報
２３  テンプレートソースファイル
２４  操作ログ出力プログラム
２４Ｂ  ライブラリ部
２５  操作ログ
２６  操作ログ読込プログラム
３０  システム本体
３１  ソフトウェア設計情報生成部
３２  ソフトウェア自動生成部
３２Ａ  操作ログ出力モジュール生成部
３２Ｂ  操作ログ読込モジュール生成部
３３  操作ログ再現部
３３Ａ  操作ログ保存部
３３Ｂ  操作ログ読込部
３３ＡＡ  操作ログ制御プログラム
３３ＡＢ  制御ファイル
４０  入力装置
５０  出力装置
６０  デバッグ実行部
１００  コンピュータ
【図１】
2010033170.tif 000003
【図２】
2010033170.tif 000004
【図３】
2010033170.tif 000005
【図４】
2010033170.tif 000006
【図５】
2010033170.tif 000007
【図６】
2010033170.tif 000008
【図７】
2010033170.tif 000009
【図８】
2010033170.tif 000010
【図９】
2010033170.tif 000011
【図１０】
2010033170.tif 000012
【図１１】
2010033170.tif 000013
【図１２】
2010033170.tif 000014