このリリースでは、特にコード解析機能の拡張とサポート対象環境の拡張が行われました。
サポート対象コンパイラの拡張
- Green Hills Software Compiler for PPC 2017.1.x のサポート
サポート対象プラットフォームの拡張
- Windows Server 2016 のサポート
フロー解析の拡張
フロー解析でスコープ外の関数およびファイルを解析するよう設定できます (詳細については「フロー解析の設定」を参照してください)。
新規コード解析ルール
ルール ID | ヘッダー |
---|---|
GLOBAL-UNIQUETYPE | クラス、共用体、列挙型の名前 (修飾子があれば修飾子も) は一意の識別子でなければならない |
GLOBAL-UNUSEDFUNC | 外部リンケージを持つ定義されたすべての関数は少なくとも 1 度は使用されなければならない |
MISRA2008-0_1_10_b | 外部リンケージを持つ定義されたすべての関数は少なくとも 1 度は使用されなければならない |
MISRA2008-2_10_41 | クラス、共用体、列挙型の名前 (修飾子があれば修飾子も) は一意の識別子でなければならない |
1 次のルールは削除され、新しい MISRA2008-2_10_4 ルールに置き換えられました: MISRA2008-2_10_4_a, MISRA2008-2_10_4_b, MISRA2008-2_10_4_c
更新されたコード解析ルール
ルール カテゴリ | ルール ID |
---|---|
フロー解析 | BD-SECURITY-TDENV, BD-SECURITY-TDCONSOLE, BD-PB-CHECKRET |
コーディング規約 | CODSTA-10, CODSTA-11, CODSTA-61,CODSTA-67, CODSTA-112, CODSTA-CPP-02, CODSTA-CPP-11, CODSTA-CPP-66, CODSTA-MCPP-10_a, CODSTA-MCPP-10_b, CODSTA-MCPP-14, CODSTA-MCPP-16_b, CODSTA-MCPP-16_c, CODSTA-MCPP-16_d |
コメント | COMMENT-05 |
例外 | EXCEPT-17 |
書式 | FORMAT-26 |
初期化 | INIT-06 |
Joint Strike Fighter | JSF-051_a, JSF-071_b, JSF-081, JSF-082, JSF-117_b, JSF-127, JSF-132_a, JSF-142_a, JSF-163, JSF-164, JSF-185, JSF-186_h, JSF-194, JSF-202 |
MISRA-030 | |
MISRA 2004 | MISRA2004-2_4, MISRA2004-5_4_a, MISRA2004-5_4_b, MISRA2004-5_4_c, MISRA2004-9_1, MISRA2004-10_1_g, MISRA2004-12_8, MISRA2004-13_3, MISRA2004-16_9 |
MISRA 2008 | MISRA2008-0_1_10, MISRA2008-2_7_2, MISRA2008-2_7_3, MISRA2008-3_9_1, MISRA2008-5_2_4, MISRA2008-5_8_1, MISRA2008-6_2_2, MISRA2008-6_4_3_c, MISRA2008-6_4_6, MISRA2008-8_4_4, MISRA2008-8_5_1, MISRA2008-15_3_6 |
MISRA 2012 | MISRA2012-DIR-4_4, MISRA2012-RULE-5_7_a, MISRA2012-RULE-5_7_b, MISRA2012-RULE-12_2, MISRA2012-RULE-18_8 |
メモリおよびリソース管理 | MRM-45 |
名前付け規約 | NAMING-05 |
オブジェクト指向 | OOP-34 |
最適化 | OPT-30 |
バグの可能性 | PB-23, PB-25, PB-47 |
セキュリティ | SECURITY-02, SECURITY-05, SECURITY-14, SECURITY-15, SECURITY-28, SECURITY-37 |
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-40199 | GHS PPC 2017.1 コンパイラのサポート |
CPP-39947 | Windows Server 2016 のサポート |
CPP-31853 | MISRA2008-0_1_10_b : 「外部リンケージを持つ定義されたすべての関数は少なくとも 1 度は使用されなければならない」 の追加 |
CPP-36719 | 引数に符号なし型の単項マイナス (-) が含まれている場合 PB-47 が違反をレポートしない |
CPP-36964 | SECURITY-14 が scanf() のバリアントをチェックしない |
CPP-38107 | CODSTA-10 が "auto" 型をサポートしていない |
CPP-38218 | COMMENT-05 がマクロ内で定義された変数に対して違反をレポートしない場合がある |
CPP-38234 | MISRA2012-RULE-12_2 (MISRA2004-12_8) はif と同様の方法で for ループの条件をチェックするべきである |
CPP-38339 | printf() に関数パラメーターを渡している場合 SECURITY-05 が違反をレポートしないことがある |
CPP-38588 | PB-25 が std::initializer_list に対して誤った違反をレポートする |
CPP-38592 | MISRA2004-10_1_g は関数引数とプレーンな char 型の間の暗黙の変換に対して違反をレポートしない場合がある |
CPP-39416 | CODSTA-11 がサンプル コードに対して違反をレポートしない |
CPP-39489 | RuleWizard の 'cast' ノードのプロパティ 'Kind' が関数キャストで正しく動作しない |
CPP-39494 | malloc() によって割り当てられたメモリが複数レベルの間接参照を行うポインターに代入されている場合、MRM-45 が違反を誤検出する |
CPP-39534 | d3dx10math.h(449) でコンパイルエラー C2059 |
CPP-39548 | C++test ランタイムで STRINGIZE マクロの名前を変更 |
CPP-39581 | MISRA2008-2_10_4 をグローバル ルールにする |
CPP-39758 | qcc: '-Wp' オプションによる c99 モードの有効化をサポートする |
CPP-39804 | パース エラー: 型名が許可されていない |
CPP-39834 | NAMING-05 が範囲ベースの for ループに対して違反を誤検出する |
CPP-39835 | 別の翻訳単位でメンバーの初期化が行われている場合、INIT-06 が違反を誤検出する |
CPP-39838 | FORMAT-26 が Rvalue 参照に対して違反を誤検出する |
CPP-39839 | NAMING-05 が範囲ベースの for ループに対して違反を誤検出する |
CPP-39892 | [Docs] C++test Engine カスタム ルール ディレクトリのプロパティが誤っている |
CPP-39919 | MISRA2012-DIR-4_4 が複数行のコメントで問題を起こす |
CPP-39925 | 絵移入演算子が明示的にデフォルトとして定義されている場合、JSF-081(OOP-34) および JSF-082(CODSTA-CPP-02) が違反を誤検出する |
CPP-39973 | CLLOCRIT がクラスの本体の外で定義された関数のコメントを無視する |
CPP-40040 | メンバー変数の宣言に 'constexpr' [c++11] が含まれている場合、CODSTA-67 が違反を誤検出する |
CPP-40086 | [C++test Engine] ランタイムは include ディレクティブの正しい構文を使用する必要がある |
FA-5764 | C++ コードの CFG ビルド エラー |
FA-5623 | no throw アロケーターの処理が不足/適切ではない |
FA-5783 | BD-PB-MODSTR ルールのメッセージに '$tmp_.....' が含まれる場合があり、実行ごとに結果が異なる原因になる |
FA-5672 | メンバー フィールドのアドレスに対してポインター演算が行われる場合、BD-PB-PTRARR が違反をレポートしない |
FA-5760 | pthread_mutex_trylock (または他の類似の機能を持つ任意の関数) を使用して 2 回目のロックを行ったときに BD-TRS-DLOCK が違反をレポートしないよう更新 |
FA-5077 | BD-MISC-DC が違反をレポートしない/違反を重複してレポートする |
FA-4779 | Java グラフの要素に暗黙的なキャストの情報が含まれない |
FA-4830 | PB.ARRAY に String.Length プロパティのモデルが不足していることにより違反の誤検出の可能性がある |
FA-5836 | 事前解析が例外で失敗する |
FA-5091 | シミュレーション ステートにポインターと配列値の間の接続に関する情報がない |
FA-5905 | BD-PB-OVERFWR が違反を誤検出する可能性がある - char[0] 型の最後の構造体フィールドの境界外を誤って判断する |
FA-5883 | インクリメンタル解析のキャッシュ圧縮が動作しない |
XT-10181 | Value input for hours drops by one causes unable toborrowlicense. |
XT-34419 | IDE からのプロジェクトごとの指摘事項のインポートが動作しない |
XT-34610 | デフォルトの build.id がドキュメントに記載されているものと異なる |
XT-34642 | パイプライン プロジェクトの一部として実行したとき、Parasoft Jenkins プラグインがスタックする |
XT-34944 | 後続のビルドで異なるセッション タグを計算する |
XT-34960 | DTP が誤った行を違反としてハイライトする |
XT-34977 | レポートに誤ったセッション タグが含まれる - scBranch パラメーターがない |
XT-34985 | SVN サーバー ポートが適切にエンジンに渡されない |
XT-34995 | メタデータ プロセッサの問題の可能性 |