このセクションでは、C/C++test に付属のテスト コンフィギュレーションについて説明します。付属のテスト コンフィギュレーションは、一般的なシナリオの大部分に対応します。カスタム テスト コンフィギュレーションの作成と、複数チームへのテスト コンフィギュレーションの配布については、「テストコンフィギュレーションとルールの設定」を参照してください。
ビルトイン テスト コンフィギュレーションは次のカテゴリに分類されます。
Static Analysis
このグループには、汎用的な静的解析テスト コンフィギュレーションが含まれます。コーディング標準を推進するテスト コンフィギュレーションについては「コンプライアンス パック」を参照してください。
テスト コンフィギュレーション | 説明 |
---|---|
Recommended Rules | 推奨ルールのデフォルト コンフィギュレーションです。重要度 1 および 2 の大部分のルールをカバーします。Flow Analysis Fast コンフィギュレーションのルールを含みます。 |
Flow Analysis Standard | テスト ケースやアプリケーションを実行せずに複雑な実行時エラーを検出します。検出されるエラーには、未初期化または無効なメモリの使用、null ポインター間接参照、配列およびバッファーのオーバーフロー、ゼロ除算、メモリおよびリソース リーク、デッド コードなどが含まれます。 特別なFlow Analysis ライセンス オプションが必要です。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。 |
Flow Analysis Fast | 解析の深さとして「最も浅い」を使用するため、 Standard や Aggressive よりも迅速に実行します。 適度な量の問題を発見し、違反の数が爆発的に増加するのを防止します。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。 |
Flow Analysis Aggressive | あらゆる疑わしいコードを違反として検出します。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。 |
Effective C++ | Scott Meyers の『Effective C++』に基づいたルールをチェックします。C++ プログラムの効率性をチェックします。 |
Effective STL | Scott Meyers の『Effective STL』に基づいたルールをチェックします。 |
Modern C++ (11, 14 and 17) | モダン C++ 規格 (C++11、C++14、C++17) 向けのベスト プラクティスを推進するルールをチェックします。 |
Find Duplicated Code | 重複する関数、コード フラグメント、文字列リテラル、および #include ディレクティブを検出します。 |
Find Unused Code | 未使用コード/デッド コードを検出するためのルールが含まれます。 |
メトリクス | メトリクスの統計をレポートし、許容範囲を超えるメソッド値を検出します。 |
Global Analysis | グローバル静的解析ルールをチェックします。 |
Sutter-Alexandrescu | Herb Sutter と Andrei Alexandrescu の『C++ Coding Standards』に基づいたルールをチェックします。 |
The Power of Ten | Gerard J. Holzmann の記事「The Power of Ten - Rules for Developing Safety Critical Code」に基づいたルールをチェックします。(http://spinroot.com/gerard/pdf/Power_of_Ten.pdf) |
コンプライアンス パック
コンプライアンス パックには、特定のコンプライアンス領域に合わせて調整されたテスト コンフィギュレーションが含まれ、業界固有のコンプライアンス標準およびプラクティスを推進するのに役立ちます。標準がどのように C/C++test のルールにマッピングされているかについては、「コンプライアンス パックのルールのマッピング」を参照してください。
Aerospace Pack
テスト コンフィギュレーション | 説明 |
---|---|
Joint Strike Fighter | Joint Strike Fighter (JSF) プログラム コーディング規約を推進するルールをチェックします。 |
DO178C Software Level A Unit Testing | 適切なカバレッジ メトリクスの設定と DO178C Software Level A 用のレポート設定を使用して単体テストを実行します。 |
DO178C Software Level B Unit Testing | 適切なカバレッジ メトリクスの設定と DO178C Software Level B 用のレポート設定を使用して単体テストを実行します。 |
DO178C Software Level C and D Unit Testing | 適切なカバレッジ メトリクスの設定と DO178C Software Level C および D 用のレポート設定を使用して単体テストを実行します。 |
Automotive Pack
テスト コンフィギュレーション | 説明 |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR C++ Coding Guidelines (Adaptive Platform, version 19.03) を推進するルールをチェックします。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
High Integrity C++ | High Integrity C++ Coding 標準を推進するルールをチェックします。 |
HIS Source Code Metrics | Herstellerinitiative Software (HIS) グループによって要求されるメトリクスをチェックします。 |
MISRA C 1998 | MISRA C コーディング規約を推進するルールをチェックします。 |
MISRA C 2004 | MISRA C 2004 コーディング規約を推進するルールをチェックします。 |
MISRA C++ 2008 | MISRA C++ 2008 コーディング規約を推進するルールをチェックします。 |
MISRA C 2023 (MISRA C 2012) | MISRA C:2023 / MISRA C:2012 Amendment 4 ガイドラインを推進するルールをチェックします。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
MISRA C++ 2023 | MISRA C++:2023 Guidelines for the use of C++17 in critical systems を推進するルールをチェックします。 このテスト コンフィギュレーションは Parasoft Compliance Pack ソリューションの一部であり、DTP 上で "Compliance" 拡張を使用して業界標準への準拠をモニターすることを可能にします。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
ISO26262 ASIL A Unit Testing | 適切なカバレッジ メトリクスの設定と ISO26262 ASIL A 用のレポート設定を使用して単体テストを実行します。 |
ISO26262 ASIL B and C Unit Testing | 適切なカバレッジ メトリクスの設定と ISO26262 ASIL B および C 用のレポート設定を使用して単体テストを実行します。 |
ISO26262 ASIL D Unit Testing | 適切なカバレッジ メトリクスの設定と ISO26262 ASIL D 用のレポート設定を使用して単体テストを実行します。 |
Medical Devices Pack
テスト コンフィギュレーション | 説明 |
---|---|
Recommended Rules for FDA (C) | 「FDA General Principles for Software Validation」に準拠するために推奨されるルールをチェックします (C 言語用コンフィギュレーション)。 |
Recommended Rules for FDA (C++) | 「FDA General Principles for Software Validation」に準拠するために推奨されるルールをチェックします (C++ 言語用コンフィギュレーション)。 |
Security Pack
テスト コンフィギュレーション | 説明 |
---|---|
CWE Top 25 2022 | CWE の Top 25 Most Dangerous Programming Errors v.2022 として分類された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
CWE Top 25 2019 | CWE の Top 25 Most Dangerous Programming Errors v.2019 として分類された問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
CWE Top 25 2022 + On the Cusp | CWE の Top 25 Most Dangerous Programming Errors として分類された問題または CWE Weaknesses On the Cusp リスト v.2022 に含まれる問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
CWE Top 25 2019 + On the Cusp | CWE の Top 25 Most Dangerous Programming Errors として分類された問題または CWE Weaknesses On the Cusp リスト v.2019 に含まれる問題を検出するルールを含みます。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。 |
DISA-ASD-STIG | Defense Information Systems Agency による Application Security and Development STIG (Security Technical Implementation Guide) で指摘された問題を検出するルールを含みます。 |
OWASP API Security Top 10 2019 | OWASP の API Security Top 10 標準で指摘された問題を検出するルールを含みます。 このテスト コンフィギュレーションは Parasoft Compliance Pack ソリューションの一部であり、DTP 上で "Compliance" 拡張を使用して業界標準への準拠をモニターすることを可能にします。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
OWASP Top 10 2017 | OWASP Top 10 - 2017 で指摘された Web アプリケーションのセキュリティ リスクを検出するルールを含みます。 |
OWASP Top 10 2021 | OWASP Top 10 - 2021 で指摘された Web アプリケーションのセキュリティ リスクを検出するルールを含みます。 このテスト コンフィギュレーションはプレビュー版です。 |
Payment Card Industry Data Security Standard | Payment Card Industry Data Security Standard (PCI DSS) の セクション 6 にあるセキュリティの問題をチェックします。 (https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml) 検出される問題には、クロス サイト スクリプティング、インジェクション フロー、悪意のあるファイル実行などを防止するための入力 の検証、および適切なエラー処理の検証が含まれます。 |
Security Rules | セキュリティの脆弱性を防止または特定するルールをチェックしま す。 |
SEI CERT C Coding Guidelines | SEI CERT C コーディング スタンダードのルールとリコメンデーションをチェックします。このコーディング スタンダードは、セキュア コーディングのためのガイドラインを提供します。その目的は (たとえば未定義のプログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。 |
SEI CERT C Rules | SEI CERT C コーディング スタンダードのルールをチェックし ます。このコーディング スタンダードは、セキュア コーディングのためのガイドラインを提供します。その目的は (たとえば未定義のプログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
SEI CERT C++ Rules | SEI CERT C++ コーディング スタンダードのルールをチェックします。このコーディング スタンダードは、セキュア コーディングのためのガイドラインを提供します。その目的は (たとえば未定義のプログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。 このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。 |
UL 2900 | UL-2900 標準で指摘された問題を発見するルールを含みます。 |
単体テスト
テスト コンフィギュレーション | 説明 |
---|---|
File Scope> Build Test Executable (File Scope) | トライアル ビルドのためのテスト用実行モジュールをビルドします。 選択したファイルだけがインストゥルメントされます。 |
File Scope> Collect Stub Information (File Scope) | [ スタブ] ビューに表示するスタブ情報を収集します。 選択したファイルだけがインストゥルメントされます。 |
File Scope> Debug Unit Tests (File Scope) | デバッガー下で単体テストを実行します。 選択したファイルだけがインストゥルメントされます。 Visual Studio 2019 に付属の Microsoft Visual C++ 14.2 コンパイラでコンパイルされたコードをデバッグする場合、デバッグする前に Visual Studio 2019 IDE を起動し、C/C++test の実行が終了するまで背後で実行されるようにします。 |
File Scope> Generate Stubs (File Scope) | 見つからない関数定義と変数定義のためのスタブを生成します。 選択したファイルだけがインストゥルメントされます。 |
File Scope> Run Unit Tests | 利用可能なテスト ケースを実行します。 選択したファイルだけがインストゥルメントされます。 |
Build Test Executable | トライアル ビルドのためのテスト用実行モジュールをビルドします。 すべてのプロジェクト ファイルをインストゥルメントします。 |
Collect Stub Information | [スタブ] ビューに表示するスタブ情報を収集します。 すべてのプロジェクト ファイルをインストゥルメントします。 |
Debug Unit Tests | デバッガー下で単体テストを実行します。 すべてのプロジェクト ファイルをインストゥルメントします。 Visual Studio 2019 に付属の Microsoft Visual C++ 14.2 コンパイラでコンパイルされたコードをデバッグする場合、デバッグする前に Visual Studio 2019 IDE を起動し、C/C++test の実行が終了するまで背後で実行されるようにします。 |
Generate Regression Base | プロジェクト コードの現在の機能をキャプチャしたベースライン テスト スイートを生成します。このベースラインからの変更を検出するには、定期的にこのテスト スイートを使ってコード ベースをテストします。 結果は自動的に検証済みにされます。 |
Generate Stubs | 見つからない関数定義と変数定義のためのスタブを生成します。 すべてのプロジェクト ファイルをインストゥルメントします。 |
Generate Test Suites | 選択したリソースのテスト スイートを生成します。テスト ケースは生成しません。 |
Generate Unit Tests | 選択したリソースの単体テストを生成します。 |
Run Unit Tests | 利用可能なテスト ケースを実行します。 すべてのプロジェクト ファイルをインストゥルメントします。 |
Run Unit Tests with Memory Monitoring | 利用可能なテスト ケースを実行し、メモリの問題についての情報を収集します。 すべてのプロジェクト ファイルをインストゥルメントします。 |
Run Unit Tests in Container | Docker コンテナー内のツールチェーンとテスト環境を使用してテスト ケースを実行します (「Docker コンテナーで解析とテストを実行する」を参照)。 |
アプリケーション検証
テスト コンフィギュレーション | 説明 |
---|---|
Build Application with Coverage Monitoring | カバレッジ計測が有効な状態で、テスト対象アプリケーションをビルドします。 |
Build Application with Full Monitoring | カバレッジ計測とメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドします。 |
Build Application with Memory Monitoring | メモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドします。 |
Build and Run Application with Coverage Monitoring | カバレッジ計測が有効な状態で、テスト対象アプリケーションをビルドして実行します。 |
Build and Run Application with Full Monitoring | カバレッジ計測とメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドして実行します。 |
Build and Run Application with Memory Monitoring | メモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドして実行します。 |
Embedded Systems
テスト コンフィギュレーション | 説明 |
---|---|
ARM > Run ARM Embedded Linux Application with Memory Monitoring | カバレッジと監視を有効にした状態で、ARM Embedded Linux システム上でテスト対象アプリケーションをビルドおよび実行します ( リアル ターゲット デバイスまたはシミュレーター上)。テストの実行結果はターゲット マシンのファイルシステムに保存され、scp コマンドを使ってホストにコピーされます。 |
ARM > Run ARM Embedded Linux Test Executable | リアル ターゲット デバイスまたはシミュレーター上で、SSH プロトコルを使って単体テストをビルドおよび実行します。テストの実行結果はターゲット マシンのファイルシステムに保存され、scp コマンドを使ってホストにコピーされます。 |
ARM > Run DS-5 2.2 Application with Memory Monitoring | カバレッジと監視を有効にした状態で、DS-5 デバッガー上でテスト対象アプリケーションをビルドおよび実行します。 |
ARM > Run DS-5 2.2 Tests | DS-5 デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。 |
ARM > Run DS-5 3.x 4.x Application with Memory Monitoring | カバレッジと監視を有効にした状態で、DS-5 デバッガー上でテスト対象アプリケーションをビルドおよび実行します。テスト バイナリの起動方法が記述された一時的なデバッガー スクリプトを生成し、このスクリプトを使ってデバッガーを起動します。 "Target connection configuration" テスト フロー プロパティを介してデバッガー スクリプトに渡されるデバッガー接続名をカスタマイズしなければならない場合があります。 |
ARM > Run DS-5 3.x 4.x Tests | DS-5 デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。テスト バイナリの起動方法が記述された一時的なデバッガー スクリプトを生成し、このスクリプトを使ってデバッガーを起動します。"Target connection configuration" テスト フロー プロパティを介してデバッガー スクリプトに渡されるデバッガー接続名をカスタマイズしなければならない場合があります。 |
Arm > Run DS-5 Application with Memory Monitoring (Software Model) | ソフトウェア モデル シミュレーターを使って、単体テストをビルドおよび実行します。カバレッジと監視が有効です。ソフトウェア モデルの名前 (実行ファイル) を選択できます。 |
Arm > Run DS-5 Test Executable (Software Model) | ソフトウェア モデル シミュレーターを使って、単体テストをビルドおよび実行します。ソフトウェア モデルの名前 (実行ファイル) を選択できます。 |
Altium> Run Altium TASKING CTC Application with Mem Monitoring | TASKING スタンドアロン デバッガー (dbgtc) を使ってTriCore 命令セット シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Altium> Run Altium TASKING CTC Application with Mem Monitoring - CrossView | TASKING Cross View Pro デバッガーを使って (デフォルトではTriCore 命令セット シミュレーター上で) テスト対象アプリケーションをビルドおよび実行します。 カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Altium> Run Altium TASKING CTC Tests | TASKING スタンドアロン デバッガー (dbgtc) を使ってTriCore 命令セット シミュレーター上で単体テストをビルドおよび実行します。 シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Altium> Run Altium TASKING CTC Tests - CrossView | TASKING Cross View Pro デバッガーを使って (デフォルトではTriCore 命令セット シミュレーター上で) テスト対象アプリケーションをビルドおよび実行します。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Spansion> Build and Run Application with Memory Monitoring for Spansion FR Softune - Simulator | メモリの監視が有効な状態でシミュレーター上で Softune アプリケーションをビルドして実行します。テスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Spansion> Run Spansion FR Softune Tests - Simulator | Softune デバッガーを使ってシミュレーター上で単体テストをビルドおよび実行します。テスト実行の結果はホスト マシンのファイル システムに保存されます。 |
GNU GCC>Run GNU GCC Tests with Assembly Coverage Monitoring | Linux x86 (32bit) 向け GNU GCC コンパイラ用のオールインワン コンフィギュレーションです。アセンブリ カバレッジ モニタリングが有効な状態で単体テストを実行します。 |
Green Hills Software> Run GHS Tests | テスト バイナリをビルドおよび起動して実行時ログを読み取る、 GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。 |
Green Hills Software> Run GHS Application with Mem Monitoring | メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る、GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。 |
Green Hills Software> Run GHS Tests with Assembly Coverage Monitoring | テスト バイナリをビルドおよび起動して実行時ログを読み取る、 GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。単体テストの結果に加えてアセンブリ カバレッジが収集されます。 |
IAR Systems> Run IAR ARM Application with Mem Monitoring | メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
IAR Systems> Run IAR ARM Tests | テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
IAR Systems> Run IAR EW Application with Mem Monitoring (Batch Template) | メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。EW 生成のバッチ スクリプトを使用します。 |
IAR Systems> Run IAR EW Tests (Batch Template) | テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。EW 生成のバッチ スクリプトを使用します。 |
IAR Systems> Run IAR MSP430 Application with Mem Monitoring | メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
IAR Systems> Run IAR MSP430 Tests | テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
IAR Systems > Run IAR RX Application with Mem Monitoring | メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
IAR Systems > Run IAR RX Tests | テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。 |
Keil uVision > Run Keil uVision Tests - ULINK2 (UART) | uVision デバッガーを使って単体テストをビルドおよび実行し、RS232 接続を介して結果を収集します。結果の送信をキャプチャするためにシリアル ポート リスナーが使用されます。 シリアル接続パラメーターをカスタマイズしなければならない場合があります。 |
Keil uVision > Run Keil uVision Tests - ULINKPro or Simulator (ITM) | uVision デバッガーを使って単体テストをビルドおよび実行し、ITM ベースの通信チャネルを介して結果を収集します。 |
Keil uVision > Run Keil uVision Tests - Simulator (UART) | uVision デバッガーとシミュレーターを使って単体テストをビルドおよび実行します。結果が収集され、シミュレートされたUART を介して送られます。シリアル接続パラメーターをカスタマイズしなければならない場合があります。 |
Keil uVision > Run Keil uVision Application with Memory Monitoring - ULINK2 (UART) | カバレッジとメモリの監視を有効にした状態で、uVision デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。RS232 接続を介して結果が収集されます。 結果の送信をキャプチャするためにシリアル ポート リスナーが使用されます。シリアル接続パラメーターをカスタマイズしなければならない場合があります。 |
Keil uVision > Run Keil uVision Application with Memory Monitoring - ULINKPro or Simulator (ITM) | カバレッジとメモリの監視を有効にした状態で、uVision デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。結果は ITM ベースの通信チャネルを介して収集されます。 |
Lauterbach Trace32 > Run Application with Memory Monitoring using Trace32 (FDX) | Lauterbach Trace32 デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。テストの実行結果はホスト マシンのファイルシステムに保存されます (FDX プロトコルを介して送られます)。デフォルトでは、デバッガーは TriCore TC1796 プロセッサで動作するように設定されます。 |
Lauterbach Trace32 > Run Tests using Trace32 (FDX) | Lauterbach Trace32 デバッガーを使って単体テストをビルドおよび実行します。テストの実行結果はホスト マシンのファイルシステムに保存されます (FDX プロトコルを介して送られます)。デフォルトでは、デバッガーは TriCore TC1796 プロセッサで動作するように設定されます。 |
QNX > Build and Run Application with Memory Monitoring for QNX Momentics | リモート QNX システム上でテスト対象アプリケーションをビルドおよび実行します。リモート システム プロパティ (リモート ホスト、ユーザー名、およびテスト ディレクトリ) をカスタマイズする必要があります。リモート システムとの通信は rsh および rcp ツールに基づいています。 |
QNX > Run QNX Momentics Tests | リモート QNX システム上で単体テストをビルドおよび実行します。リモート システム プロパティ (リモート ホスト、ユーザー名、およびテスト ディレクトリ) をカスタマイズする必要があります。リモート システムとの通信は rsh および rcp ツールに基づいています。 |
Renesas HEW> Run HEW 4.x Tests (simulated IO) | HEW デバッガーを使って SH シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。 シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Renesas HEW> Run HEW 4.x Application with Mem Monitoring (simulated IO) | HEW デバッガーを使って SH シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 |
Texas Instruments > Run TI CCS 4.x Application with Memory Monitoring | カバレッジとメモリの監視が有効な状態で、Code Composer デバッガーでテスト対象アプリケーションをビルドおよび実行します。CCS プロジェクトのアクティブ ターゲット構成を自動検出します。 |
Texas Instruments > Run TI CCS 4.x Tests | Code Composer デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。CCS プロジェクトのアクティブ ターゲット構成を自動検出します。 |
Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (PassFS) | リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を格納するために PassFS が使用されます。 |
Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (Socket) | リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を送信するために TCP/IP ソケットが使用されます。 |
Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (TSFS) | リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を格納するために TSFS が使用されます。 |
Wind River> Workbench 3.x> Build VxWorks Test Module - DKM (PassFS) | ダウンロード可能なカーネル モジュールの形式でテスト バイナリをビルドします。ctdt.c ファイルの生成を含みます。C/C++test を使ってテストする場合、オリジナルのビルド ctdt.c と C/C++test 生成の ctdt.c との競合を避けるために、オリジナルの cdtd.c ファイルを除外しなければならないことがあります。テスト結果を格納するために PassFS が使用されます。 |
Wind River> Workbench 3.x> Load and Run VxWorks Test Executable (RTP) | VxSim 上でテスト バイナリを実行します。 |
Wind River> Workbench 3.x> Load and Run VxWorks Test Object (DKM) | VxSim 上でテスト バイナリを実行します。 |
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - DKM (PassFS) | メモリの監視が有効な状態で、アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。 テスト結果を格納するために PassFS を使用します。 |
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - DKM (TSFS) | メモリの監視が有効な状態で、アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために TSFS を使用します。 |
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - RTP (PassFS) | メモリの監視が有効な状態で、アプリケーション モードにおいてリアル タイム プロセスの形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために PassFS を使用します。 |
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - RTP (TSFS) | メモリの監視が有効な状態で、アプリケーション モードにおいてリアル タイム プロセスの形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために TSFS を使用します。 |
Wind River> Workbench 4.x> Run VxWorks DKM Application with Full Monitoring (File System, WRWB 4.x) | アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、テスト バイナリを実行し、ターゲットからバイナリをアンロードし、カバレッジとランタイム メモリ監視の結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。 |
Wind River> Workbench 4.x>Run VxWorks DKM Unit Tests (File System, WRWB 4.x) | ダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、単体テストを実行し、ターゲットからバイナリをアンロードし、カバレッジとテスト結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。 |
Wind River> Workbench 4.x> Run VxWorks RTP Application with Full Monitoring (File System, WRWB 4.x) | アプリケーション モードにおいて Real Time Process 形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、テスト バイナリを実行し、ターゲットからバイナリをアンロードし、カバレッジとランタイム監視の結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。 |
Wind River> Workbench 4.x> Run VxWorks RTP Unit Tests (File System, WRWB 4.x) | Real Time Process 形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、単体テストを実行し、ターゲットからバイナリをアンロードし、カバレッジとテスト結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。 |
Wind River> Extract Symbols from VxWorks Image | 選択された VxWorks イメージからシンボルを収集します。収集されたシンボルは、Wind River> Workbench 3.x グループのテスト コンフィギュレーションを使用して DKM プロジェクトをテストする際に使用されます。 |
Build Test Executable - Generic Embedded System |
Utilities
テスト コンフィギュレーション | 説明 |
---|---|
Load Test Results (File) | ファイル チャネルを介してテスト結果を収集します。デフォルトでは、このテスト コンフィギュレーションは |
Load Test Results (Sockets) | TCP/IP ソケットを介して送られるテスト結果をその場で収集します。 このテスト コンフィギュレーションは Java ユーティリティ プログラムを起動してテスト結果をリッスンしキャプチャします。テスト結果とカバレッジ結果のポート番号はカスタマイズ可能です。ポート番号は results_port および coverage_port プロパティで定義されます。 |
Extract Library Symbols | 外部ライブラリ (またはオブジェクト ファイル) からシンボル リストを抽出します。バイナリからシンボル情報を収集するための C++test の標準アルゴリズムが十分ではない場合は常にこのテスト コンフィギュレーションを使用するべきです。たとえば、Wind River DKM タイプのプロジェクトを使用している場合、この方法で収集された VxWorks イメージからすべてのシンボルを抽出します。通常、シンボルを抽出するバイナリの場所を入力するほか、ライブラリ/ オブジェクト ファイルのコンテンツをダンプするのに使用できる nm に似たユーティリティの名前も入力する必要があります。 |
Generate Stubs Using External Library Symbols | [Extract Library Symbols] テスト コンフィギュレーションを実行した後に、スタブを生成します。このテスト コンフィギュレーションは、外部ライブラリからのシンボル リストのファイルがプロジェクトの一時データ中に格納されているものと想定します。 |
Load Application Coverage | cpptestcc で収集されたカバレッジ データを IDE にインポートします。「cpptestcc を利用したアプリケーション カバレッジの収集」を参照してください。 |
Load Archived Results | アーカイブされた結果を C/C++test にロードします。「複数のテスト実行から結果をマージする」を参照してください。 |
統合
テスト コンフィギュレーション | 説明 |
---|---|
Lattix Architect> Export Code Dependency Data | Lattix Architect 用のコード依存関係データをエクスポートします。詳細については「Lattix Architect との統合」を参照してください。 |
コンプライアンス パックのルールのマッピング
このセクションは、CWE 標準用のルール マッピングを示します。他の標準のマッピング情報は、コンプライアンス パックとともに提供される PDF ルール マッピング ファイルに記載されています。
CWE Top 25 2022 のマッピング
CWE ID | CWE 名 | Parasoft ルール ID |
---|---|---|
CWE-787 | Out-of-bounds Write |
|
CWE-79 | Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') | N/A |
CWE-89 | Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
|
CWE-20 | Improper Input Validation |
|
CWE-125 | Out-of-bounds Read |
|
CWE-78 | Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') |
|
CWE-416 | Use After Free |
|
CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
|
CWE-352 | Cross-Site Request Forgery (CSRF) | N/A |
CWE-434 | Unrestricted Upload of File with Dangerous Type | N/A |
CWE-476 | NULL Pointer Dereference |
|
CWE-502 | Deserialization of Untrusted Data | N/A |
CWE-190 | Integer Overflow or Wraparound |
|
CWE-287 | Improper Authentication |
|
CWE-798 | Use of Hard-coded Credentials |
|
CWE-862 | Missing Authorization | N/A |
CWE-77 | Improper Neutralization of Special Elements used in a Command ('Command Injection') |
|
CWE-306 | Missing Authentication for Critical Function | N/A |
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer |
|
CWE-276 | Incorrect Default Permissions | N/A |
CWE-918 | Server-Side Request Forgery (SSRF) | N/A |
CWE-362 | Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') |
|
CWE-400 | Uncontrolled Resource Consumption |
|
CWE-611 | Improper Restriction of XML External Entity Reference |
|
CWE-94 | Improper Control of Generation of Code ('Code Injection') | N/A |
CWE Weaknesses On the Cusp 2022 のマッピング
CWE ID | CWE 名 | Parasoft ルール ID |
---|---|---|
CWE-295 | Improper Certificate Validation | N/A |
CWE-427 | Uncontrolled Search Path Element |
|
CWE-863 | Incorrect Authorization |
|
CWE-269 | Improper Privilege Management |
|
CWE-732 | Incorrect Permission Assignment for Critical Resource |
|
CWE-843 | Access of Resource Using Incompatible Type ('Type Confusion') |
|
CWE-668 | Exposure of Resource to Wrong Sphere |
|
CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor |
|
CWE-1321 | Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') | N/A |
CWE-601 | URL Redirection to Untrusted Site ('Open Redirect') | N/A |
CWE-401 | Missing Release of Memory after Effective Lifetime |
|
CWE-59 | Improper Link Resolution Before File Access ('Link Following') |
|
CWE-522 | Insufficiently Protected Credentials | N/A |
CWE-319 | Cleartext Transmission of Sensitive Information | N/A |
CWE-312 | Cleartext Storage of Sensitive Information |
|
CWE Top 25 2019 のマッピング
CWE ID | CWE 名 | Parasoft ルール ID |
---|---|---|
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer |
|
CWE-79 | Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') | N/A |
CWE-20 | Improper Input Validation |
|
CWE-200 | Information Exposure |
|
CWE-125 | Out-of-bounds Read |
|
CWE-89 | Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
|
CWE-416 | Use After Free |
|
CWE-190 | Integer Overflow or Wraparound |
|
CWE-352 | Cross-Site Request Forgery (CSRF) | N/A |
CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
|
CWE-78 | Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') |
|
CWE-787 | Out-of-bounds Write |
|
CWE-287 | Improper Authentication |
|
CWE-476 | NULL Pointer Dereference |
|
CWE-732 | Incorrect Permission Assignment for Critical Resource |
|
CWE-434 | Unrestricted Upload of File with Dangerous Type | N/A |
CWE-611 | Improper Restriction of XML External Entity Reference |
|
CWE-94 | Improper Control of Generation of Code ('Code Injection') | N/A |
CWE-798 | Use of Hard-coded Credentials |
|
CWE-400 | Uncontrolled Resource Consumption |
|
CWE-772 | Missing Release of Resource after Effective Lifetime |
|
CWE-426 | Untrusted Search Path |
|
CWE-502 | Deserialization of Untrusted Data | N/A |
CWE-269 | Improper Privilege Management |
|
CWE-295 | Improper Certificate Validation | N/A |
CWE Weaknesses On the Cusp 2019 のマッピング
CWE ID | CWE 名 | Parasoft ルール ID |
---|---|---|
CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') |
|
CWE-522 | Insufficiently Protected Credentials | N/A |
CWE-704 | Incorrect Type Conversion or Cast |
|
CWE-362 | Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') |
|
CWE-918 | Server-Side Request Forgery (SSRF) | N/A |
CWE-415 | Double Free |
|
CWE-601 | URL Redirection to Untrusted Site ('Open Redirect') | N/A |
CWE-863 | Incorrect Authorization |
|
CWE-862 | Missing Authorization | N/A |
CWE-532 | Inclusion of Sensitive Information in Log Files |
|
CWE-306 | Missing Authentication for Critical Function | N/A |
CWE-384 | Session Fixation | N/A |
CWE-326 | Inadequate Encryption Strength |
|
CWE-770 | Allocation of Resources Without Limits or Throttling |
|
CWE-617 | Reachable Assertion |
|