カバレッジ機能

ソフトウェアの大規模化と複雑化が進んでいる組込み機器開発の現場では、テストの簡易化と効率化が求められています。 そこで、実機でのカバレッジ測定ができるJTAGエミュレータなら、開発者がデバッグとテストを繰り返して効率の良いソフトウェア開発が行えます。

カバレッジの種類について

C0カバレッジ(命令網羅率)

アセンブラの命令コードにおいて、実行したことをあらわす値です。
すべての命令が実行されたときに100%になります。
問題点:条件成立時の検証が行なえない。

C1カバレッジ(分岐網羅率)

アセンブラの分岐命令コードにおいて、分岐条件が成立したことをあらわす値です。
一つの条件分岐命令に着目すると、条件不成立の有無は問わず、条件成立が実行されたときに100%になります。
問題点:条件不成立時の検証が行なえない。

C2カバレッジ(条件網羅率)

アセンブラの分岐命令コードにおいて、分岐条件が成立ならびに不成立したことをあらわす値です。
一つの条件分岐命令に着目すると、条件が成立と不成立の両方が実行されたときに100%になり、いずれか一方しか実行されていないときは50%になります。
C2カバレッジはC0カバレッジとC1カバレッジの結果から導くことができ、条件の成立時と不成立時の両方を検証することができます。

カバレッジ機能

ソース・プログラムを変更することなく、実機での測定が可能

一般的なカバレッジ測定はソース・プログラムの変更を必要とする場合がありますが、JTAGエミュレータを用いたカバレッジ測定ではCPUのトレース機能を活用して実機で動作しているプログラムをそのままの状態で測定することができます。その為、開発者はソフトウェアのテスト評価を効率良く行うことができます。

カバレッジの測定結果を関数毎に表示(モジュール・カバレッジ)

C0/C1カバレッジの測定結果を関数毎に集計して比率を値とグラフで表示します。関数名からコード・ウィンドウの表示を行ってコードレビューで正当性を判断するなどして、コードの検証を深めていくことができます。また、モジュール・カバレッジの測定結果をレポートとして出力することでドキュメントのしての活用ができます。

カバレッジの測定結果を関数毎に表示(モジュール・カバレッジ)

カバレッジの測定エリアを一目で確認(エリア・カバレッジ)

C0カバレッジの測定結果を測定エリアに設定した領域毎に表示します。実行していないプログラム部分を簡単に見つけることができます。

カバレッジの測定エリアを一目で確認(エリア・カバレッジ)

カバレッジの測定結果をコード・ウィンドウで詳細に確認

C0/C1カバレッジの測定結果をコード・ウィンドウのステータス・フィールドに表示します。ソースコードと逆アセンブルコードでの参照でより詳細な確認が可能です。


実行した事を示すC0カバレッジのマーク実行した事を示すC0カバレッジのマークです。
分岐した事を示すC1カバレッジのマーク分岐した事を示すC1カバレッジのマークです。
条件分岐で、分岐していない事を示すC1カバレッジのマーク条件分岐で、分岐していない事を示すC1カバレッジのマークです。
カバレッジの除外に設定されたコード行を示すマークカバレッジの除外に設定されたコード行を示すマークです。

カバレッジの測定結果をコード・ウィンドウで詳細に確認

カバレッジの測定結果をレポート出力

モジュール・カバレッジの測定結果をデバッガ画面やテキスト形式かCSV形式のファイルに出力することができます。CSV形式のファイルは表計算ソフトでビジュアル的なレポートを作成する場合に便利な形式です。また、C1カバレッジに対応しているCPUではC2カバレッジの結果もレポート出力されます。

カバレッジの測定結果をレポート出力