導入事例

eForce

イー・フォース株式会社
Ethernetの異常動作をTRQerSで可視化、顧客が抱えるトラブルを迅速に解決

OKIデータ

株式会社沖データ
“初めて”の不安をTRQerSで払拭、
複合機ファームの性能チューニングに活用

FUJITSU TEN

富士通テン株式会社
エンジンECUのマルチコア化には動的解析が有効、性能に影響を与える排他制御処理を速やかに検出

日立オートモティブシステムズ株式会社

日立オートモティブシステムズ株式会社
運転支援カメラのファームウェアを動的解析、マルチコアへの移行に伴い検証力を強化

CASIO

カシオ計算機株式会社
実機を動かしながら人の耳でチェック、電子楽器の性能改善に動的解析は不可欠
Comming Soon

 

Comming Soon
 
  • 詳しく見る

多くの企業様に採用いただいています

テスト工程でこのようなことが起きていませんか?

TRQerAMTRQerAMなら解決できます。

TRQerS / TRQerAMは、テストや障害解析、パフォーマンス測定(性能測定)に役立つ動的テストツール/動的解析ツールです。
実機上でプログラムを“動的に”実行しながらトレース情報を取得し、実行履歴やタスク遷移を、関数/スレッドチャートの形で表示します。これにより、ソフトウェア開発者はシステム全体の挙動を直感的に把握できます。システムを実行せず、“静的に”プログラムの記述や構造を分析する手法(静的解析)とは異なり、細かいタイミングのずれに起因する異常動作などの不具合解析にも有効です。さらにTRQerS / TRQerAMは、コードカバレッジ測定にも対応しています。C0(statement coverage)、C1(decision coverage)、C2(codition coverage)を計測し、検証もれを防ぎます。
 TRQerS / TRQerAMには、専用コンパイラ版と汎用コンパイラ版の2種類があります。前者はオリジナルのソースコード(C/C++/C#)に変更を加えません。後者はソースコードを変更しますが、コンパイラやIDE環境に依存しないという利点があります。トレース情報の格納場所については、SDカード、非同期バス、GPIOなどを介してトレース情報を逐次外部へ取り出すハードウェアモデルと、ユーザシステム上のメモリに格納し、ターゲットボードの改造が不要なソフトウェアモデルを用意しています。


設置場所に困らない小型サイズ スタンドアローン動作(PC不要)

8時間以上の長時間トレースを実現 取外し・入替え可能なメモリカードタイプ

トレース収集中のログファイルにマーキング可能な「リアルタイムマーカー機能」

1つのツールで3系統の同時トレースが可能関数・OS+2系統のデータトレースを同一時間軸で可視化

About TRQerAMTRQerAMでできること

動的テストとデバッグをマルチサポート

システム検証テスト

テスターが不正を認識した時にプログラム実行ログにマーク。
後で高速検索し不具合箇所を特定できます。

詳しく見る

システムデバッグ

システムを動作させたまま長時間に渡りソフトウェアの実行状態をトレース記録。
稀にしか発生しない挙動や不具合を捉えます。

詳しく見る

通信信号と関数データを同一時間軸で可視化

開発を効率化し、品質確保をサポート

関数と通信信号を同一時間軸で可視化

関数とスレッド、タスク、プロセス変数値の遷移情報に加えて、2系統のコマンドの実行履歴を同一時間軸で可視化できます。

トレースデータに目印を付ける

不具合が発生したらボタンをプッシュすることでプログラムのどの関数を実行している時問題が発生したのか容易に探し出すことを可能にします。

未実行関数をカバレッジ計測で特定

実動作での関数の実行状況を記録。システムテスト時のテスト条件の見直しや不必要な関数の特定に役立ちます。
また、当社の独自テクノロジーにより低オーバヘッドを実現。再現性への影響が極めて低く、解析時間が短縮可能です。

ボトルネックを数値化、グラフ表示しパフォーマンス改善に活用

スレッド、プロセス、または関数単位で処理時間、CPU占有率の割合(%)、実行関数を一覧・グラフで表示が可能です。
テスト工程でチューニングポイントを素早く発見できます。

Features機能

豊富な機能でソフトウェアの品質・性能を向上

目的別 基本機能

メモリ関連の解析(メモリリーク解析)
メモリリーク発生個所を特定
メモリ消費状況を確認

長時間動作させていると、メモリ不足が原因で動作が遅くなったり動作が不安定になったりすることがあります。
「メモリチャート」でメモリの消費状況を確認した時、メモリ使用量が増加していく傾向が見られる場合、メモリリークが発生している可能性があります。

メモリ解析を実行

メモリ解析機能を実行すると、「確保して解放されていない」など、メモリリークが疑われるメモリ確保処理に関する情報を取得することができます。(例では57カ所が検出されています)
[メモリリークリスト]をクリックすると、検出された情報が一覧表示されます。

補足:
検出数には、次のような正常ケースも含まれます。
・計測開始前に確保され、計測中に解放された
・計測中に確保され、計測終了後に解放された

メモリリークを検証

メモリリークリストには、発生時刻、命令種別、サイズ、アドレス、プログラム位置、プロセス名称、スレッド名称などの情報が表示され、任意の行を選択することで該当するソースコードを表示させることができます。
メモリ解析サマリのメモリ確保サイズランキングや、プロセス/スレッド名称のフィルタリング機能を利用して、メモリリークの発生個所を特定することができます。

メモリ多重解放発生個所を特定
メモリ消費状況を確認

メモリの多重解放(すでに解放されている領域を再度解放しようとする)が原因で突然システムがダウンしたり動作が不安定になったりすることがあります。
「メモリチャート」でメモリの消費状況を確認してもメモリ使用量が増加していく傾向が見られず、メモリリークが原因ではなさそうな場合、メモリの多重解放が発生している可能性があります。

メモリ解析を実行

メモリ解析機能を実行すると、多重解放が発生した回数を取得することができます。(例では2回検出されています)
[多重解放リスト]をクリックすると、検出された情報が一覧表示されます。

多重解放を検証

多重解放リストには、メモリ確保/解放に関する関数名、サイズ、プログラム位置、アドレスなどの情報が表示され、任意の行を選択することで該当するソースコードを表示させることができます。

不具合の特定
システムの可視化
関数実行履歴をグラフィカルにチャート表示

関数実行履歴から関数遷移状態をグラフィカルなチャートで 表示し、各関数の出入口状態を一目で把握できます。

長時間トレース
実行時間を数値化し、大容量のプログラム履歴を記録

プログラムの各関数の出入り口をプログラムカウンターが通過したときに、タイムスタンプを付加しながら 関数実行履歴データとして、大容量データを記録できます。

  • (1)サンプリング(記録)した時刻とひとつ前からの経過時間
  • (2)サンプリング(記録)したサンプルの属性
  • (3)記録データ(メッセージ内容)を表示
追跡、絞り込み
豊富な検索機能により、素早く不具合箇所を “追跡” “絞り込み”

チャート・ログリストの注目したいスレッド/コア情報を「テーマ」として設定することで、簡単にフィルタ/強調表示することができます。

コア毎に動作を見ることができるマルチコア環境対応

複数コア上で動作するプログラムの実行履歴を表示します。コア毎に動作するプログラムの並列処理を検証することが可能です。

特定ファイル内の関数だけを見るグループ別表示機能

「ファイル」、「クラス」、「プロジェクト」単位で関数チャートをグルーピングすることが可能です。複数のモジュール毎の連動が可視化され、解析が容易になります。

テスト漏れを防ぐ
カバレッジ測定
未実行関数をカバレッジ計測で特定

関数の実行状況を解析しカバレッジ計測結果を表示します。全く実行されてない関数を見つけることが容易になり、テスト条件の見直しや不必要な関数の特定を支援します。

ヒストグラムで表示

カバレッジ計測の結果をヒストグラムで表示し、処理時間のバラつきを把握することが可能です。

出力用レポート作成

カバレッジ計測結果の出力用レポートの作成が可能です。

テストコード自動挿入/削除
観測したいポイントにテストコードを自動挿入

プログラムの解析したいオブジェクトを指定し、解析を実行すると、対象となるソースと関数の入口/出口が自動でリストアップされます。
テストコードの挿入は、観測したいポイントをチェックするだけです。
また、不要になったテストコードは、チェックを解除するだけで簡単に削除できます。

パフォーマンス改善
プロファイル機能
CPU占有率が高い[ プロセス][スレッド][関数]をまとめて上位ランキングで表示

サンプリングしたデータを使用して、関数もしくはスレッド/プロセス単位で実行時間解析を簡単に表示することができます。
また、全測定データまたは区間を指定して
解析対象とすることが可能です。

処理時間のバラつきをヒストグラムで表示

指定関数の実行時間分析を行うことができます。実行時間、処理回数の最大/最小値表示ができます。
処理時間などのバラつきも一目で把握できます。

ポートモニタ機能
観測したいポイントにテストコードを自動挿入

CPU使用率と時系列の変数遷移変化を同時・同軸で表示できます。また、関数チャート/スレッドチャート表示に連動させて見ることが できます。関数チャート/スレッドチャートでのシステムの動作と同時にCPU使用率や特定の変数(消費電力など)を検証することで、システム全体の動作検証が可能となります。

開発フェーズ別 テスト/デバック機能

検証フェーズ システム結合テスト(デジタルテレビ)例
テスターはパソコンレスでプログラムの不正箇所にマーク可能

検証フェーズにおけるシステム結合テストで、
テスターが不正な画像などを認識した時に
プログラムの実行ログに目印(マーク)を付けておき、後でその箇所を高速検索できます。

開発フェーズ 長時間トレース システムデバッグ例
異常検出時にトリガーを出力。
無人で不正箇所にマーク可能

システムを動作させたまま長時間に渡りソフトウェアの実行状態をトレース記録することができるため、稀にしか発生しない挙動や不具合を捉えることができます。(トリガーによる自動記録停止機能を現在検討中)

アプリケーション別 適応例

MFP(複合機)動的テスト例

モータ制御系ソフトウェアの動きとHMI系(操作パネル通信信号)、および、システム制御系(データ処理)を同期してトレースし、各ユニット間のソフトウェア連携をテスト(検証)することができます。

アミューズメント(パチンコ/スロット)動的テスト例

メインシステムからの表示系システム(LCD/LED)、サウンド系システムへの通信信号入出力とソフトウェアの動きを同期してトレースし、各ユニット間のソフトウェア同期をテスト(検証)することができます。

Introduction導入事例

スムーズな導入・運用をご支援。

開発環境からテスト/デバッグツールまでご提供している当社だからできるご提案があります。

TRQerシリーズ 製品紹介動画