リリース日: 2020年11月9日
このリリースには、以下の拡張が含まれます。
新しい抑制フォーマット
静的解析の指摘事項の抑制を parasoft.suppress ファイルに作成し、ソース ファイルとともにソース管理システムに保存できます。C/C++test GUI で抑制ファイルを作成するか、抑制したい指摘事項の情報を手動で抑制ファイルに追加します。「静的解析違反メッセージの抑制」を参照してください。
ローカルまたは Team Server への XML 形式フォーマットでの抑制の保存は、抑制ビューとともに非推奨になりました。非推奨の抑制を新しいフォーマットに移行するか、抑制ビューで非推奨の抑制フォーマットを有効化できます。「非推奨の抑制の扱い」を参照してください。
さらに、正規表現パターンに一致する行で検出された静的ルール違反を自動的に抑制するよう設定できます。「正規表現パターンに基づく行抑制の定義」を参照してください。
静的解析の拡張
C/C++test の静的解析に、最も有益なタスクに集中するのに役立つ新機能が追加されました。
現在のブランチで変更されたコードをターゲットとする新しいスコープ オプション
現在の作業ブランチで変更されたファイルだけに解析範囲を制限するファイル フィルターを作成できるオプションが追加されました。これにより、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。
さらに、ローカルで変更されたファイルだけに範囲を狭め、変更したコードをソース管理システムにチェックインする前に解析することもできます。
詳細は「ソース管理データに基づくファイル フィルターの定義」を参照してください。
コード解析ベースラインを定義する新しいレポート参照オプション
C/C++test での解析実行時にベースラインとして使用される参照レポート ファイルへのパスまたは URL を指定できるようになりました。これにより、以前にレポートされた指摘事項を現在のレポートから除外し、最近検出されたコードの欠陥だけに集中できるようになります。「参照レポートの設定」を参照してください。
要求とテストの関連付けの拡張
テストでカバーされていない要求管理システム (RMS) の要求を特定するのに役立つよう、要求とテストの関連を提示する C/C++test の機能が大幅に拡張されました。 以下が可能になりました。
- ファイルまたは DTP から要求をインポートする
- ワークスペースをスキャンして、要求と既存のテストの間の関連を検出する
- テストによってカバーされていない要求を識別し、プロジェクトに適切なテストを追加することで不足に対処する
- 新しく作成したテストとインポートされた要求を関連付ける
「要求とテストの関連付け」を参照してください。
DTP へのカバレッジ レポートの拡張
サポートされるすべての種類のカバレッジのデータを DTP にパブリッシュし、カバレッジ ウィジェットに表示できるようになりました。これにより、DTP ダッシュボードで簡単にカバレッジ統計およびトレンドを解析できます。「カバレッジの種類」および「DTPとの接続」を参照してください。
コンパイラのサポート
新たに以下のコンパイラがサポートされました。
コンパイラ名 | コンパイラ略称 |
---|---|
ARM Compiler 6.14 | armclang_6_14 |
Clang C/C++ Compiler v 10.0 (x86_64) | clang_10_0 |
GNU GCC 10.x (x86_64) | gcc_10-64 |
IAR Compiler for ARM v. 8.50x | iccarm_8_50 |
Metaware DesignWare ARC C/C++ Compiler P-2019.09 | ccac_2019_09 |
IDE
次の IDE のサポートが追加されました。
- Eclipse 2018-12 (4.10)
- Eclipse 2019-03 (4.11)
- Eclipse 2019-06 (4.12)
- Eclipse 2019-09 (4.13)
- Eclipse 2019-12 (4.14)
- Eclipse 2020-03 (4.15)
新しいインストール パッケージのプレビュー
このリリースでは、インストール プロセスを簡略化する新しい Linux および Windows 向けインストール パッケージのプレビュー版が導入されました。スクリプトやモジュールを実行せず、インストール パッケージの内容を任意の場所に展開するだけで C/C++test Professional をインストールできます。
新しいインストール パッケージはプレビュー用に提供されており、運用環境には推奨されないことに注意してください。新しいインストール パッケージは通常のインストーラーとともに提供されます。引き続き、C/C++test Professional をインストールするためのメインの方法は通常のインストーラーです。詳細は Parasoft 製品担当者にお問い合わせください。
その他の拡張
- フローベースの解析実行に必要なデータ セットを構築する際のディスク使用量を削減しました。
- モダン C++ のフローベース解析パフォーマンスが改善されました。
- 追加の詳細設定を指定して、C/C++test による静的解析を微調整できるようになりました。「詳細オプションの設定」を参照してください。
- プロジェクト作成ウィザードは、CMake ビルド システムによって生成された JSON フォーマットのビルド定義ファイルをインポートできるようになりました。
追加または更新された解析ルール
新規静的解析ルールが追加され、コンプライアンス標準のカバー範囲が拡張されました。詳細については「新規ルール」、「更新されたルール」を参照してください。
テスト コンフィギュレーションの更新
以下のテスト コンフィギュレーションが更新されました。
- AUTOSAR C++14 Coding Guidelines
- Flow Analysis Aggressive
- Flow Analysis Fast
- Flow Analysis Standard
- High Integrity C++
- Joint Strike Fighter
- MISRA C 1998
- MISRA C 2004
- MISRA C 2012
- MISRA C++ 2008
- Recommended Rules for FDA (C)
- Recommended Rules for FDA (C++)
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
非推奨の環境およびサポート対象から削除された環境
非推奨のコンパイラ
次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。
- ARM Compiler 6.6
- Intel C++ Compiler v 18.0
- GCC for Tricore 4.9.x
非推奨のプラットフォーム
次のプラットフォームのサポートは非推奨であり、将来のリリースで削除される予定です。
- Windows Server 2008
- Windows Server 2012
削除された IDE
次の IDE のサポートは廃止されました。
- バージョン 5.28 より前の ARM DS-5
- Eclipse 3.8
- Renesas e2 Studio 5.1
- WindRiver Workbench 3.3
- Texas Instruments Code Composer Studio 6.0
削除されたソース管理システム
次の SCM のサポートは廃止されました。
- AccuRev
- ClearCase
- CVS
- Serena Dimensions
- StarTeam
- Synergy CM
Visual Source Safe
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-42547 | CERT-C-MSC04 は、URL を構成する '//'に対して違反をレポートするべきではない |
CPP-44289 | すべてのテスト ケース ステップを展開/折り畳みするボタンの追加 |
CPP-44888 | MISRA2004-5_1 の精度改善 |
CPP-44911 | CERT_C-INT34-a (MISRA-038) が正しいシフト演算に対して違反を誤検出する |
CPP-44935 | CODSTA-125 (CERT_CPP-EXP57-b) が nullptr からの変換に対して違反を誤検出する |
CPP-45230 | 非常に長いコマンド ラインを指定して cpptestcli から呼び出されたとき、cpptestcc1 がクラッシュする |
CPP-45349 | AUTOSAR-A7_1_3-a の誤検出 |
CPP-45372 | MISRA2008-5_0_6_a の違反誤検出 |
CPP-45430 | #ifndef が使用されていない場合、PREPROC-10 (MISRA2008-16_2_1_b) が #endif ディレクティブを検出しない |
CPP-45452 | デフォルト化できないコンストラクターに対して HICPP-12_5_2-a (AUTOSAR-A12_7_1-a) が違反を誤検出する |
CPP-45500 | オーバーロードされた関数 "ioctl" の複数のインスタンスに "C" リンケージがある |
CPP-45501 | カバレッジ: 無名の名前空間に定義された関数がカバレッジ ビューに複数回表示される可能性がある |
CPP-45505 | error: identifier "r9" is undefined static __no_init uint32_t __iar_SB @ r9; |
CPP-45510 | CODSTA-CPP-53 が struct 変数に対して違反をレポートする |
CPP-45514 | JSF-041 (METRICS-26) は parasoft-begin-suppress、parasoft-end-suppress コメントを無視するべき |
CPP-45516 | JSF-046 ルールの実装の改善 |
CPP-45748 | GCC および Clang で括弧の省略が動作しない |
CPP-45769 | MISRA2004-8_7 (JSF-136_a) はヘッダーで定義された const 変数に対して違反をレポートするべきではない |
CPP-45796 | プロジェクト名に "@" が使用されている場合に MISRA-005 (JSF-009) が違反を検出する |
CPP-45833 | JSF-206 (MISRA2004-20_4) は 'new' および 'delete' 演算子メンバー関数を許容する |
CPP-45834 | 自動生成スタブで明示的なコンストラクターが暗黙的に使用されている |
CPP-45855 | Error: pack "_UElements" does not have the same number of elements as "_Elements" |
CPP-45859 | Error: assertion failed at: "scope_stk.c", line 5053 in push_template_instantiation_scope |
CPP-45866 | MISRA2004-14_8 (MISRAC2012-RULE_15_6-a) が範囲ループに対して違反を誤検出する |
CPP-45877 | カンマ区切りプリプロセッサ定義値の誤った処理 |
CPP-45878 | INIT-05 が範囲ベースの for ループに対して違反をレポートする |
CPP-45880 | GCC はシステム関数の例外仕様の不一致を許容する |
CPP-45912 | JSF-051 のマッピングを改善する |
CPP-45917 | CODSTA-61 (JSF-194, MISRA2008-6_4_6) による同じ値の複数の列挙子の処理方法を改善する |
CPP-45965 | オーバーロード可能な属性を持つインストゥルメント コードのコンパイル エラー |
CPP-45975 | PB-50 が scanf の %* を認識しない |
CPP-45978 | 'switch' 文と本体の間にプリプロセッサ ディレクティブがある場合、MISRA2004-15_1 (MISRAC2012-RULE_16_2-a) ルールが違反を誤検出する |
CPP-45979 | ローカル オブジェクトのアドレスが非 static メンバーに代入されている場合、MISRA2004-17_6_b が違反を検出しない |
CPP-45992 | Solution Folder があるソリューションのテスト中に違反が発生する |
CPP-46015 | ビルトイン関数の EDG 互換性のない宣言: __builtin_operator_new および __builtin_operator_delete |
CPP-46018 | MISRAC2012-DIR_4_7-a (BD-PB-CHECKRET) ルールの違反をロードできない |
CPP-46031 | STL-37 (AUTOSAR-A18_1_1-a) は '_func_' マクロの使用に対して違反をレポートするべきではない |
CPP-46137 | CODSTA-13 (JSF-171) がポインター型の式の比較に対して違反をレポートしない |
CPP-46138 | PREPROC-06 がヘッダー ファイル "sensors/sensor.h" に対して違反をレポートする |
CPP-46139 | vector<uint16_t> のテストを生成すると、internal error: assertion failed at: "exprutil.c" が発生する |
CPP-46142 | CERT_C-FI034 のマッピングが誤っている |
CPP-46159 | libc++ で使用されている __builtin_launder の戻り値の型が C++17 と異なっている |
CPP-46173 | CODSTA-CPP-53 および JSF-117.1 の誤検出 |
CPP-46177 | 関数パラメーターの配列次元でキャストが使用されている場合、MISRA2004-14_2 (MISRAC2012-RULE_2_2-a) が違反を誤検出する |
CPP-46186 | MISRA2004-17_6_a の誤検出 |
CPP-46200 | IAR: 長いリンカー コマンド ラインを処理できるようにする |
CPP-46219 | MISRA2008-5_0_1_f - 複数の volatile 型がある場合に、2 つの実装された関数のうち 1 つにバグの可能性 |
CPP-46266 | ループ内で整数定数がキャストされている場合に CODSTA-83 が違反を誤検出する |
CPP-46284 | SECURITY-19 から CERT_C-POS35-a へのマッピングを削除する |
CPP-46317 | "boost::units::dimensionless_type" クラスにメンバー "item" がない |
CPP-46328 | エラー: 同じパラメーター型を持つ static および非 static メンバー関数はオーバーロードできない |
CPP-46334 | AUTOSAR A3-3-2 が非 static クラス メンバー変数に対して違反をレポートする |
CPP-46404 | HICPP-9_1_5-a (AUTOSAR-A10_3_3-a) が 'final' 宣言された仮想関数に対して違反をレポートする |
CPP-46466 | JSF-111 のマッピングを改善する |
CPP-46520 | MISRAC2012-RULE_14_2-* ルールの std::optional に対する違反の誤検出 |
CPP-46549 | GCC の C++98/03 モードでの標準属性をサポートする |
FA-7538 | BD-PB-ARRAY が static 関数に違反をレポートする |
FA-7588 | 解析が深さの制限に達した場合、BD-PB-CC が違反を誤検出する |
FA-7814 | BD-PB-CC の誤検出 |
FA-7855 | 多次元配列がstruct フィールドとして使用されている場合、BD-PB-ARRAY が違反を検出できない |
FA-7884 | BD-PB-NOTINIT - 初期化せずに CString.Format() が使用されている場合、違反を検出できない |
FA-7907 | BD-API-NEGPARAM は fseek の負数のオフセットに対して違反をレポートするべきではない |
FA-7909 | BD-PB-BADSHIFT が uint64_t 変数に対して違反をレポートする |
FA-7913 | ポインターに配列の変数のアドレスが代入されている場合、BD-PB-NP が違反を誤検出する |
FA-7916 | BD-PB-OVERFNZT が char 配列に対して違反を誤検出する |
FA-7917 | 宛先バッファーがベクター要素へのポインターである場合、BD-PB-OVERFWR が違反を誤検出する |
FA-7918 | BD-PB-CC std::abs に対する違反誤検出 |
FA-7919 | エイリアス ポインターを通じてバッファーの内容が割り当てられている場合、BD-PB-OVERFNZT が違反を誤検出する |
FA-7933 | BD-PB-OVERFNZT が strcpy() に対して違反を誤検出する |
FA-7934 | マクロが使用されている場合、BD-PB-ARRAY が違反を検出できない |
FA-7938 | 誤った浮動小数点数値の推測による BD-PB-ARRAY の違反誤検出 |
FA-7939 | テンプレート変数がラムダによってキャプチャされている場合、DependencyFinder.processCfe() で NullPointerException が発生する |
FA-7991 | MISRAC2012-RULE_9_1-a および MISRAC2012-DIR_4_1-a の違反誤検出 (iccarm で、潜在型が "char" 型の列挙型が誤って "signed char" として扱われる) |
FA-7996 | armclamg 6.9 で BD-PB-SUBSEQMOVE および BD-PB-SUBSEQFRWD の違反誤検出 |
FA-7997 | QNX 5.x (32 ビット版) 使用時に BD-PB-ERRNO が違反を誤検出する |
FA-8009 | BD-PB-CC が read OS 呼び出しに対して違反をレポートする |
新規ルール
ルール ID | ルールの説明 |
---|---|
BD-PB-PTRSUB | 同じ配列の要素を指していない 2 つのポインターを減算しない |
CERT_C-ARR36-b | 関連のない 2 つのポインターを比較してはならない |
CERT_CPP-CTR54-c | 同じ配列の要素を指していない 2 つのポインターを減算しない |
CODSTA-13_b | ポインターの減算は、同じ配列の要素を指すポインターにだけ適用する |
CODSTA-CPP-105 | 特別なメンバーの動作がコンパイラの動作と同じである場合は、=default と定義する |
CODSTA-MCPP-51 | 結果がただちに const iterator に変換される場合、const コンテナーの呼び出しを使用する |
CODSTA-MCPP-52 | final クラスに仮想関数を導入しない |
FORMAT-47_a | CV 修飾子は、修飾される型の右側に置く |
FORMAT-47_b | CV 修飾子は、typedef または using 名である型の右側に置く |
JSF-046_a | ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである |
JSF-046_b | ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである |
JSF-046_c | 同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである |
JSF-051 | 関数および変数名はすべて小文字でなければならない |
MISRA2004-5_1_a | ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである |
MISRA2004-5_1_b | ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである |
MISRA2004-5_1_c | 同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである |
NAMING-54 | 視覚的に区別しやすい識別子を使用する |
PORT-34_a | ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである |
PORT-34_b | ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである |
PORT-34_c | 同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである |
PORT-35_a | ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである |
PORT-35_b | ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである |
PORT-35_c | 同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである |
PORT-36_a | 識別子の名前は 31 文字を超えるべきではない |
PORT-36_b | マクロ識別子の名前は 31 文字を超えるべきではない |
更新されたルール
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A10_3_3-a, AUTOSAR-A12_7_1-a, AUTOSAR-A12_8_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_4_5-a, AUTOSAR-A16_0_1-a, AUTOSAR-A18_1_1-a, AUTOSAR-A18_1_6-a, AUTOSAR-A18_5_2-a, AUTOSAR-A18_9_4-a, AUTOSAR-A20_8_5-a, AUTOSAR-A23_0_1-a, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A2_3_1-a, AUTOSAR-A3_3_2-a, AUTOSAR-A3_8_1-b, AUTOSAR-A3_8_1-c, AUTOSAR-A5_0_2-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A6_4_1-a, AUTOSAR-A6_5_3-a, AUTOSAR-A6_5_4-b, AUTOSAR-A6_6_1-a, AUTOSAR-A7_1_1-a, AUTOSAR-A7_1_3-a, AUTOSAR-A7_1_5-a, AUTOSAR-A7_1_7-a, AUTOSAR-A8_4_3-a, AUTOSAR-A8_4_3-b, AUTOSAR-A8_4_9-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_1-c, AUTOSAR-M0_1_1-f, AUTOSAR-M0_1_1-g, AUTOSAR-M0_1_2-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_2-c, AUTOSAR-M0_1_2-n, AUTOSAR-M0_1_2-o, AUTOSAR-M0_1_2-p, AUTOSAR-M0_1_2-q, AUTOSAR-M0_1_2-s, AUTOSAR-M0_1_2-x, AUTOSAR-M0_1_2-y, AUTOSAR-M0_1_9-a, AUTOSAR-M0_3_1-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-c, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_1-i, AUTOSAR-M15_1_1-a, AUTOSAR-M15_1_2-a, AUTOSAR-M3_3_2-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M5_0_17-a, AUTOSAR-M5_0_18-a, AUTOSAR-M5_0_2-a, AUTOSAR-M5_0_6-a, AUTOSAR-M6_4_2-a, AUTOSAR-M6_4_3-a, AUTOSAR-M6_4_3-b, AUTOSAR-M6_4_3-c, AUTOSAR-M6_4_3-d, AUTOSAR-M6_4_3-e, AUTOSAR-M6_4_4-a, AUTOSAR-M6_4_5-a, AUTOSAR-M6_4_6-a, AUTOSAR-M6_4_7-a, AUTOSAR-M6_5_3-a, AUTOSAR-M6_5_4-a, AUTOSAR-M6_5_5-a, AUTOSAR-M6_5_6-a, AUTOSAR-M7_1_2-c, AUTOSAR-M7_5_1-a, AUTOSAR-M7_5_2-a, AUTOSAR-M8_5_2-a |
フロー解析 | BD-API-NEGPARAM, BD-API-STRSIZE, BD-PB-ARRAY, BD-PB-BADSHIFT, BD-PB-CC, BD-PB-ERRNO, BD-PB-NOTINIT, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-PTRARR, BD-PB-PTRCMP, BD-PB-SUBSEQFRWD, BD-PB-SUBSEQMOVE, BD-PB-VOVR, BD-RES-LEAKS, BD-TRS-MLOCK, BD-TRS-ORDER |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR36-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON41-a, CERT_C-CON43-a, CERT_C-DCL00-a, CERT_C-DCL02-a, CERT_C-DCL10-a, CERT_C-DCL11-a, CERT_C-DCL11-b, CERT_C-DCL11-c, CERT_C-DCL11-f, CERT_C-DCL22-a, CERT_C-DCL30-a, CERT_C-DCL30-b, CERT_C-DCL36-a, CERT_C-DCL41-a, CERT_C-ENV01-c, CERT_C-ERR30-a, CERT_C-ERR32-a, CERT_C-ERR33-c, CERT_C-EXP08-b, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-FIO22-a, CERT_C-FIO34-a, CERT_C-FIO37-a, CERT_C-FIO42-a, CERT_C-FIO47-a, CERT_C-FIO47-b, CERT_C-FIO47-c, CERT_C-FIO47-f, CERT_C-FLP30-a, CERT_C-FLP34-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-INT31-b, CERT_C-INT31-d, CERT_C-INT31-e, CERT_C-INT31-f, CERT_C-INT31-i, CERT_C-INT31-j, CERT_C-INT31-k, CERT_C-INT34-a, CERT_C-MEM00-e, CERT_C-MEM01-b, CERT_C-MEM01-c, CERT_C-MEM01-d, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC01-a, CERT_C-MSC01-b, CERT_C-MSC04-b, CERT_C-MSC07-a, CERT_C-MSC07-d, CERT_C-MSC07-e, CERT_C-MSC09-a, CERT_C-MSC12-a, CERT_C-MSC12-d, CERT_C-MSC12-e, CERT_C-MSC17-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-POS30-a, CERT_C-POS51-a, CERT_C-POS54-c, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-CON53-a, CERT_CPP-CTR54-b, CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP53-a, CERT_CPP-EXP54-b, CERT_CPP-EXP54-c, CERT_CPP-EXP57-b, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-04, CODSTA-08, CODSTA-119, CODSTA-125, CODSTA-13, CODSTA-149, CODSTA-161_a, CODSTA-161_b, CODSTA-161_d, CODSTA-161_e, CODSTA-161_f, CODSTA-163_b, CODSTA-164_a, CODSTA-164_b, CODSTA-165_a, CODSTA-165_b, CODSTA-168, CODSTA-169_b, CODSTA-169_c, CODSTA-18, CODSTA-194, CODSTA-23, CODSTA-26, CODSTA-32, CODSTA-33, CODSTA-35, CODSTA-41, CODSTA-53, CODSTA-54, CODSTA-56, CODSTA-61, CODSTA-64, CODSTA-79, CODSTA-81, CODSTA-82, CODSTA-83, CODSTA-85, CODSTA-98 |
C++ コーディング規約 | CODSTA-CPP-15, CODSTA-CPP-43, CODSTA-CPP-53, CODSTA-CPP-64, CODSTA-CPP-71, CODSTA-CPP-72, CODSTA-CPP-73 |
Coding Conventions for Modern C++ | CODSTA-MCPP-16_e, CODSTA-MCPP-27, CODSTA-MCPP-32, CODSTA-MCPP-40 |
コメント | COMMENT-11 |
Common Weakness Enumeration | CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-362-e, CWE-476-a, CWE-704-c, CWE-772-a, CWE-787-a, CWE-787-d, CWE-835-a |
例外 | EXCEPT-11, EXCEPT-12, EXCEPT-22 |
Formatting | FORMAT-06 |
High Integrity C++ | HICPP-16_1_1-b, HICPP-16_1_2-a, HICPP-17_3_3-a, HICPP-18_2_2-a, HICPP-18_3_2-a, HICPP-1_2_1-a, HICPP-1_2_1-d, HICPP-1_2_1-e, HICPP-1_2_1-i, HICPP-1_2_2-a, HICPP-3_4_1-a, HICPP-3_4_2-a, HICPP-3_5_1-c, HICPP-3_5_1-d, HICPP-4_2_2-f, HICPP-5_1_1-a, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-6_1_2-a, HICPP-6_1_2-b, HICPP-6_1_3-a, HICPP-6_1_4-a, HICPP-6_1_4-b, HICPP-6_2_2-a, HICPP-6_2_3-a, HICPP-6_2_4-a, HICPP-6_3_1-a, HICPP-6_4_1-b, HICPP-7_1_2-a, HICPP-8_4_1-a, HICPP-8_4_2-a |
初期化 | INIT-03, INIT-05, INIT-16 |
Joint Strike Fighter | JSF-009, JSF-028, JSF-041, JSF-042, JSF-052, JSF-111, JSF-111_a, JSF-117, JSF-117.1, JSF-125_a, JSF-136_a, JSF-138_a, JSF-142_b, JSF-144, JSF-151, JSF-171, JSF-173, JSF-186_a, JSF-186_d, JSF-186_e, JSF-187, JSF-188, JSF-189, JSF-191, JSF-191_a, JSF-192, JSF-193, JSF-194, JSF-195, JSF-196, JSF-197, JSF-199, JSF-201, JSF-206 |
メトリクス | METRICS-02, METRICS-26 |
MISRA C 1998 | MISRA-005, MISRA-024, MISRA-055, MISRA-058, MISRA-065 |
MISRA C 2004 | MISRA2004-10_1_d, MISRA2004-12_1_a, MISRA2004-13_2, MISRA2004-13_4, MISRA2004-13_5, MISRA2004-13_6, MISRA2004-13_7_aa, MISRA2004-13_7_ab, MISRA2004-13_7_ac, MISRA2004-13_7_ad, MISRA2004-13_7_ae, MISRA2004-13_7_af, MISRA2004-13_7_ag, MISRA2004-13_7_ah, MISRA2004-13_7_z, MISRA2004-14_10, MISRA2004-14_1_a, MISRA2004-14_1_d, MISRA2004-14_1_e, MISRA2004-14_2, MISRA2004-14_4, MISRA2004-14_6, MISRA2004-15_0_a, MISRA2004-15_0_b, MISRA2004-15_1, MISRA2004-15_2, MISRA2004-15_2_b, MISRA2004-15_3, MISRA2004-15_4, MISRA2004-15_4_b, MISRA2004-15_5, MISRA2004-17_3, MISRA2004-17_6_a, MISRA2004-17_6_b, MISRA2004-20_4, MISRA2004-8_7, MISRA2004-9_2 |
MISRA C++ 2008 | MISRA2008-0_1_1_a, MISRA2008-0_1_1_d, MISRA2008-0_1_1_e, MISRA2008-0_1_2_aa, MISRA2008-0_1_2_b, MISRA2008-0_1_2_c, MISRA2008-0_1_2_d, MISRA2008-0_1_2_e, MISRA2008-0_1_2_f , MISRA2008-0_1_2_g, MISRA2008-0_1_2_h, MISRA2008-0_1_2_i, MISRA2008-0_1_2_rz, MISRA2008-0_1_6, MISRA2008-0_1_9, MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_e, MISRA2008-0_3_1_g, MISRA2008-0_3_1_h, MISRA2008-0_3_1_i, MISRA2008-0_3_1_j, MISRA2008-15_1_1, MISRA2008-15_1_2, MISRA2008-16_2_1_b, MISRA2008-18_4_1, MISRA2008-3_3_2, MISRA2008-3_4_1_b, MISRA2008-5_0_13, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_17, MISRA2008-5_0_18, MISRA2008-5_0_2_a, MISRA2008-5_0_6_a, MISRA2008-6_4_2, MISRA2008-6_4_3_a, MISRA2008-6_4_3_b, MISRA2008-6_4_3_c, MISRA2008-6_4_3_d, MISRA2008-6_4_3_e, MISRA2008-6_4_4, MISRA2008-6_4_5, MISRA2008-6_4_6, MISRA2008-6_4_7, MISRA2008-6_4_8, MISRA2008-6_5_3, MISRA2008-6_5_4, MISRA2008-6_5_5, MISRA2008-6_5_6, MISRA2008-6_6_4, MISRA2008-7_1_1, MISRA2008-7_1_2_b, MISRA2008-7_5_1, MISRA2008-7_5_2_a, MISRA2008-7_5_2_b, MISRA2008-8_5_2 |
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_e, MISRA2012-DIR-4_1_g, MISRA2012-DIR-4_1_h, MISRA2012-DIR-4_1_i, MISRA2012-DIR-4_1_j, MISRA2012-RULE-10_1_a, MISRA2012-RULE-10_1_b, MISRA2012-RULE-10_1_d, MISRA2012-RULE-10_1_e, MISRA2012-RULE-10_1_f, MISRA2012-RULE-10_3_b, MISRA2012-RULE-10_4_a, MISRA2012-RULE-10_4_b, MISRA2012-RULE-10_5_a, MISRA2012-RULE-10_5_b, MISRA2012-RULE-11_2, MISRA2012-RULE-14_2_a, MISRA2012-RULE-14_2_c, MISRA2012-RULE-14_2_d, MISRA2012-RULE-14_3_q, MISRA2012-RULE-14_3_r, MISRA2012-RULE-14_3_s, MISRA2012-RULE-14_3_t, MISRA2012-RULE-14_3_u, MISRA2012-RULE-14_3_v, MISRA2012-RULE-14_3_w, MISRA2012-RULE-14_3_x, MISRA2012-RULE-14_3_y, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-14_4, MISRA2012-RULE-15_1, MISRA2012-RULE-15_4, MISRA2012-RULE-15_7, MISRA2012-RULE-16_1_a, MISRA2012-RULE-16_1_b, MISRA2012-RULE-16_1_c, MISRA2012-RULE-16_1_d, MISRA2012-RULE-16_1_e, MISRA2012-RULE-16_1_f, MISRA2012-RULE-16_1_h, MISRA2012-RULE-16_2, MISRA2012-RULE-16_3_a, MISRA2012-RULE-16_3_b, MISRA2012-RULE-16_4_a, MISRA2012-RULE-16_4_b, MISRA2012-RULE-16_6, MISRA2012-RULE-16_7_a, MISRA2012-RULE-16_7_b, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-18_2, MISRA2012-RULE-18_3, MISRA2012-RULE-18_6_a, MISRA2012-RULE-18_6_b, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_m, MISRA2012-RULE-1_3_n, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_18, MISRA2012-RULE-21_3, MISRA2012-RULE-22_1, MISRA2012-RULE-22_10, MISRA2012-RULE-22_8, MISRA2012-RULE-22_9, MISRA2012-RULE-2_1_a, MISRA2012-RULE-2_1_d, MISRA2012-RULE-2_1_e, MISRA2012-RULE-2_2_a, MISRA2012-RULE-2_2_b, MISRA2012-RULE-3_1_b, MISRA2012-RULE-8_9, MISRA2012-RULE-9_1, MISRA2012-RULE-9_2 |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_1-g, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_1-i, MISRAC2012-DIR_4_1-j, MISRAC2012-DIR_4_12-a, MISRAC2012-DIR_4_13-a, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_10_1-b, MISRAC2012-RULE_10_1-d, MISRAC2012-RULE_10_1-e, MISRAC2012-RULE_10_1-f, MISRAC2012-RULE_10_3-b, MISRAC2012-RULE_10_4-a, MISRAC2012-RULE_10_4-b, MISRAC2012-RULE_10_5-a, MISRAC2012-RULE_10_5-b, MISRAC2012-RULE_11_2-a, MISRAC2012-RULE_14_2-a, MISRAC2012-RULE_14_2-c, MISRAC2012-RULE_14_2-d, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_14_3-q, MISRAC2012-RULE_14_3-r, MISRAC2012-RULE_14_3-s, MISRAC2012-RULE_14_3-t, MISRAC2012-RULE_14_3-u, MISRAC2012-RULE_14_3-v, MISRAC2012-RULE_14_3-w, MISRAC2012-RULE_14_3-x, MISRAC2012-RULE_14_3-y, MISRAC2012-RULE_14_4-a, MISRAC2012-RULE_15_1-a, MISRAC2012-RULE_15_4-a, MISRAC2012-RULE_15_7-a, MISRAC2012-RULE_16_1-a, MISRAC2012-RULE_16_1-b, MISRAC2012-RULE_16_1-c, MISRAC2012-RULE_16_1-d, MISRAC2012-RULE_16_1-e, MISRAC2012-RULE_16_1-f, MISRAC2012-RULE_16_1-h, MISRAC2012-RULE_16_2-a, MISRAC2012-RULE_16_3-a, MISRAC2012-RULE_16_3-b, MISRAC2012-RULE_16_4-a, MISRAC2012-RULE_16_4-b, MISRAC2012-RULE_16_6-a, MISRAC2012-RULE_16_7-a, MISRAC2012-RULE_16_7-b, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_18_2-a, MISRAC2012-RULE_18_3-a, MISRAC2012-RULE_18_6-a, MISRAC2012-RULE_18_6-b, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-m, MISRAC2012-RULE_1_3-n, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_18-a, MISRAC2012-RULE_21_3-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_10-a, MISRAC2012-RULE_22_8-a, MISRAC2012-RULE_22_9-a, MISRAC2012-RULE_2_1-a, MISRAC2012-RULE_2_1-d, MISRAC2012-RULE_2_1-e, MISRAC2012-RULE_2_2-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_3_1-b, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_1-a, MISRAC2012-RULE_9_2-a |
メモリおよびリソース管理 | MRM-09, MRM-10, MRM-11, MRM-51 |
名前付け規則 | NAMING-04, NAMING-42, NAMING-44 |
最適化 | OPT-14, OPT-20, OPT-21, OPT-22, OPT-39 |
OWASP Top 10 Most Critical Web Application Security Risks (2017) | OWASP2017-A6-c |
バグの可能性 | PB-13, PB-45, PB-46, PB-47, PB-50 |
移植性 | PORT-10, PORT-25 |
プリプロセッサ | PREPROC-06, PREPROC-10 |
STL ベスト プラクティス | STL-04, STL-10, STL-12, STL-37 |
削除されたルール
結果の正確さを向上させるため、以下のルールは削除されました。
カテゴリ ID | ルール ID |
---|---|
SEI CERT C | CERT_C-POS35-a |
Joint Strike Fighter | JSF-046, JSF-051_a, JSF-051_b, JSF-051_c, JSF-051_d, JSF-051_e |
MISRA C 2004 | MISRA2004-5_1 |