新着情報

  • 2026年04月27日
  • NEWS

バージョンアップ情報のお知らせ(QTE)

平素より弊社製品をご愛顧頂きまして誠にありがとうございます。
以下製品のバージョンアップを実施致しました。

バージョンアップ情報

【製品名】Quality Town for Embedded grade
【製品バージョン】R3.2.0.0
【リリース日】2026年04月27日

バージョンアップ内容

機能追加/改善

・新ライセンス管理ソフトウェアの対応
-「ライセンス管理ソフトウェア V3.0(CodeMeter版)」に対応しました。
ライセンス管理ソフトウェアの情報は、下記「【重要】ライセンス管理システム変更に関するご案内」を参照してください。
【重要】ライセンス管理システム変更に関するご案内
※参照先:QTEマニュアル
「6.3 CodeMeter ライセンスの設定」


・VSCode連携機能にAI Agentとの連携機能を追加
-AI向けにカバレッジ達成状況の専用ファイル出力機能を追加しました。専用ファイルを使用することにより外部のAI Agentと連携し、目標のカバレッジを達成するGoogle Test テストドライバーソースを効率的に作成できます。
また、専用ファイルを利用するAI用サンプルプロンプトを提供しています。
※参照先:QTEマニュアル
「15.4 AI Agent連携」


・ソースコード単位カバレッジ表示機能の制限解除
-機能安全カバレッジモード使用時、ソースコード単位カバレッジ表示機能で、テンプレート関数のカバレッジ表示がN/Aとなっていた制限を解除しました。
※参照先:QTEマニュアル
「13.1.3.1 テンプレート」
「13.2.1.2 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」
「13.2.2.1 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」
「13.2.4.1 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」


・テンプレートクラス内で1ソース行に同名で複数定義されたテンプレートメンバ関数のカバレッジレポート制限を解除
-機能安全カバレッジモード使用時に、下記コード例のソースコードに対してソースコード単位カバレッジ表示機能でカバレッジレポート生成した場合、カバレッジレポート生成時にエラー/警告を出力、または、誤ったカバレッジ結果を表示する場合がありましたが、本制限を解除し、正しいカバレッジレポートを表示するようにしました。
また、本制限事項に該当するソースコードを検出した時の動作 (エラー停止または警告出力)を指定するオプション「limitation-syntax-type2-handling-mode」を削除しました。既存環境の workspace.json に本オプションが既に設定されている場合でも、設定を削除していただく必要はありません。本オプションによる検出機能は動作しなくなりますが、カバレッジレポート生成は正常に行われます。

【コード例】:
 // テンプレートクラス内で1ソース行に同名で複数定義されたテンプレートメンバ関数
 template <typename T> class FnG {
  public:
  // 該当関数: tFunc
  template <typename U> T tFunc(U a) {<処理>} template
  <typename U> T tFunc(U a, int b) {<処理>}
 };


・constexprで修飾された関数のカバレッジを取得
-機能安全カバレッジモード使用時、constexprで修飾された関数が実行時に動作する(※)場合、カバレッジ計測ができるようになりました。
(※)関数が定数として評価される場合、定数評価時のカバレッジは計測できません。

本機能に関連して、以下のオプションが追加されました。
オプション「constexpr-function-coverage-mode」で、以下の様なソースコードの場合、constexprで修飾された関数」をカバレッジ測定対象とするか切り替えすることができます。 "0" の時、カバレッジ計測対象外とします。"1" の時、カバレッジ計測対象とします。

【コード例】:
 // constexprで修飾された関数
 constexpr int ConstexprFunc( int a ){
  if( a > 0 ){
   return a * 100;
  }
 }

 // 実行時評価
 int Constexpr_test_Func( int a ){
  return ConstexprFunc( a );
 }

※参照先:QTEマニュアル
「9.6.3 constexpr(C++11)で修飾された関数をカバレッジ計測対象とする場合のビルド設定について」
「14.1.1.1 constexpr(C++11)で修飾された関数」


・QTEビルド環境構築時の改善
-QTE用の設定を追加した状態でも、QTEを介さないビルドに影響を与えないように、QTEビルド設定パッケージ(CMake)の見直しを行いました。
※参照先:QTEマニュアル
「9.6 ビルドシステム設定手順」


・VSCode連携機能のユーザビリティ改善
1)VSCode連携機能使用時、VSCode連携機能で必要なデータが残るようにcleanコマンドに新オプション「--vsc」を追加しました。
※参照先:QTEマニュアル
「9.2.1 コマンド一覧」

2)初期設定画面のソースファイル指定において、一括チェックおよび一括チェック解除の機能を追加しました。
3)独自のコマンドやスクリプトを利用してテストを実行している際に、カバレッジ計測結果最新化機能が利用できない制限を解除しました。呼び出されるコマンドおよびスクリプトを初期設定画面上から任意設定出来るよう改善しました。
※参照先:QTEマニュアル
「10.2.6 カバレッジ結果更新スクリプトファイルの編集」

4)カバレッジ計測結果最新化機能の処理中に、VSCode上でGoogle Testテストドライバーの編集が出来るよう改善しました。
5)マルチウィンドウ(VSCode複数起動)環境におけるデータ不整合時に出力されるメッセージ内容を改善しました。
※参照先:QTEマニュアル
「11.2.3.2 VSCode連携機能のエラーメッセージ一覧」

6)Branchカバレッジ/MCDCが100%の論理式を選択した時に、論理組み合わせ表表示画面に100%であることをメッセージ出力するよう改善しました。
※参照先:QTEマニュアル
「10.6.2 論理組み合わせ表を表示」


・特定のC++構文を使用時の"prepare"コマンドエラーの制限解除
-機能安全カバレッジモード使用時、テンプレートクラス内でfriend 宣言と同時に関数を定義している以下の様なソースコードで 'prepare' コマンドがエラー停止する場合がありましたが、本制限を解除し、本版からエラーが発生しないようにしました。

【コード例】:
inline namespace INS {
  int data1 = 1;
}

template <typename T>

class CL {
   // 該当箇所:テンプレートクラスの内部で、friend 宣言と同時に関数を定義している
  friend void data1( CL<T> &obj ){}
};

int main(void){
  CL<int> obj;
  return 0;
}

制限事項

・clang固有の文法 _ExtInt(n) を特定の構文で使用する場合の制限追加
-機能安全カバレッジモード使用時、clang固有の文法 _ExtInt(n) を特定の構文で使用した場合、下記2ケースの事象が発生します。
1)C言語のソースファイルにおいて、switch文で _ExtInt(n) 型の変数を使用している場合、テストレポートに誤ったカバレッジ結果を出力する場合があります。
【コード例1】参照

2)Switch以外のBranchカバレッジ対象文 および MC/DC対象式が_ExtInt(n) 型の変数のみを使用している場合、ビルド時にエラーが発生します。
【コード例2】参照

-テスト対象ソースコード内に対象のC/C++構文が含まれる場合、"prepare"コマンド実行時に、これらの構文を検出してエラー/警告を表示する機能を備えています。

本機能に関連して、以下のオプションが追加されました。
オプション「limitation-syntax-clang-extint-handling-mode」で、カバレッジ計測対象のソース/ヘッダファイル中に、clang固有の構文_ExtInt(n)を検出した時の動作を切り替えすることができます。
“1”の時、エラーを表示し停止する
“0”の時、警告を表示し処理を継続する
※参照先:QTEマニュアル
「13.3.1.2 clang固有の構文_ExtInt(n):_ExtInt」
「13.3.2 該当構文検出時の動作(停止/動作継続)切替オプション」


【コード例1】:
 void f1( _ExtInt(65) a ){
  // C言語のソースファイルにおいて、switch文で _ExtInt(n) 型の変数を使用している
  switch( a ){
  case 0:
   break;
  }
 }

【コード例2】:
 void f2( _ExtInt(65) a ){
  // Switch以外のBranchカバレッジ対象文 および MC/DC対象式が_ExtInt(n) 型の変数のみを使用している
  if ( a ){
   a++;
  }
 }

・インラインアセンブラの特定構文の制限追加
-機能安全カバレッジモード使用時、下記のいずれかの条件に該当するインラインアセンブラの文法を使用している場合、'prepare' コマンド実行時にエラーが発生します。
1)グローバルスコープにおける asm volatile
2)asm const
3)asm volatile volatile (volatile を複数記載する)
回避として、ソースコードの修正が必要です。修正方法はQTEマニュアルを参照してください。
※参照先:QTEマニュアル
「13.1.1.4 インラインアセンブラ/グローバル asm volatile /asm const/asm volatile volatile」

【コード例】:
 // 1) グローバルスコープにおける asm volatile
 asm volatile("nop")

 void f1( void ){
  int x = 10;
  int y;
  // 2) asm const
  asm const ("addl $10, %0" : "=r" (y) : "0" (x) ); };
 }

 void f2( void ){
  int x = 10;
  int y;
  // 3) asm volatile volatile (volatile を複数記載する)
  asm volatile volatile ("addl $10, %0" : "=r" (y) :
  "0" (x) );
 }

動作サポート環境の変更

本バージョンで変更された、QTE動作サポート環境に関する項目を、以下に示します。

・動作サポートの追加
-以下のアイテムが、QTE動作サポート環境に追加されました。
Native Clangコンパイラ: 20.1.8
Google Test: v1.13.0
Native GCC コンパイラ: 11.4(gccカバレッジモード対応)


・動作サポートの終了
-以下のアイテムは、QTE動作サポートを終了しました。
※参照先: 「4.3 動作サポート環境」
Native GCC コンパイラ: 7.5