JP4701025B2 - デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム - Google Patents

デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム Download PDF

Info

Publication number
JP4701025B2
JP4701025B2 JP2005200661A JP2005200661A JP4701025B2 JP 4701025 B2 JP4701025 B2 JP 4701025B2 JP 2005200661 A JP2005200661 A JP 2005200661A JP 2005200661 A JP2005200661 A JP 2005200661A JP 4701025 B2 JP4701025 B2 JP 4701025B2
Authority
JP
Japan
Prior art keywords
state
event
unexpected
device software
microcomputer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005200661A
Other languages
English (en)
Other versions
JP2007018378A (ja
Inventor
浩祐 許斐
智敬 曽田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTERNATIONAL LABORATORY CORPORATION
Original Assignee
INTERNATIONAL LABORATORY CORPORATION
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INTERNATIONAL LABORATORY CORPORATION filed Critical INTERNATIONAL LABORATORY CORPORATION
Priority to JP2005200661A priority Critical patent/JP4701025B2/ja
Publication of JP2007018378A publication Critical patent/JP2007018378A/ja
Application granted granted Critical
Publication of JP4701025B2 publication Critical patent/JP4701025B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラムおよびデバッグ支援ホストプログラムに関し、特に、網羅的なテストケースを自動生成し、もってデバッグ効率および試験品質を向上することができるデバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラムおよびデバッグ支援ホストプログラムに関するものである。
DVDレコーダや携帯オーディオ機器などに組み込まれて使用されるマイコン機器ソフトウェアのデバッグ・テストを行う場合には、様々なイベントに対する動作を試験する必要がある。
図9は、マイコン機器ソフトウェアの従来のデバッグ・テスト手法を説明するための説明図である。同図に示すように、マイコン機器ソフトウェアのデバッグ・テストを行う場合には、開発者は、外部仕様書やSW(ソフトウェア)設計書を元にテストパターンを生成し、生成したテストパターンに基づいて試験プログラムを作成する。ここで、テストパターンとは、イベントの組み合わせとそれに基づくマイコン機器ソフトウェアの状態の遷移を示す。
そして、開発者は、試験プログラムを用いてデバッグ・テスト対象のタスクをマイコンシステムで実行し、H/W(ハードウェア)デバッガのトレース機能などを用いてデバッグ・テスト対象の状態確認を行うことによってデバッグ・テストを行っている。
ただし、全てのイベントの組み合わせを網羅的に試験しようとするとテストケースが膨大になるため、実際には、開発者は、いくつかの組み合わせを抜き出して試験を行っている。
なお、特許文献1には、組み込み用ソフトウェアをデバッグする場合に、組み込み用ソフトウェアがアクセスするデバイスのエミュレータをホストオペレーティングシステム上に構築し、ホストオペレーティングシステム上で組み込み用ソフトウェアをデバッグする手法が記載されている。
特開2005−18485号公報
しかしながら、試験対象プログラムをマイコンシステムを用いて実行するかホストオペレーティングシステム上で実行するかにかかわらず、開発者がテストケースを作成することとすると、テストケースの妥当性が開発者のスキルに依存し、テストケースに抜けが発生し易く、試験品質が低下するという問題がある。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、網羅的なテストケースを自動生成し、もってデバッグ効率および試験品質を向上することができるデバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラムおよびデバッグ支援ホストプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願発明に係るデバッグ支援システムは、マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援システムであって、前記マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いて該マイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、該生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成するデバッグ支援ホスト装置と、前記デバッグ支援ホスト装置により生成された状態ごとの想定内イベントおよび想定外イベントを用いて前記状態遷移パスの各状態で想定外イベントを発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行するデバッグ支援ターゲット装置と、を備えたことを特徴とする。
の発明によれば、マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いてマイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づくマイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成し、生成した状態ごとの想定内イベントおよび想定外イベントを用いて状態遷移パスの各状態で想定外イベントを発行した後に想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、想定外イベントに対するテストケースを自動生成してデバッグすることができる。
また、本願発明に係るデバッグ支援システムは、上記の発明において、前記デバッグ支援ターゲット装置は、前記状態遷移パスの状態ごとに、該状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行することを特徴とする。
の発明によれば、状態遷移パスの状態ごとに、その状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、網羅的なテストケースを自動生成してデバッグすることができる。
また、本願発明に係るデバッグ支援システムは、上記の発明において、前記デバッグ支援ターゲット装置は、前記マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに状態遷移を通知することを特徴とする。
の発明によれば、マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに状態遷移を通知するよう構成したので、デバッグ支援ホスト装置でイベントおよび状態遷移のログを記録することができる。
また、本願発明に係るデバッグ支援方法は、マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援方法であって、前記マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いて該マイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、該生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成するテストパターン生成工程と、前記テストパターン生成工程により生成された状態ごとの想定内イベントおよび想定外イベントを用いて前記状態遷移パスの各状態で想定外イベントを発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行するテスト実行工程と、を含んだことを特徴とする。
の発明によれば、マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いてマイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づくマイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成し、生成した状態ごとの想定内イベントおよび想定外イベントを用いて状態遷移パスの各状態で想定外イベントを発行した後に想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、想定外イベントに対するテストケースを自動生成してデバッグすることができる。
また、本願発明に係るデバッグ支援方法は、上記の発明において、前記テスト実行工程は、前記状態遷移パスの状態ごとに、該状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行することを特徴とする。
の発明によれば、状態遷移パスの状態ごとに、その状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、網羅的なテストケースを自動生成してデバッグすることができる。
また、本願発明に係るデバッグ支援方法は、上記の発明において、前記テスト実行工程は、前記マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに状態遷移を通知することを特徴とする。
の発明によれば、マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに状態遷移を通知するよう構成したので、デバッグ支援ホスト装置でイベントおよび状態遷移のログを記録することができる。
また、本願発明に係るデバッグ支援ターゲットプログラムは、マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアを実行して該マイコン機器ソフトウェアのデバッグを支援するデバッグ支援ターゲットプログラムであって、前記マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いて該マイコン機器ソフトウェアの動作を記述した状態遷移表から生成された、イベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスの状態ごとに、該状態で発生する想定外イベントを発行して前記マイコン機器ソフトウェアを実行する想定外イベント発行手順と、前記想定外イベント発行手順により想定外イベントが発行された後に該状態で発生する想定内イベントを発行して前記マイコン機器ソフトウェアを実行する想定内イベント発行手順と、をコンピュータに実行させることを特徴とする。
の発明によれば、マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いてマイコン機器ソフトウェアの動作を記述した状態遷移表から生成された、イベントに基づくマイコン機器ソフトウェアの状態遷移を示す状態遷移パスの状態ごとに、その状態で発生する想定外イベントを発行してマイコン機器ソフトウェアを実行し、想定外イベントを発行した後にその状態で発生する想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、想定外イベントに対して自動生成されたテストケースを用いてデバッグすることができる。
また、本願発明に係るデバッグ支援ターゲットプログラムは、上記の発明において、前記想定外イベント発行手順は、前記状態遷移パスの状態ごとに、該状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行することを特徴とする。
の発明によれば、状態遷移パスの状態ごとに、その状態で発生する想定外イベント全てを一つずつ順番に発行した後に想定内イベントを発行してマイコン機器ソフトウェアを実行するよう構成したので、想定外イベントに対して網羅的に生成されたテストケースを用いてデバッグすることができる。
また、本願発明に係るデバッグ支援ターゲットプログラムは、上記の発明において、前記想定外イベント発行手順は、前記マイコン機器ソフトウェアの実行をモニタするモニタプログラムに想定外イベントの発行を通知し、前記想定内イベント発行手順は、前記マイコン機器ソフトウェアの実行をモニタするモニタプログラムに想定内イベントの発行を通知することを特徴とする。
の発明によれば、マイコン機器ソフトウェアの実行をモニタするモニタプログラムに想定外イベントおよび想定内イベントの発行を通知するよう構成したので、モニタプログラムでイベントのログを記録することができる。
また、本願発明に係るデバッグ支援ホストプログラムは、マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援ホストプログラムであって、前記マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いて該マイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成する状態遷移パス生成手順と、前記マイコン機器ソフトウェアのテストに使用される想定内イベントおよび想定外イベントを前記状態遷移パス生成手順により生成された状態遷移パスの状態ごとに生成する状態毎イベント生成手順と、をコンピュータに実行させることを特徴とする。
の発明によれば、マイコン機器ソフトウェアの特定の状態で発生する想定内イベントと状態にかかわらず発生する想定外イベントとを用いてマイコン機器ソフトウェアの動作を記述した状態遷移表からイベントに基づくマイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成し、マイコン機器ソフトウェアのテストに使用される想定内イベントおよび想定外イベントを、生成した状態遷移パスの状態ごとに生成するよう構成したので、想定外イベントに対して網羅的にテストケースを生成してデバッグすることができる。
本願発明によれば、想定外イベントに対するテストケースを自動生成してデバッグするので、デバッグ効率および試験品質を向上することができるという効果を奏する。
また、本願発明によれば、網羅的なテストケースを自動生成してデバッグするので、デバッグ効率および試験品質を向上することができるという効果を奏する。
また、本願発明によれば、デバッグ支援ホスト装置でイベントおよび状態遷移のログを記録するので、開発者はログを用いてマイコン機器ソフトウェアの動作を確認することができるという効果を奏する。
また、本願発明によれば、想定外イベントに対して自動生成されたテストケースを用いてデバッグするので、デバッグ効率および試験品質を向上することができるという効果を奏する。
また、本願発明によれば、想定外イベントに対して網羅的に生成されたテストケースを用いてデバッグするので、デバッグ効率および試験品質を向上することができるという効果を奏する。
また、本願発明によれば、モニタプログラムでイベントのログを記録するので、開発者はログを用いてマイコン機器ソフトウェアの動作を確認することができるという効果を奏する。
また、本願発明によれば、想定外イベントに対して網羅的にテストケースを生成してデバッグするので、デバッグ効率および試験品質を向上することができるという効果を奏する。
以下に添付図面を参照して、この発明に係るデバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラムおよびデバッグ支援ホストプログラムの好適な実施例を詳細に説明する。
まず、本実施例に係るデバッグ支援システムの概念について説明する。図1は、本実施例に係るデバッグ支援システムの概念を説明するための説明図である。同図に示すように、本実施例に係るデバッグ支援システムは、デバッグ支援ホストプログラム100と、デバッグ支援ターゲットプログラム200とから構成される。
デバッグ支援ホストプログラム100は、マイコン機器ソフトウェアの動作を状態とイベントの組み合わせで表した状態遷移表からテストパターンを生成する。ここで、本実施例に係るデバッグ支援システムでは、イベントは、特定の状態で発生する想定内イベントと、状態にかかわらず発生する想定外イベント(キー入力や割り込みなど)に分けて状態遷移表に記述される。したがって、デバッグ支援ホストプログラム100は、各状態において発生するイベントを想定内イベントと想定外イベントに分けてテストパターンを生成する。
そして、デバッグ支援ターゲットプログラム200は、デバッグ支援ホストプログラム100によって状態ごとに想定内イベントと想定外イベントに分けられたイベントをデバッグ・テスト対象であるタスクAの状態に対応して発行し、タスクAの状態を遷移させる。このとき、デバッグ支援ターゲットプログラム200は、各状態で想定内イベントを発行する前に想定外イベントを全て発行する。
すなわち、デバッグ支援ターゲットプログラム200は、想定内イベントを発行してタスクAの状態を遷移させることを基本としながらも、各状態で想定内イベントの発行前に想定外イベントを全て発行することによって、テストケースの漏れをなくすこととしている。
なお、デバッグ支援ターゲットプログラム200は、発行したイベントとタスクAの状態遷移をデバッグ支援ホストプログラム100に通知し、デバッグ支援ホストプログラム100が通知されたイベントおよび状態遷移をログとして記録する。したがって、開発者は、デバッグ支援ホストプログラム100が記録したログを元に状態遷移の正しさや想定外イベントに対する動作を確認することができる。また、デバッグ支援ターゲットプログラム200は、イベントログを用いてイベントの発行を再現することもできる。
このように、本実施例に係るデバッグ支援システムでは、イベントを想定内イベントと想定外イベントに分け、各状態で想定内イベントを発行してタスクAの状態を遷移させる動作確認を基本とし、想定内イベント発生前の想定外イベントに対するタスクAの動作確認を加えることによって、漏れのない効率的なデバッグを可能としている。
次に、本実施例に係るデバッグ支援システムの構成について説明する。図2は、本実施例に係るデバッグ支援システムの構成を示す機能ブロック図である。同図に示すように、このデバッグ支援システムは、パソコン10上で動作するデバッグ支援ホストプログラム100と、マイコンシステム20上で動作するデバッグ支援ターゲットプログラム200とから構成される。
デバッグ支援ホストプログラム100は、テストパターン生成部110と、モニタ部120とを有し、パソコン10をデバッグ支援ホスト装置として機能させる。また、デバッグ支援ターゲットプログラム200は、イベント発行部210を有し、マイコンシステム20をデバッグ支援ターゲット装置として機能させる。
テストパターン生成部110は、状態遷移表1を読み込んでテストパターンを生成する処理部である。具体的には、このテストパターン生成部110は、状態遷移表1から標準モデルを作成し、標準モデルを元に状態遷移パスを生成して状態遷移パスファイル11に出力する。また、このテストパターン生成部110は、全ての状態遷移パスを網羅する形で、状態ごとに想定内イベントを生成して想定内イベントファイル12に出力し、状態ごとに想定外イベントを生成して想定外イベントファイル13に出力する。すなわち、このテストパターン生成部110は、テストパターンとして、状態遷移パスならびに状態ごとの想定内イベントおよび想定外イベントを生成する。
図3は、状態遷移表1の一例を示す図である。同図に示すように、この状態遷移表1は、状態「ST1」〜「ST5」それぞれに対して発生するイベントと、イベントが発生した場合に処理を行う関数と、遷移する状態と、遷移した状態で想定する次イベントとを定義する。また、イベントは想定内イベント(Sequential)と想定外イベント(Interruptive)に分けられる。
例えば、状態「ST2」では、想定内イベント「EV3」が発生し、このイベントが発生すると関数「CmdF」を実行し、状態「ST4」に遷移し、状態「ST4」では想定内イベント「EV4」の発生が想定される。なお、イベント「EV_KEY1」および「EV_KEY2」は、状態「ST1」で発生する想定内イベントであるが、想定外イベントとなりえることから、イベント欄では想定外イベントと定義される。
図4は、図3に示した状態遷移表1からテストパターン生成部110が生成する標準モデルを示す図である。同図に示すように、標準モデルとは、初期の状態「ST1」から発生するイベントと遷移先の状態を順に接続して得られる状態−イベントモデルである。
テストパターン生成部110は、この標準モデルを元にして
(状態遷移パス1)ST1−(EV_KEY1)→ST2−(EV3)→ST4−(EV4)→ST1
(状態遷移パス2)ST1−(EV_KEY2)→ST3−(EV3)→ST5−(EV4)→ST1
を抽出する。
そして、テストパターン生成部110は、これらの状態遷移パスを元に、状態ごとに想定内イベントと想定外イベントを生成する。例えば、状態「ST1」に対しては、「EV_KEY1」および「EV_KEY2」を想定内イベントとして生成し、状態「ST2」および状態「ST3」に対しては、「EV_KEY1」および「EV_KEY2」を想定外イベントとして生成し、「EV3」を想定内イベントとして生成する。
同様に、状態「ST4」および状態「ST5」に対しては、「EV_KEY1」および「EV_KEY2」を想定外イベントとして生成し、「EV4」を想定内イベントとして生成する。
図2に戻って、デバッグ支援ターゲットプログラム200のイベント発行部210は、テストパターン生成部110により生成されたテストパターンに基づいてデバッグ対象タスク21にイベントを発行する処理部である。
具体的には、このイベント発行部210は、状態遷移パスファイル11、想定内イベントファイル12および想定外イベントファイル13を用いて、状態遷移パスの各状態に対応するイベントを発行することによってデバッグ対象タスク21のうちのイベントに対応した処理を行う関数を起動し、デバッグ対象タスク21から関数処理結果を受け取って状態遷移を行う動作を繰り返す。
このイベント発行部210は、状態遷移パスに基づいて各状態でイベントを発行する場合に、まず、その状態で発行できる想定外イベント全てを順に一つずつ発行し、その後、状態遷移パスの状態を遷移させる想定内イベントを発行する。
このイベント発行部210が、状態遷移パスに基づいて各状態でイベントを発行する場合に、まず、その状態で発行できる想定外イベント全てを順に一つずつ発行し、その後、状態遷移パスの状態を遷移させる想定内イベントを発行することによって、想定外イベントの発生を網羅したデバッグを行うことができる。
また、このイベント発行部210は、発行したイベントと状態遷移をデバッグ支援ホストプログラム100のモニタ部120に通知する。また、このイベント発行部210は、モニタ部120が作成するイベントログファイル14を用いて、モニタ部120が収集したイベントを再生することもできる。
デバッグ支援ホストプログラム100のモニタ部120は、イベント発行部210からイベントおよび状態遷移の通知を受け取り、デバッグ対象タスク21に対して発行されたイベントおよびデバッグ対象タスク21の状態を管理し、ログとしてログファイル14に記録する処理部である。開発者は、このログを元に状態遷移の正しさや想定外イベントに対するデバッグ対象タスク21の動作を確認することができる。
次に、イベント発行部210の処理手順について説明する。図5は、イベント発行部210の処理手順を示すフローチャートである。同図に示すように、このイベント発行部210は、状態遷移パスファイル11から状態遷移パスを選択し(ステップS101)、デバッグ対象タスク21に最初の状態に対応するイベントを発行する(ステップS102)。
このとき、想定外イベントファイル13に状態に対応する想定外イベントがある場合には、想定外イベントを順に発生し、全ての想定外イベントを発行した後に想定内イベントを発行する。また、イベントを発行するごとにデバッグ支援ホストプログラム100のモニタ部120にイベントの発行を通知する。
そして、想定内イベントによって起動された関数から状態遷移完了通知を取得すると、モニタ部120に状態遷移を通知し(ステップS103)、遷移先の状態に対応するイベントがあるか否かを判定する(ステップS104)。その結果、イベントがある場合には、ステップS102に戻って遷移先の状態に対応するイベントを発行する。
一方、遷移先の状態に対応するイベントがない場合には、選択した状態遷移パスの実行が終了した場合であるので、状態遷移パスファイル11に次の状態遷移パスがあるか否かを判定し(ステップS105)、状態遷移パスがある場合にはステップS101に戻って次の状態遷移パスを選択し、状態遷移パスがない場合には、処理を終了する。
このように、このイベント発行部210が各状態に対応する想定内イベントを発行する前に全ての想定外イベントを発行することによって、想定外イベントに対するデバッグ対象タスク21の動作を網羅的に試験することができる。
次に、モニタ部120の処理手順について説明する。図6は、モニタ部120の処理手順を示すフローチャートである。同図に示すように、このモニタ部120は、イベント発行部210からメッセージを受け取ると(ステップS201、Yes)、受け取ったメッセージがイベント発行通知であるか否かを判定し(ステップS202)、イベント発行通知である場合には、イベント発行ログを作成してログファイル14に記録し(ステップS203)、ステップS201に戻って次のメッセージを待つ。
一方、受け取ったメッセージがイベント発行通知でない場合には、状態遷移通知であるか否かを判定し(ステップS204)、状態遷移通知である場合には、状態遷移ログを作成してログファイル14に記録し(ステップS205)、ステップS201に戻って次のメッセージを待ち、状態遷移通知でない場合には、ステップS201に戻って次のメッセージを待つ。
このように、このモニタ部120がイベント発行ログおよび状態遷移ログをログファイル14に記録することによって、開発者はログファイル14を用いてデバッグ対象タスク21の動作を確認することができる。なお、このモニタ部120の処理は、デバッグ支援ターゲットプログラム200からの終了通知を受け取ると処理を終了する。
次に、本実施例に係るデバッグ支援ホストプログラム100を実行するパソコン10およびデバッグ支援ターゲットプログラム200を実行するマイコンシステム20のハードウェア構成について説明する。
図7は、本実施例に係るデバッグ支援ホストプログラム100を実行するパソコン10のハードウェア構成を示す機能ブロック図である。同図に示すように、このパソコン10は、RAM310と、CPU320と、HDD330と、LANインタフェース340と、入出力インタフェース350と、DVDドライブ360とを有する。
RAM310は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU320は、RAM310からプログラムを読み出して実行する中央処理装置である。
HDD330は、プログラムやデータを格納するディスク装置であり、LANインタフェース340は、パソコン10をLAN経由で他のコンピュータに接続するためのインタフェースである。
入出力インタフェース350は、マウスやキーボードなどの入力装置、表示装置およびマイコンシステム20を接続するためのインタフェースであり、DVDドライブ360は、DVDの読み書きを行う装置である。
そして、このパソコン10において実行されるデバッグ支援ホストプログラム100は、DVDに記憶され、DVDドライブ360によってDVDから読み出されてパソコン10にインストールされる。
あるいは、このデバッグ支援ホストプログラム100は、LANインタフェース340を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてパソコン10にインストールされる。
そして、インストールされたデバッグ支援ホストプログラム100は、HDD330に記憶され、RAM310に読み出されてCPU320によってデバッグ支援ホストプロセス321として実行される。
図8は、本実施例に係る被試験プログラム411を実行するマイコンシステム20のハードウェア構成を示す機能ブロック図である。ここで、被試験プログラム411とは、デバッグ支援ターゲットプログラム200とデバッグ対象タスク21が一体化されたプログラムである。すなわち、デバッグ支援ターゲットプログラム200は、デバッグ対象タスク21と一体化されたプログラムとしてマイコンシステム20で実行される。
図8に示すように、このマイコンシステム20は、RAM410と、CPU420と、ROM430と、PCインタフェース440とを有する。RAM410は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU420は、RAM410またはROM430からプログラムを読み出して実行する中央処理装置である。
ROM430は、プログラムやデータを記憶する読み出し専用メモリであり、PCインタフェース440は、マイコンシステム20をパソコン10に接続するためのインタフェースである。
そして、このマイコンシステム20において実行される被試験プログラム411は、ROM430に記憶されたプログラムによりPCインタフェース440を介してパソコン10からダウンロードされてRAM410に記憶される。そして、この被試験プログラム411は、CPU420によってRAM410から読み出されて実行される。
上述してきたように、本実施例では、デバッグ支援ホストプログラム100のテストパターン生成部110が状態遷移表1から状態遷移パスならびに状態遷移パスの各状態に対する想定内イベントおよび想定外イベントをテストパターンとして生成し、デバッグ支援ターゲットプログラム200のイベント発行部210がテストパターンを用いて状態遷移パスの各状態の想定外イベントを想定内イベントの前に全て発行することとしたので、想定内イベントに対する動作確認を基本として、各状態における想定外イベントに対する動作確認を網羅的に行うことができる。
以上のように、本発明に係るデバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラムおよびデバッグ支援ホストプログラムは、マイコン機器ソフトウェアのデバッグ・テストに有用であり、特に、想定外のイベントに対する動作確認が重要である場合に適している。
本実施例に係るデバッグ支援システムの概念を説明するための説明図である。 本実施例に係るデバッグ支援システムの構成を示す機能ブロック図である。 状態遷移表の一例を示す図である。 図3に示した状態遷移表からテストパターン生成部が生成する標準モデルを示す図である。 イベント発行部の処理手順を示すフローチャートである。 モニタ部の処理手順を示すフローチャートである。 本実施例に係るデバッグ支援ホストプログラムを実行するパソコンのハードウェア構成を示す機能ブロック図である。 本実施例に係る被試験プログラムを実行するマイコンシステムのハードウェア構成を示す機能ブロック図である。 マイコン機器ソフトウェアの従来のデバッグ・テスト手法を説明するための説明図である。
符号の説明
1 状態遷移表
10 パソコン
11 状態遷移パスファイル
12 想定内イベントファイル
13 想定外イベントファイル
14 ログファイル
20 マイコンシステム
21 デバッグ対象タスク
100 デバッグ支援ホストプログラム
110 テストパターン生成部
120 モニタ部
200 デバッグ支援ターゲットプログラム
210 イベント発行部
310,410 RAM
320,420 CPU
321 デバッグ支援ホストプロセス
330 HDD
340 LANインタフェース
350 入出力インタフェース
360 DVDドライブ
411 被試験プログラム
430 ROM
440 PCインタフェース

Claims (6)

  1. マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援システムであって、
    前記マイコン機器ソフトウェアの特定の状態に対応付けて該状態において該マイコン機器ソフトウェアで発生したときに他の状態に遷移を引き起こすことが想定される想定内イベントが記述されるとともに、該想定内イベントのうち対応する状態以外において発したときに他の状態に遷移を引き起こさない想定内イベントが想定外イベントとして記述された状態遷移表からイベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、該生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成するデバッグ支援ホスト装置と、
    前記デバッグ支援ホスト装置により生成された状態ごとの想定内イベントおよび想定外イベントを用いて前記状態遷移パスの各状態において該状態で発生する全ての想定外イベントを発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行するデバッグ支援ターゲット装置と、
    を備えたことを特徴とするデバッグ支援システム。
  2. 前記デバッグ支援ターゲット装置は、前記マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに、該想定内イベントの発行に伴って前記マイコン機器ソフトウェアにおいて遷移した状態を通知することを特徴とする請求項1に記載のデバッグ支援システム。
  3. マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアのデバッグを支援するデバッグ支援方法であって、
    前記マイコン機器ソフトウェアの特定の状態に対応付けて該状態において該マイコン機器ソフトウェアで発生したときに他の状態に遷移を引き起こすことが想定される想定内イベントが記述されるとともに、該想定内イベントのうち対応する状態以外において発したときに他の状態に遷移を引き起こさない想定内イベントが想定外イベントとして記述された状態遷移表からイベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスを生成するとともに、該生成した状態遷移パスの各状態で発生する想定内イベントおよび想定外イベントを状態ごとに生成するテストパターン生成工程と、
    前記テストパターン生成工程により生成された状態ごとの想定内イベントおよび想定外イベントを用いて前記状態遷移パスの各状態において該状態で発生する全ての想定外イベントを発行した後に想定内イベントを発行して前記マイコン機器ソフトウェアを実行するテスト実行工程と、
    を含んだことを特徴とするデバッグ支援方法。
  4. 前記テスト実行工程は、前記マイコン機器ソフトウェアの実行をモニタするデバッグ支援ホスト装置に想定外イベントおよび想定内イベントの発行ならびに、該想定内イベントの発行に伴って前記マイコン機器ソフトウェアにおいて遷移した状態を通知することを特徴とする請求項3に記載のデバッグ支援方法。
  5. マイコンが搭載された機器に組み込まれて使用されるマイコン機器ソフトウェアを実行して該マイコン機器ソフトウェアのデバッグを支援するデバッグ支援ターゲットプログラムであって、
    前記マイコン機器ソフトウェアの特定の状態に対応付けて該状態において該マイコン機器ソフトウェアで発生したときに他の状態に遷移を引き起こすことが想定される想定内イベントが記述されるとともに、該想定内イベントのうち対応する状態以外において発したときに他の状態に遷移を引き起こさない想定内イベントが想定外イベントとして記述された状態遷移表から生成された、イベントに基づく該マイコン機器ソフトウェアの状態遷移を示す状態遷移パスの状態ごとに、該状態で発生する全ての想定外イベントを発行して前記マイコン機器ソフトウェアを実行する想定外イベント発行手順と、
    前記想定外イベント発行手順により想定外イベントが発行された後に該状態で発生する想定内イベントを発行して前記マイコン機器ソフトウェアを実行する想定内イベント発行手順と、
    をコンピュータに実行させることを特徴とするデバッグ支援ターゲットプログラム。
  6. 前記想定外イベント発行手順は、前記マイコン機器ソフトウェアの実行をモニタするモニタプログラムに想定外イベントの発行を通知し、
    前記想定内イベント発行手順は、前記マイコン機器ソフトウェアの実行をモニタするモニタプログラムに想定内イベントの発行ならびに、該想定内イベントの発行に伴って前記マイコン機器ソフトウェアにおいて遷移した状態を通知することを特徴とする請求項5に記載のデバッグ支援ターゲットプログラム。
JP2005200661A 2005-07-08 2005-07-08 デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム Active JP4701025B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005200661A JP4701025B2 (ja) 2005-07-08 2005-07-08 デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005200661A JP4701025B2 (ja) 2005-07-08 2005-07-08 デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム

Publications (2)

Publication Number Publication Date
JP2007018378A JP2007018378A (ja) 2007-01-25
JP4701025B2 true JP4701025B2 (ja) 2011-06-15

Family

ID=37755480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005200661A Active JP4701025B2 (ja) 2005-07-08 2005-07-08 デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム

Country Status (1)

Country Link
JP (1) JP4701025B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5120565B2 (ja) * 2009-02-20 2013-01-16 三菱自動車工業株式会社 ソフトウェア試験方法
JP5164919B2 (ja) * 2009-05-13 2013-03-21 日本電信電話株式会社 テストデータ生成方法及び装置及びプログラム
JP5164920B2 (ja) * 2009-05-13 2013-03-21 日本電信電話株式会社 テストデータ生成方法及び装置及びプログラム
JP5164918B2 (ja) * 2009-05-13 2013-03-21 日本電信電話株式会社 テストデータ生成方法及び装置及びプログラム
JP5321286B2 (ja) * 2009-06-26 2013-10-23 富士通株式会社 プログラムモデル検査方法、プログラムモデル検査プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218804A (ja) * 1996-02-08 1997-08-19 Casio Comput Co Ltd ソフトウエア評価システム
JPH11212825A (ja) * 1998-01-28 1999-08-06 Sharp Corp 組み込みシステムテスト方法及び組み込みシステムテスト装置並びに記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218804A (ja) * 1996-02-08 1997-08-19 Casio Comput Co Ltd ソフトウエア評価システム
JPH11212825A (ja) * 1998-01-28 1999-08-06 Sharp Corp 組み込みシステムテスト方法及び組み込みシステムテスト装置並びに記録媒体

Also Published As

Publication number Publication date
JP2007018378A (ja) 2007-01-25

Similar Documents

Publication Publication Date Title
US8468501B2 (en) Partial recording of a computer program execution for replay
WO2013007068A1 (zh) 一种面向硬件设备功能的自动测试系统及方法
CN103049371A (zh) Android应用程序测试方法和测试装置
US20050160405A1 (en) System and method for generating code coverage information
JP4701025B2 (ja) デバッグ支援システム、デバッグ支援方法、デバッグ支援ターゲットプログラム
JP2006185211A (ja) プログラム解析装置、テスト実行装置、その解析方法及びプログラム
US7721250B2 (en) System and method for interactive and integrated software development process and phases
US11113182B2 (en) Reversible debugging in a runtime environment
Alves et al. A method to localize faults in concurrent C programs
JP2008282308A (ja) 協調検証装置、協調検証方法、協調検証プログラム
KR101505258B1 (ko) 프로브리스 트레이스 캡처를 갖는 아키텍처 실행의 재생
JP2014063415A (ja) テストケース自動生成装置及びテストケース自動生成プログラム
US8997048B1 (en) Method and apparatus for profiling a virtual machine
US11074153B2 (en) Collecting application state in a runtime environment for reversible debugging
Höller et al. Evaluation of diverse compiling for software-fault detection
JP5545133B2 (ja) 静的解析処理システム、方法、およびプログラム
JP2013003633A (ja) 故障再現装置、故障再現方法
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
JP2014106770A (ja) 型チェック装置、型チェック方法および型チェックプログラム
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP4594704B2 (ja) プログラム開発支援システム、プログラムおよび記録媒体
Kebianyor et al. Towards stateflow model aware debugging with lldb
KR101401296B1 (ko) 메시지 로깅 기반 프로그램 테스팅 시스템 및 방법
US8898636B1 (en) Method and apparatus for testing an application running in a virtual machine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

R150 Certificate of patent or registration of utility model

Ref document number: 4701025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250