リリース日: 2020年4月28日
このリリースには、以下の拡張が含まれます。
バージョン番号の刷新
C/C++test を含むすべての Parasoft 製品は次のバージョン番号付け規則に従います。YYYY.release
要求のインポートとレビュー
要求管理システム (RMS) からインポートされた要求に関する情報やテスト定義を IDE 内でレビューできます。C/C++test の要求ビューでは、インポートされた要求とテスト定義の関係を視覚化できるので、IDE を離れることなく意味のある単体テストを作成するのが容易になります。「要求とテストの関連付け」を参照してください。
自動車コンプライアンス パックの拡張
Automotive Pack が拡張され、自動車業界の標準へのコンプライアンス達成に役立つようになりました。
MISRA C:2012 Amendment 2
MISRA C 2012 テスト コンフィギュレーションに新規ルールが追加され、MISRA C 2012 Amendment 2 のすべてのガイドラインをカバーするようになりました。
AUTOSAR C++ 14
AUTOSAR C++14 Coding Guidelines テスト コンフィギュレーションに新規ルールの追加と既存のルールの更新が行われ、AUTOSAR C++ 14 のサポートが拡張されました。
カバレッジ アドバイザーによるコード カバレッジの増加
カバレッジ アドバイザーを使用して、コード カバレッジを増加させる戦略を効果的に実装できます。カバレッジ アドバイザーは、コードを解析し、未カバーの行をカバーするにはどのようなテストをセットアップすればよいかに関するソリューションの選択肢を表示することで、コード カバレッジのギャップを埋めるためのガイダンスを提供します。必要な依存関係およびパラメーターの事前条件、グローバル変数、関数呼び出しがカバレッジ アドバイザー ビューに表示されます。これにより、意味のあるテスト ケースをや適切なスタブを手動で作成する際の時間と労力を削減できます。「カバレッジ アドバイザーの使用」を参照してください。
Docker コンテナーでの作業のサポート
Docker コンテナーでの作業がサポートされるようになりました。C/C++ ツールチェーンまたは Docker コンテナーによって提供されるテスト環境を使用して解析やテストを実行できます。これにより、コンテナー化された環境で C/C++test の機能を利用し、チームや複数の開発サイクルでの一貫性を確保することができます。「Docker コンテナーで解析とテストを実行する」を参照してください。
CMake ベース プロジェクトのサポートの拡張
C/C++test には、CMake ベース プロジェクトの解析およびテストを簡易化する CMake 用拡張が付属しています。CMake ビルド ファイルで直接 C/C++test プロジェクトを定義し、CMake ビルド時に C/C++test プロジェクトを自動生成できます。「CMake ビルドへの C/C++test の統合」を参照してください。
コンパイラのサポート
新たに以下のコンパイラがサポートされました。
コンパイラ名 | コンパイラ略称 |
---|---|
Vx-toolset for TriCore C/C++ Compiler 6.3 | vxtc_6_3 |
Wind River Clang 8.0.x | wrclang_8_0 |
ソース管理システムのサポート
以下のサポートが追加されました。
- Git 1.8、1.9、2.x
- SVN 1.10、1.11、1.12、1.13
- Microsoft Team Foundation Server 2017、2018、2019
非推奨または廃止されたソース管理システムのサポートについては、「非推奨の環境、システム、コンフィギュレーションのサポート」を参照してください。
追加または更新されたテスト コンフィギュレーション
以下のテスト コンフィギュレーションが追加されました。
- Run Unit Tests in Container
- AUTOSAR C++14 Coding Guidelines
- CWE Top 25 + On the Cusp 2019
- Flow Analysis Aggressive
- Flow Analysis Standard
- High Integrity C++
- MISRA C 2012
- MISRA C++ 2008
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
追加または更新された解析ルール
このリリースでは、特に AUTOSAR C++14 および MISRA C:2012 Amendment 2 にフォーカスし、新しい静的解析ルールが追加されました。追加または更新されたルールの一覧については「新規ルール」および「更新されたルール」を参照してください。
その他のアップデート
OpenID Connect による認証のサポートが拡張されました。C/C++test は複数のユーザー用の証明書を持つキーストアをサポートするようになりました。
- ビルトイン Python ランタイムが Python 2.7 にアップグレードされました。Rule Wizard ルールで発生した Python 関連のエラーはセットアップの問題としてレポートされるようになりました。
- セットアップの問題がレポートされたとき、ゼロ以外の終了コードを返すよう C/C++test を設定できます。「コマンド ラインの終了コード」を参照してください。
- 同じフローベースのルールの複製が複数有効化されているテスト コンフィギュレーションのパフォーマンスが改善されました。
非推奨の環境、システム、コンフィギュレーションのサポート
次の環境のサポートは非推奨であり、将来のリリースで削除される予定です。
Windows 7
システムの EOL に伴い、Windows 7 のサポートは非推奨になりました。
32 ビット プラットフォーム
Windows 32 ビットおよび Linux 32 ビットのサポートは非推奨になりました。非推奨のポリシーの詳細については、Parasoft 製品の営業担当者までお問い合わせください。
コンパイラ
以下のコンパイラのサポートは非推奨になりました。
- QNX GCC 4.2.x
- QNX GCC 4.4
IDE
Texas Instruments Code Composer Studio 6.0 のサポートは非推奨になりました。
ソース管理システム
以下の SCM のサポートは非推奨になりました。
- AccuRev
- ClearCase
- CVS
- Serena Dimensions
- StarTeam
- Synergy CM
Visual Source Safe
Java 6
java 6 以下のサポートは非推奨になりました。結果として、Java 6 以下を必要とする環境のサポートは、今後のリリースで廃止されます。
C/C++test テスト コンフィギュレーション
以下のテスト コンフィギュレーションが非推奨になりました。
- Texas Instruments > Run TI CCS 3.x Application with Memory Monitoring
- Texas Instruments > Run TI CCS 3.x Tests
- ARM > Run ADS 1.2 Application with Memory Monitoring
- ARM > Run ADS 1.2 Tests
- Windows Mobile> Build Test Executable for Windows Mobile
- Windows Mobile> Build and Run Application with Memory Monitoring for Pocket PC
- Window Mobile> Build and Run Application with Memory Monitoring for Smartphone
- Window Mobile> Build and Run Test Executable for Pocket PC
- Window Mobile> Build and Run Test Executable with for Smartphone
- Window Mobile, Windows CE>Build and Run Application with Memory Monitoring for WMobile or Windows CE (ActiveSync)
- Window Mobile, Windows CE>Build and Run Test Executable for Windows Mobile or Windows CE (ActiveSync)
非推奨のテスト コンフィギュレーションは、デフォルトでは利用できません。ユーザー定義コンフィギュレーションとして適用することはできます。これらのテスト コンフィギュレーションは、次の場所にあります: [INSTALL_DIR]\configs\Deprecated
環境およびシステムのサポートの廃止
IDE
Texas Instruments Code Composer Studio 5.x のサポートは廃止されました。
ソース管理システム
Microsoft Team Foundation Server 2010 はサポートされなくなりました。
その他の削除された機能
- コード レビュー モジュールは削除され、サポートされなくなりました。
- Eclipse ベースのビルダーでの C/C++test のコマンド ラインの使用はサポートされなくなりました。テストの前に指定されたビルド スクリプトを実行するオプション (
-buildscript %SCRIPT_FILE%
) は削除されました。 - 以下のオプションはテスト コンフィギュレーション設定の共通タブから削除されました。テスト後 > タスクがレポートされなかった場合、追加/変更されたファイルをソース管理にコミットする
- Windows 8 はサポートされなくなりました。
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-42109 | cpptestcli はセットアップの問題が起きたとき (単体テストの開始が失敗したなど) ゼロ以外の終了コードを返すべき |
CPP-43406 | VS テスト ケースの有効化/無効化アクションでテスト ケース エクスプローラーツリーがリフレッシュされない |
CPP-44060 | QCommandLineOption で Error: expected ';' before '}' token |
CPP-44561 | MISRA2004-19_10 (MISRAC2012-RULE_20_7-a) がマクロ定義での文字列連結に対して違反を誤検出する |
CPP-44565 | Crosstool-NG GCC (5.x) の自動検出改善 |
CPP-44578 | class "std::enable_if<>" に メンバー "type" がない |
CPP-44736 | MSVC /permissive- は friend クラスのインジェクションを無効化するべきではない |
CPP-44739 | MSVC /MP オプションの設定が誤っている |
CPP-44742 | 'return' を含まない 'default’ ステートメントが 'switch' の最後のラベルではない場合、MISRA2004-16_8 (MISRAC2012-RULE_17_4-a) が違反を誤検出する |
CPP-44744 | GNU __underlying_type 演算子が xharness によって誤って処理される |
CPP-44760 | ランタイムおよび cpptest_driver.c.h で malloc/free の使用が一貫していない |
CPP-44761 | ランタイムがユニコードでビルドされていると、CppTest ストリーム リダイレクト API が動作しない |
CPP-44796 | tiarm コンパイラ設定はリンカーに '--define' オプションを渡す必要がある |
CPP-44850 | armclang - -cc1 が指定されたコマンド ラインを無視する |
CPP-44862 | dsStrToFloat のすべてのバリアントが同じ結果を返すことを確認する |
CPP-44865 | CODSTA-190 (CERT_C-FLP37-c) は、'memcmp' および 'bcmp' 以外の名前を持つ文字列ライブラリの関数の呼び出しに対して違反を誤検出する |
CPP-44871 | FORMAT-07 が #error ディレクティブのメッセージで使用されている文字 '=' に対して違反を誤検出する |
CPP-44872 | FORMAT-21 が #error ディレクティブのメッセージで使用されている文字 '!' に対して違反を誤検出する |
CPP-44874 | CODSTA-112 (MISRAC2012-RULE_18_8-a) に有効ではなくなった「デメリット」セクションが含まれている |
CPP-44918 | AUTOSAR-A6_5_1-a (HICPP-6_2_1-a) がコンテナーを使用しないループに対して違反を誤検出する |
CPP-44923 | GLOBAL-UNUSEDFUNC (AUTOSAR-M0_1_10-a) が 'hash' 構造体で定義された変換 operator() に対して違反を誤検出する |
CPP-44946 | 引数として括弧による初期化子を持つコンストラクターの呼び出しのスタブ呼び出しのインストゥルメントが無効 |
CPP-45054 | CPPTEST_POST_CONDITION_MEM_BUFFER の自動検証が NULL ポインターに対して動作しない |
CPP-45067 | PB-23 が std::initializer_list() の呼び出しに対して違反を誤検出する |
CPP-45092 | HICPP-6_2_1-a (AUTOSAR-A6_5_1-a) が 'for-range' に置換できない 'for' ループに対して違反を誤検出する |
CPP-45190 | 修正: GCC は constexpr 関数パラメーターとして非リテラル型を許容する |
CPP-45193 | MISRA2004-16_10 (AUTOSAR-M0_3_2-a) が範囲ループに対して違反を誤検出する |
CPP-45227 | 二重の波括弧関数引数に対してコンパイルできないコードがインストゥルメントされる |
CPP-45228 | std::getline に対してコンパイルできないコードがインストゥルメントされる |
CPP-45239 | HICPP-6_2_1-a (AUTOSAR-A6_5_1-a) が 本体内でループカンターを使用する 'for' ループに対して違反を誤検出する |
CPP-45240 | ジェネリック ラムダを使用する C++ コードに対する cpptestcc インストゥルメント エラー |
CPP-45272 | VS 'cpptestcli -fail' がゼロ以外の終了コードを返さない |
CPP-45283 | パラメーターが const 型へのポインターを持てない場合に MISRA2004-16_7 (MISRA2008-7_1_2_a) が違反を誤検出する |
CPP-45312 | OPT-23 (JSF-122) が JSF-121 (2 ステートメント以上のゲッター/セッターをインライン化するべきではない) と矛盾する |
CPP-45320 | CERT_C-EXP46-a が CERT EXP46-C の要件を満たしていない |
CPP-45352 | メソッド定義で型のエイリアスを使用できない |
CPP-45375 | static_cast 演算で明示的な変換演算子が見かけ上無視される |
CPP-45498 | C のスタブ ファイルおよびCPP のテストランナー ファイルがリンクの問題を引き起こす可能性がある (Visual Studio) |
FA-7416 | MISRA2012-RULE-18_1_a および MISRA2012-DIR-4_1_a (BD-PB-ARRAY) の誤検出 |
FA-7445 | 文字配列が 0 および '\0' で終わっている場合に BD-PB-OVERFNZT がレポートされる |
FA-7473 | 算術演算子および条件演算子のコンテキストでグローバル変数のアドレスを使用している関数の CFG を作成できない |
FA-7539 | BD-PB-ARRAY が境界外の違反を誤検出する |
FA-7571 | ループの中で初期化されている場合に C++test が BD-PB-NOTINIT の違反を誤検出する |
FA-7619 | BD-PB-WRAPESC が再帰的呼び出しに対して違反を誤検出する可能性 |
FA-7626 | BD-API-VALPARAM が #include <complex> に対して違反を誤検出する |
XT-33567 | 抑制の理由に '//' を含む 'parasoft-suppress' コメント抑制の問題 |
XT-37692 | IDE によって生成される Engine ライセンスが Java または IKVM バージョンによって異なる場合がある |
新規ルール
ルール ID | 説明 |
---|---|
AUTOSAR-A12_8_2-a | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
AUTOSAR-A14_5_3-a | 非 メンバー ジェネリック演算子は、クラス (構造体) 型、列挙型、共用体型の宣言を含まない名前空間にだけ宣言できる |
AUTOSAR-A8_4_4-a | 関数の複数の出力値は構造体またはタプルとして返すべきである |
AUTOSAR-A8_5_4-a | std::initializer_list でコンストラクターをオーバーロードしない |
AUTOSAR-M0_1_2-ac | 常に同じ値に評価される条件式を避ける |
BD-SECURITY-SENSLOG | ログ ファイルに書き込む関数に機密データを渡さない |
BD-SECURITY-TDALLOC | メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する |
CODSTA-205 | 配列のサイズよりも大きな構造体を指すポインターに配列をキャストしてはならない |
CODSTA-206 | '_Noreturn' 関数指定子を使用するべきではない |
CODSTA-207 | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
CODSTA-208 | <stdalign.h> ヘッダー ファイルを使用してはならない |
CODSTA-209 | <stdatomic.h> によって提供される機能を使用するべきではない |
CODSTA-210 | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
CODSTA-211 | <threads.h> によって提供される機能を使用するべきではない |
CODSTA-212 | 'rsize_t' 型を使用するべきではない |
CODSTA-213 | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
CODSTA-214 | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
CODSTA-215 | '__STDC_WANT_LIB_EXT1__' マクロを '0' 以外の値に定義するべきではない |
CODSTA-216 | '_Generic' 演算子を使用するべきではない |
CODSTA-217 | 'errno_t' 型を使用するべきではない |
CODSTA-218 | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
CODSTA-219 | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
CODSTA-MCPP-47 | std::initializer_list でコンストラクターをオーバーロードしない |
CODSTA-MCPP-48 | 関数の複数の出力値は構造体またはタプルとして返すべきである |
CODSTA-MCPP-49 | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
CODSTA-MCPP-50 | コンテナーのすべての要素をループ処理し、ループ カウンターを使用しない for ループを使用してはならない |
CWE-532-a | ログ ファイルに書き込む関数に機密データを渡さない |
HICPP-12_5_6-a | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
MISRA2008-0_1_2_aa | プロジェクトに実行できないパスが含まれていてはならない |
MISRA2012-DIR-4_1_k | 整数のオーバーフローを避ける |
MISRA2012-DIR-4_13_f | 獲得されていないロックを解放しない |
MISRA2012-RULE-1_4_a | '_Generic' 演算子を使用するべきではない |
MISRA2012-RULE-1_4_b | '_Noreturn' 関数指定子を使用するべきではない |
MISRA2012-RULE-1_4_c | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
MISRA2012-RULE-1_4_d | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
MISRA2012-RULE-1_4_e | <stdatomic.h> によって提供される機能を使用するべきではない |
MISRA2012-RULE-1_4_f | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
MISRA2012-RULE-1_4_g | <threads.h> によって提供される機能を使用するべきではない |
MISRA2012-RULE-1_4_h | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
MISRA2012-RULE-1_4_i | <stdalign.h> ヘッダー ファイルを使用してはならない |
MISRA2012-RULE-1_4_j | '__STDC_WANT_LIB_EXT1__' マクロを '0' 以外の値に定義するべきではない |
MISRA2012-RULE-1_4_k | 'rsize_t' 型を使用するべきではない |
MISRA2012-RULE-1_4_l | 'errno_t' 型を使用するべきではない |
MISRA2012-RULE-1_4_m | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
MISRA2012-RULE-1_4_n | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
MISRA2012-RULE-21_21 | <stdlib.h> のライブラリ関数 'system' を使用してはならない |
MISRA2012-RULE-8_3_c | 1 つのオブジェクトまたは関数のすべての宣言は互換性のある型を持たなければならない |
MISRAC2012-DIR_4_13-f | 獲得されていないロックを解放しない |
MISRAC2012-DIR_4_1-k | 整数のオーバーフローを避ける |
MISRAC2012-RULE_1_4-a | '_Generic' 演算子を使用するべきではない |
MISRAC2012-RULE_1_4-b | '_Noreturn' 関数指定子を使用するべきではない |
MISRAC2012-RULE_1_4-c | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
MISRAC2012-RULE_1_4-d | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
MISRAC2012-RULE_1_4-e | <stdatomic.h> によって提供される機能を使用するべきではない |
MISRAC2012-RULE_1_4-f | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
MISRAC2012-RULE_1_4-g | <threads.h> によって提供される機能を使用するべきではない |
MISRAC2012-RULE_1_4-h | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
MISRAC2012-RULE_1_4-i | <stdalign.h> ヘッダー ファイルを使用してはならない |
MISRAC2012-RULE_1_4-j | '__STDC_WANT_LIB_EXT1__' マクロを '0' 以外の値に定義するべきではない |
MISRAC2012-RULE_1_4-k | 'rsize_t' 型を使用するべきではない |
MISRAC2012-RULE_1_4-l | 'errno_t' 型を使用するべきではない |
MISRAC2012-RULE_1_4-m | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
MISRAC2012-RULE_1_4-n | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
MISRAC2012-RULE_21_21-a | stdlib.h または cstdlib ライブラリの system() 関数を使用しない |
MISRAC2012-RULE_8_3-c | 1 つのオブジェクトまたは関数のすべての宣言は互換性のある型を持たなければならない |
TEMPL-18 | 非 メンバー ジェネリック演算子は、クラス (構造体) 型、列挙型、共用体型の宣言を含まない名前空間にだけ宣言できる |
更新されたルール
ルール カテゴリ | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_5_1-b, AUTOSAR-A18_5_2-a, AUTOSAR-A18_5_3-c, AUTOSAR-A27_0_2-b, AUTOSAR-A27_0_2-c, AUTOSAR-A2_13_4-a, AUTOSAR-A3_1_6-a, AUTOSAR-A5_0_1-f, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A6_5_1-a, AUTOSAR-A8_4_12-c, AUTOSAR-A8_4_13-b, AUTOSAR-A8_4_2-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-i, AUTOSAR-M0_3_2-a, AUTOSAR-M16_0_6-a, AUTOSAR-M16_0_8-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M7_1_2-b, AUTOSAR-M9_3_3-a |
Bug Detective | BD-API-NEGPARAM, BD-API-REVNEGPARAM, BD-PB-ARRAY, BD-PB-CHECKRETGEN, BD-PB-NP, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-PTRARR, BD-RES-BADDEALLOC, BD-RES-LEAKS |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON40-a, CERT_C-CON43-a, CERT_C-DCL13-a, CERT_C-DCL40-a, CERT_C-ENV01-c, CERT_C-ENV30-a, CERT_C-ERR33-c, CERT_C-ERR33-d, CERT_C-EXP08-b, CERT_C-EXP10-b, CERT_C-EXP30-b, CERT_C-EXP34-a, CERT_C-EXP47-a, CERT_C-FIO22-a, CERT_C-FIO37-a, CERT_C-FIO38-a, CERT_C-FIO41-b, CERT_C-FIO42-a, CERT_C-FLP37-c, CERT_C-INT10-a, CERT_C-MEM00-e, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-MSC37-a, CERT_C-POS54-c, CERT_C-PRE01-a, CERT_C-STR05-a, CERT_C-STR30-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR38-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP50-b, CERT_CPP-FIO51-a, CERT_CPP-MEM51-d, CERT_CPP-MSC52-a, CERT_CPP-STR50-c, CERT_CPP-STR50-g, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-166_a, CODSTA-166_b, CODSTA-185_a, CODSTA-188, CODSTA-190, CODSTA-195, CODSTA-CPP-54, CODSTA-CPP-78 |
Coding Conventions for Modern C++ | CODSTA-MCPP-10_a, CODSTA-MCPP-35 |
Common Weakness Enumeration | CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-476-a, CWE-770-a, CWE-772-a, CWE-787-a, CWE-787-d |
例外 | EXCEPT-21 |
High Integrity C++ | HICPP-12_5_4-a, HICPP-5_1_2-b, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-5_3_3-c, HICPP-6_3_2-a, HICPP-9_1_1-a |
Joint Strike Fighter | JSF-069, JSF-114, JSF-115, JSF-117_b, JSF-118, JSF-122, JSF-151.1, JSF-174_a, JSF-174_b, JSF-204.1_b, JSF-206 |
MISRA C 1998 | MISRA-107_a, MISRA-107_b |
MISRA C 2004 | MISRA2004-12_2_b, MISRA2004-16_10, MISRA2004-16_7, MISRA2004-16_8, MISRA2004-19_10, MISRA2004-19_16, MISRA2004-20_4 |
MISRA C++ 2008 | MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_g, MISRA2008-0_3_1_h, MISRA2008-0_3_2, MISRA2008-16_0_6, MISRA2008-16_0_8, MISRA2008-18_4_1, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_1_b, MISRA2008-7_1_2_a, MISRA2008-8_4_3, MISRA2008-9_3_3 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_12, MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_g, MISRA2012-DIR-4_1_h, MISRA2012-DIR-4_7_b, MISRA2012-RULE-13_2_b, MISRA2012-RULE-17_4, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_g, MISRA2012-RULE-20_13, MISRA2012-RULE-20_7, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_19_a, MISRA2012-RULE-21_3, MISRA2012-RULE-21_8_c, MISRA2012-RULE-22_1, MISRA2012-RULE-22_5_a, MISRA2012-RULE-22_5_b, MISRA2012-RULE-7_4, MISRA2012-RULE-8_13_a |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-g, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_12-a, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_7-b, MISRAC2012-RULE_13_2-b, MISRAC2012-RULE_17_4-a, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-g, MISRAC2012-RULE_20_13-a, MISRAC2012-RULE_20_7-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_19-a, MISRAC2012-RULE_21_3-a, MISRAC2012-RULE_21_8-c, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_5-a, MISRAC2012-RULE_22_5-b, MISRAC2012-RULE_7_4-a, MISRAC2012-RULE_8_13-a |
最適化 | OPT-23 |
バグの可能性 | PB-23, PB-27, PB-67, PB-72 |
削除されたルール
結果の正確さを向上させるため、以下のルールは削除されました。
ルール カテゴリ | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A27_0_2-d, AUTOSAR-A27_0_2-g |
SEI CERT C | CERT_C-EXP46-a, CERT_C-MSC32-a, CERT_C-MSC32-b, CERT_C-MSC32-c, CERT_C-STR34-a, CERT_C-STR34-e, CERT_C-STR34-f |
SEI CERT C++ | CERT_CPP-STR50-a, CERT_CPP-STR50-d |
MISRA C 2012 (Legacy) | MISRA2012-RULE-21_8_d |
MISRA C 2012 | MISRAC2012-RULE_21_8-d |