Parasoft Development Testing Platform (DTP) と DTP Engine for C/C++/.NET/Java の最新リリースは、ソフトウェア品質プロセスを継続的に改善する Parasoft の革新的アプローチをベースに開発されています。本リリースには、「コードの変更によるリスクを深く可視化する新しい機能」や、「テストの作成と保守を改善する、Java 開発者のための新しい単体テスト インターフェイス」、そして「自動車ソフトウェア品質のサポートの拡張」が含まれます。また、UI の拡張、ウィジェットの更新、受賞歴のある Process Intelligence Engine (PIE) の改善なども実施されました。
本リリースの内容:
継続的デリバリー環境での変化
企業や組織が継続的ソフトウェア デリバリー プラットフォームを実装するにつれ、長期間に集積されたデータに基づく従来のレポート メカニズムはその存在意義を失いました。リリース速度がますます早くなる今日、ビルド間でのインクリメンタルな変更が招くリスクを理解することは非常に重要です。カバレッジの変更とテストのリグレッションの変更を直ちに可視化すること、そして再実行が必要なテストをすぐに特定できることが求められます。本リリースでの更新は、リスクを低減してソフトウェア デリバリーを加速するために、ユーザーがこれらの変更を理解し、解決が必要な問題を特定するのを助けます。
ビルド単位での静的解析違反の確認と比較
本リリースは、ビルドに基づいてデータを参照および比較する概念を拡張し、新規、修正済み、既存の静的解析違反で直ちに差分を確認できるようになりました。その結果、SDLC の早い段階でより効率的に欠陥の可能性に対応できるだけでなく、違反と変更の相互関係を比較して、欠陥が紛れ込んだコード部分をピンポイントで特定できます。
PIE スライスの変更ベースのテストに対する更新
Parasoft のアプリケーション カバレッジ技術は、単体テスト、機能テスト、および手動テストの手法をまたがって、テスト結果とカバレッジ結果の連係を可能にします。このアプリケーション カバレッジ技術を基盤として、変更ベースの PIE スライスが改善されました。
- Change-based Testing: このスライスは、コード ベースの変更を解析し、それらの変更とテスト メトリクスとの相互関係を比較して、再実行が必要なテストを特定します。解析の出力は複数の形式で表示できます (円グラフ、表レポート。CSV データとして、または DTP のテスト エクスプローラーにダウンロード可能 )。また、データとポリシーに基づいて、再テストに優先順位を付けることができます。
- Risky Code Changes: このスライスは、Test Deficit、Maintenance Burden、Quality Debt に基づいて、コードの変更に関連するリスクを計測します。メトリクスは複数の形式で DTP に表示されます (円グラフ、バブル チャート、ヒート チャート、表レポート)。
- Untested Changes: このスライスは、ベースラインに対して、ビルド中の変更されたコード行のカバレッジ データを解析し、変更に基づいてカバレッジ ギャップをレポートします。このスライスは、新機能の実装など、コードの変更に関連するテスト スコープを減らすのに役立つため、テスターはカバーされてないコードを集中的にテストでき、テスト効率を上げることができます。また、未テストの変更に関連するリスクの監査証跡を保守する点でも役立ちます。
PIE スライスや他の Parasoft ソリューションの拡張は Parasoft Marketplace からダウンロードすることができます。
Coverage Agent Manager (CAM)
CAM は、テスト対象アプリケーションの手動テストの実行中に、カバレッジ データとテスト結果の収集をコントロールするための Web インターフェイスを提供します。また、Web インターフェイスに加えて、サード パーティのテスト フレームワーク (Selenium など) からのコード カバレッジとテスト データの統合をモニタリングできる REST API も提供します。
Coverage Agent Manager および REST API を利用した CAM の拡張と統合は、Parasoft Marketplace からダウンロードすることができます。
Java Web アプリケーションのマルチセッション アプリケーション カバレッジ
Java アプリケーション カバレッジ エンジン (Jtest DTP Engine) が拡張され、同じアプリケーション サーバーに同時アクセスしている複数ユーザーの固有のカバレッジを追跡できるようになりました。たとえば、複数の QA エンジニアが同じ Web アプリケーション サーバーにアクセスし、並行テストを実行できます。そして、カバレッジ エージェントはどのカバレッジをどのサーバーに関連付けるかを判断できます。
開発者のためのデスクトップ エクスペリエンスの向上
開発者が望むのはコードを作成することです。作業スピードを低下させるツールやプロセスが増えて負担を背負うことではありません。本リリースでは、開発者が欠陥のないソフトウェアを迅速に作成することを可能にする、以下の IDE ベースの機能と拡張が導入されました。
Java 対応の単体テスト アシスタント
アジャイルへの転換は、そもそも反復的開発手法の採用によって得られたメリットをなくす恐れがある、単体テストに関連した困難な問題を増やしました。
- リソースという点で、単体テストの作成と保守は高コストです。テストを構築し、コードの拡張に伴ってテストを更新するには、技術知識がありコードを理解できる人間が必要です。
- 単体テストは、ユーザー ストーリーのコンテキストがない状態で実行されることも少なくありません。テストから要件へのトレーサビリティがなければ、意図された機能をテストが検証しているかどうか、完全に安心することはできません。
- 保守されていないテスト、あるいは拙劣に構築されたテストは、動作に一貫性がなく、環境に大きく依存する場合があります。その結果、コードが拡張するにつれて、テストによって不安定さがリグレッションに入り込む可能性があり、継続的な環境で確実にテストを実行することが不可能になります。
Jtest 対応の単体テスト アシスタント (Unit Test Assistant、略して UTA)a は、有用で保守可能な単体テストの作成を支援し、これらの問題を解決します。単体テスト アシスタントは、単体テストの作成時間を削減するだけでなく、そのインターフェイスによって、これまで開発者の専門知識を必要としていた技術的障壁を取り払います。
単体テストを作成する負荷を軽減するのに加えて、単体テスト アシスタントは実際に既存のテストを解析し、問題の可能性 (たとえば安定性の問題など) を一掃します。単体テストモニタリングの機能は、環境に大きく依存するテストを特定するのに役立ちます。その結果、テスト チームはテストを改善し、常に単独でテストを実行できます。さらに、単体テスト アシスタントを使用すると、テストの実行中にオブジェクトを追跡することができるため、観察されたオブジェクトの変化に対してアサーションを生成できます。
継続的品質アシスタント (Continuous Quality Assistant)
継続的品質アシスタントは、開発者が直ちにフィードバックを得ることを可能にします。完全な分析を実行する前に、継続的品質アシスタントは、ファイルを開いたり保存したりといったアクションを開発者が行ったときにコードを分析します。継続的品質アシスタントは、テスト コンフィギュレーションで設定されているとおりに、目的とする高パフォーマンスのルールを実行し、分析によるオーバーヘッドを低く抑えます。
自動車ソフトウェアの品質の拡張サポート
自動車ソフトウェアの品質と安全を最重視する点に注力する姿勢が業界の注目を浴びる中、Parasoft は C/C++ アプリケーションに貢献する拡張を継続します。
静的解析で完全に MISRA C:2012 に対応
DTP Engine for C/C++ に同梱の静的解析ルールが更新され、MISRA C:2012 規格に完全に対応しました。2016 年 5 月に出された Amendment 1 にも完全に対応しています。
マーケットプレースにも新しい MISRA 認定キットが追加されました。MISRA 認定キットは、レポートの一元管理を目的とした、DTP Engine と DTP Server のための構成を提供します。この認定キットには回帰テストと付属ドキュメントが含まれます。これは、たとえば ISO 26262 準拠のための静的解析ルールを適用するときなどに、MISRA C:2012 の使用を検証するのに役立ちます。
新しいマーケットプレース拡張
DTP Engine の更新に加えて、トレーサビリティ レポート DTP ワークフローを導入しました。トレーサビリティ レポートのウィジェットは、要件がどの程度実装およびテストされているかを理解するのに役立ちます。
その他の更新と拡張
DTP
- ダッシュボード ウィジェットと違反エクスプローラーで、静的解析違反と抑制の両方を表示
- 新しいメトリクスのサポート: METRIC.DIF - ネストされた If 文
- DTP テスト コンフィギュレーション UI でのルールマップのサポートの拡張
- 違反、ルール、ファイルに対応した DTP REST API v1.2
- Oracle 12c および MySQL 5.7 のサポート
- JRE 8 と Tomcat 8 の同梱
- DTP フィルターの "ソース管理" 属性が非推奨になりました。ソース管理が設定された既存の DTP フィルターはこの設定を使用し続けますが、新しいフィルターにはソース管理設定のためのオプションは表示されません。DTP Engine のソース管理設定への影響はありません。
DTP Engine
- C/C++test: MISRA C:2012 の新規ルール (下記の「新規および更新されたコード解析ルール」を参照。
- C/C++test: Modern C++ 規格 (C++11、C++14、C++17) のサポートの拡張。専用の静的解析ルールとテスト コンフィギュレーションを含む。
- C/C++test: CppUTest 単体テスト フレームワークの実行とカバレッジ分析のサポートが追加。
- DTP テスト コンフィギュレーション UI でのルール パラメータライズの改善。
- HTML レポートと DTP でのエラーおよびセットアップの問題のレポートが改善。
新規および更新されたコード解析ルール
ルール ID | 説明 | Engine |
---|---|---|
CODSTA-MCPP-01 | ユーザー定義の変換を行うキャスト演算子は explicit にするべきである | C/C++test |
CODSTA-MCPP-02 | typedef ではなくエイリアス宣言を使用する | C/C++test |
CODSTA-MCPP-03 | スコープなしの列挙型ではなく、スコープ付きの列挙型を使用する | C/C++test |
CODSTA-MCPP-04 | NULL または 0 (ゼロ) ではなく nullptr を使用する | C/C++test |
CODSTA-MCPP-05 | オーバーライド関数に override を指定して宣言する | C/C++test |
CODSTA-MCPP-06_a | クラスのコピーを防ぐため、コピー コンストラクターおよびコピー代入演算子に delete を指定して宣言する | C/C++test |
CODSTA-MCPP-06_b | クラスのコピーを防ぐため、private メソッドを持つ基底クラスを使用するのではなく、コピー コンストラクターおよびコピー代入演算子に delete を指定して宣言する | C/C++test |
CODSTA-174_a_c90 | プログラムは規格によって定められた翻訳限界を超えてはならない (c90) | C/C++test |
CODSTA-174_a_c99 | プログラムは規格によって定められた翻訳限界を超えてはならない (c99) | C/C++test |
CODSTA-174_b_c90 | プログラムは規格によって定められた翻訳限界を超えてはならない (c90) | C/C++test |
CODSTA-174_b_c99 | プログラムは規格によって定められた翻訳限界を超えてはならない (c99) | C/C++test |
CODSTA-175_a | 関数は未使用の型宣言を持つべきではない | C/C++test |
CODSTA-175_b | ソース ファイルは未使用の型宣言を持つべきではない | C/C++test |
CODSTA-176_a | 関数は未使用のローカル タグ宣言を持つべきではない | C/C++test |
CODSTA-176_b | ソース ファイルは未使用のタグ宣言を持つべきではない | C/C++test |
CODSTA-177 | ソース ファイルは未使用のマクロ宣言を持つべきではない | C/C++test |
CODSTA-178 | 外部識別子は区別できなければならない | C/C++test |
CODSTA-179_a_c90 | ファイル スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c90) | C/C++test |
CODSTA-179_a_c99 | ファイル スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c99) | C/C++test |
CODSTA-179_b_c90 | 同じブロック スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c90) | C/C++test |
CODSTA-179_b_c99 | 同じブロック スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c99) | C/C++test |
CODSTA-180 | 外部リンケージを持つオブジェクトや関数はユニークでなければならない | C/C++test |
CODSTA-181 | +、-、+= および -= 演算子をポインター型の式に適用するべきではない | C/C++test |
CODSTA-182 | sizeof 演算子のオペランドは「配列型」として宣言された関数のパラメーターであってはならない | C/C++test |
CODSTA-183 | 標準ライブラリ関数 memcmp、memmove および memcmp へのポインター引数は、互換性のある型の修飾付きおよび修飾なし版へのポインターでなければならない | C/C++test |
CODSTA-184 | 標準ライブラリ関数 memcmp へのポインター引数は、ポインター型、実質的な signed 型、実質的な unsigned 型、実質的なブール型、または実質的な列挙型を指していなければならない | C/C++test |
CODSTA-185_a | 標準ライブラリ関数 localeconv、getenv、setlocale または strerror から返されたポインターは、const 修飾された型へのポインターとしてだけ使用する | C/C++test |
CODSTA-185_b | lconv 構造体のメンバーによって指し示される文字列を変更してはならない | C/C++test |
CODSTA-186 | 指定された初期化子が配列オブジェクトの初期化に使用されている場合、配列のサイズを明示的に指定する必要がある | C/C++test |
BD-API-BADPARAM | ライブラリ関数に誤った値を渡してはならない | C/C++test |
BD-API-CTYPE | ctype.h ライブラリ関数に誤った値を渡してはならない | C/C++test |
BD-API-STRSIZE | string.h の関数に渡される size_t 引数には適切な値がなければならない | C/C++test |
BD-API-VALPARAM | ライブラリ関数に渡される値を検証する | C/C++test |
BD-PB-EOFCOMP | マクロの EOF と標準ライブラリ関数から返された未変更の戻り値を比較するべきである | C/C++test |
BD-PB-ERRNO | errno 値を適切に使用する | C/C++test |
BD-PB-INVRET | 特定の標準ライブライ関数から返されたポインターは、そのあとの同じ関数または関連する関数の呼び出しで使用してはならない | C/C++test |
BD-PB-MCCSTR | 標準ライブラリ関数 memcmp を null 終端文字の比較に使用してはならない | C/C++test |
BD-PB-NORETURN | noreturn 属性を持つ関数からは値を返さない | C/C++test |
BD-PB-WRRDSTR | 1 つのファイルを別のストリームで同時に読み取りアクセス用と書き込みアクセス用に開いてはならない | C/C++test |
BD-SECURITY-TDCONSOLE | 汚染されたデータを出力コンソールに出力してはならない | C/C++test |
FORMAT-25_b | return 文では、() を使わなければならない | C/C++test |
MISRA2004-9_2_b | 配列を部分的に初期化してはならない | C/C++test |
MISRA2004-9_2_c | ゼロ以外で構造体を初期化する場合、各要素に対して明示的な初期化子が必要である | C/C++test |
MISRA2012-DIR-4_5 | 同じ名前空間にあり可視性が重なる識別子は見た目で明確に区別できなければならない | C/C++test |
MISRA2012-DIR-4_7_ab | 非 void 関数の戻り値をチェックする | C/C++test |
MISRA2012-DIR-4_7_bb | 常に非 void 関数の戻り値をチェックする | C/C++test |
MISRA2012-DIR-4_11b | ライブラリ関数に渡される値を検証する | C/C++test |
MISRA2012-DIR-4_13_ab | 標準ライブラリ関数を使用して動的に取得したすべてのリソースは明示的に解放する必要がある | C/C++test |
MISRA2012-DIR-4_13_bb | 解放されたリソースを使用してはならない | C/C++test |
MISRA2012-DIR-4_13_cb | 無効なポインタを使用してリソースを解放してはならない | C/C++test |
MISRA2012-DIR-4_13_db | 解放されていないロックを放棄してはならない | C/C++test |
MISRA2012-DIR-4_13_eb | 二重ロックを避ける | C/C++test |
MISRA2012-DIR-4_14_ab | 汚染されたデータを配列添え字として使用しない | C/C++test |
MISRA2012-DIR-4_14_bb | 汚染されたデータによる整数オーバーフロー/アンダーフローを防ぐ | C/C++test |
MISRA2012-DIR-4_14_cb | 汚染されたデータによるバッファー読み込み時のオーバーフローを避ける | C/C++test |
MISRA2012-DIR-4_14_db | 汚染されたデータによるバッファー書き込み時のオーバーフローを避ける | C/C++test |
MISRA2012-DIR-4_14_eb | コマンド インジェクションから防御する | C/C++test |
MISRA2012-DIR-4_14_fb | ファイル名インジェクションから防御する | C/C++test |
MISRA2012-DIR-4_14_gb | SQL インジェクションから防御する | C/C++test |
MISRA2012-DIR-4_14_hb | 汚染されたデータによるバッファー オーバーフローを避ける | C/C++test |
MISRA2012-DIR-4_14_ib | 不正な書式制限の定義によるバッファー オーバーフローを避ける | C/C++test |
MISRA2012-DIR-4_14_jb | 環境変数インジェクションから防御する | C/C++test |
MISRA2012-DIR-4_14_kb | 汚染されたデータを出力コンソールに出力してはならない | C/C++test |
MISRA2012-RULE-1_1_a_c90 | プログラムは規格によって定められた翻訳限界を超えてはならない (c90) | C/C++test |
MISRA2012-RULE-1_1_a_c99 | プログラムは規格によって定められた翻訳限界を超えてはならない (c99) | C/C++test |
MISRA2012-RULE-1_1_b_c90 | プログラムは規格によって定められた翻訳限界を超えてはならない (c90) | C/C++test |
MISRA2012-RULE-1_1_b_c99 | プログラムは規格によって定められた翻訳限界を超えてはならない (c99) | C/C++test |
MISRA2012-RULE-1_3_ab | ゼロによる除算を避ける | C/C++test |
MISRA2012-RULE-1_3_bb | 初期化の前に使用しない | C/C++test |
MISRA2012-RULE-1_3_cb | 解放されたリソースを使用してはならない | C/C++test |
MISRA2012-RULE-1_3_d | バッファー読み込み時のオーバーフローを避ける | C/C++test |
MISRA2012-RULE-1_3_eb | バッファー書き込み時のオーバーフローを避ける | C/C++test |
MISRA2012-RULE-1_3_f | 式の値は、規格が認めるどのような順序で評価されようとも、同じでなければならない | C/C++test |
MISRA2012-RULE-1_3_g | 関数の引数の評価順序に依存するコードを書いてはならない | C/C++test |
MISRA2012-RULE-1_3_h | 関数呼び出しおよび関数引数の評価順序に依存するコードを記述してはならない | C/C++test |
MISRA2012-RULE-1_3_i | 関数呼び出しを含む式の評価順序に依存するコードを書いてはならない | C/C++test |
MISRA2012-RULE-1_3_j | オブジェクトは、シーケンス ポイントの間で、格納された値が式の評価によって 2 回以上変更されてはならない | C/C++test |
MISRA2012-RULE-1_3_k | 1 つの式で複数の volatile を使用してはならない | C/C++test |
MISRA2012-RULE-1_3_l | 関数呼び出しの評価順序に依存するコードを書いてはならない | C/C++test |
MISRA2012-RULE-1_3_m | 関数は非 static ローカル オブジェクトへのポインターまたは参照を返してはならない | C/C++test |
MISRA2012-RULE-1_3_n | 自動記憶域のオブジェクトのアドレスを、オブジェクトが存在しなくなった後にも存在し続ける可能性がある別のオブジェクトに代入してはならない | C/C++test |
MISRA2012-RULE-1_3_o | 右シフト演算の左辺のオペランドは負数であってはならない | C/C++test |
MISRA2012-RULE-2_3_a | 関数は未使用の型宣言を持つべきではない | C/C++test |
MISRA2012-RULE-2_3_b | ソース ファイルは未使用の型宣言を持つべきではない | C/C++test |
MISRA2012-RULE-2_4_a | 関数は未使用のローカル タグ宣言を持つべきではない | C/C++test |
MISRA2012-RULE-2_4_b | ソース ファイルは未使用のタグ宣言を持つべきではない | C/C++test |
MISRA2012-RULE-2_5 | ソース ファイルは未使用のマクロ宣言を持つべきではない | C/C++test |
MISRA2012-RULE-5_1 | 外部識別子は区別できなければならない | C/C++test |
MISRA2012-RULE-5_2_a_c90 | ファイル スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c90) | C/C++test |
MISRA2012-RULE-5_2_a_c99 | ファイル スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c99) | C/C++test |
MISRA2012-RULE-5_2_b_c90 | 同じブロック スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c90) | C/C++test |
MISRA2012-RULE-5_2_b_c99 | 同じブロック スコープおよび同じ名前空間で宣言された識別子は区別できなければならない (c99) | C/C++test |
MISRA2012-RULE-5_8 | 外部リンケージを持つオブジェクトや関数はユニークでなければならない | C/C++test |
MISRA2012-RULE-8_6 | 外部リンケージを持つ識別子は、外部定義を 1 つだけ持たなければならない | C/C++test |
MISRA2012-RULE-8_7 | 関数およびオブジェクトが 1 つの翻訳単位でだけ参照される場合、外部リンケージが定義されてはならない | C/C++test |
MISRA2012-RULE-9_4 | オブジェクトの要素を複数回初期化してはならない [MISRA2012-RULE-9_4-3] | C/C++test |
MISRA2012-RULE-9_5 | 指定された初期化子が配列オブジェクトの初期化に使用されている場合、配列のサイズを明示的に指定する必要がある | C/C++test |
MISRA2012-RULE-12_5 | sizeof 演算子のオペランドは「配列型」として宣言された関数のパラメーターであってはならない | C/C++test |
MISRA2012-RULE-18_1_ab | 配列の境界を超えてアクセスしてはならない | C/C++test |
MISRA2012-RULE-18_1_bb | 範囲外の配列およびポインターへのアクセスを避ける | C/C++test |
MISRA2012-RULE-18_4 | +、-、+= および -= 演算子をポインター型の式に適用するべきではない | C/C++test |
MISRA2012-RULE-20_8 | #if または #elif プリプロセッサ ディレクティブの制御式は 0 または 1 に評価されなければならない | C/C++test |
MISRA2012-RULE-21_13b | <ctype.h> ライブラリの関数に渡される値は 'unsigned char' として表現できる値または 'EOF' でなければならない | C/C++test |
MISRA2012-RULE-21_14b | 標準ライブラリ関数 memcmp を null 終端文字の比較に使用してはならない | C/C++test |
MISRA2012-RULE-21_15 | 標準ライブラリ関数 memcmp、memmove および memcmp へのポインター引数は、互換性のある型の修飾付きおよび修飾なし版へのポインターでなければならない | C/C++test |
MISRA2012-RULE-21_16 | 標準ライブラリ関数 memcmp へのポインター引数は、ポインター型、実質的な signed 型、実質的な unsigned 型、実質的なブール型、または実質的な列挙型を指していなければならない | C/C++test |
MISRA2012-RULE-21_17_ab | ゼロで終わっていない文字列の読み込みによるオーバーフローを避ける | C/C++test |
MISRA2012-RULE-21_17_bb | バッファー書き込み時のオーバーフローを避ける | C/C++test |
MISRA2012-RULE-21_18b | string.h の関数に渡される size_t 引数には適切な値がなければならない | C/C++test |
MISRA2012-RULE-21_19_a | 標準ライブラリ関数 localeconv、getenv、setlocale または strerror から返されたポインターは、const 修飾された型へのポインターとしてだけ使用する | C/C++test |
MISRA2012-RULE-21_19_b | lconv 構造体のメンバーによって指し示される文字列を変更してはならない | C/C++test |
MISRA2012-RULE-21_20b | 特定の標準ライブライ関数から返されたポインターは、そのあとの同じ関数または関連する関数の呼び出しで使用してはならない | C/C++test |
MISRA2012-RULE-22_3b | 1 つのファイルを別のストリームで同時に読み取りアクセス用と書き込みアクセス用に開いてはならない | C/C++test |
MISRA2012-RULE-22_4b | 読み取り専用として開かれたストリームへの書き込みを避ける | C/C++test |
MISRA2012-RULE-22_7b | マクロの EOF と標準ライブラリ関数から返された未変更の戻り値を比較するべきである | C/C++test |
MISRA2012-RULE-22_8b | errno 設定関数の呼び出し前に、errno に 0 を設定する | C/C++test |
errno 設定関数の呼び出し後に、errno と 0 を比較してチェックする | C/C++test | |
errno 設定関数の呼び出し後にだけ、errno と 0 を比較してチェックする | C/C++test | |
MISRA2008-8_5_2_b | 配列を部分的に初期化してはならない | C/C++test |
MISRA2008-8_5_2_c | 構造体を部分的に初期化してはならない | C/C++test |
NAMING-50 | 同じ名前空間にあり可視性が重なる識別子は見た目で明確に区別できなければならない | C/C++test |
PB-69 | オブジェクトの要素を複数回初期化してはならない | C/C++test |
PREPROC-19 | #if または #elif プリプロセッサ ディレクティブの制御式は 0 または 1 に評価されなければならない | C/C++test |
PB.INOE | String.IsNullOrEmpty を使用して string が null または empty かどうかをチェックする | dotTEST |
解決済みの PR/FR
PR/FR ID | 説明 |
117075 | Compliance by Category ウィジェットが使用するカテゴリが、ターゲットのテスト コンフィギュレーションと一致しない |
119444 | DTP Server で、作成したテスト コンフィギュレーションが表示されない |
119478 | Server Edition ライセンスの必須機能が ENT ライセンスで利用できない |
120275 | Jenkins Cobertura Coverage ウィジェットが日本語ロケールで動作しない |
118760 | ルール UC.UP が Jtest 10.x にない |
118762 | ルール METRIC.DIF が Jtest 10.x にない |
118761 | ルール GLOBAL.ACD が Jtest 10.x にない |
120444 | Gradle 3.0 がサポートされていない |
118860 | IntelliJ: json ファイルの sourcelevel が空である |
119814 | IBM RAD GUI ビルトイン テスト コンフィギュレーションを使用できない |
120140 | -Xmx の値に関して、ドキュメントと jtestcli.jvm の間に矛盾 |
120595 | 内部クラスの場合、NAMING.NE が正しく動作しない |
121001 | HIBERNATE.SLM のルールの説明で、コードの修正例に誤りがある |
116773 | 未関連のコードが追加されたときに BD-PB_NOTINIT がトリガリングを中止する |
116892 | RuleWizard で nullptr のサポートを追加する |
118116 | エラー: このコンテキストでは __if_exists の使用はサポートされない |
119825 | 式の初期化子に対する MISRA2008-5.0.6.a の偽陰性 |
120019 | インクリメンタル モードが有効あるいは無効な場合に、解析結果に差異がある |
120121 | パーシング エラー: 派生クラスはここでは許可されない |
120126 | -include/-exclude ファイルが見つからない場合の問題 |
120353 | BD.PB.VOVR のパラメーター名が間違っているため、更新が必要 |
120455 | 配列初期化子で #define シンボルを使用している場合、MISRA2004-9_2 で偽陽性 |
120123 | website オプションの間違った使用 |
120203 | WebSite の名前に特殊文字を使用しているか、あるいは WebSite がソリューションのサブフォルダーにある場合、WebSite のビルド時に不正な MSBuild ターゲットになる |
120296 | パスに日本語文字を含むプロジェクトに結果をインポートすると、カバレッジ マーカーが表示されない |
117336 | Engine の解析がランダムに失敗する |
120151 | TFS で diff の操作中、セットアップの問題がレポートされる |
120315 | ルール ID が重要度を含む場合、抑制が無視される |
- Eclipse ベースの IDE で利用可能
- フロー解析のライセンスが必要。Parasoft 製品カスタマーセンターにお問い合わせください。
- これらのルールをカスタム テスト コンフィギュレーションで使用する場合、以下のパラメーターを設定する必要があります。
MISRA2012-RULE-22_8:MISRA2012-RULE-22_8-reportOnMissingErrnoCheck=false
MISRA2012-RULE-22_8-reportOnUnnecessaryErrnoCheck=false
MISRA2012-RULE-22_9:MISRA2012-RULE-22_9-reportWhenErrnoIsNotZero=false
MISRA2012-RULE-22_9-reportOnUnnecessaryErrnoCheck=false
MISRA2012-RULE-22_10:MISRA2012-RULE-22_10-reportWhenErrnoIsNotZero=false
MISRA2012-RULE-22_10-reportOnMissingErrnoCheck=false
"MISRA C 2012" ビルトイン テスト コンフィギュレーションでは、これらのパラメーターはあらかじめ設定されています。