Parasoft MISRA Compliance アーティファクトは、MISRA 開発ガイドラインへの準拠を直ちに証明できる、DTP インフラストラクチャのアセットの集合です。MISRA Compliance アーティファクトは、あらゆる MISRA 標準をサポートするために適合させることができますが、デフォルトでは MISRA C:2012 用に構成されています。このアーティファクトは Automotive Compliance Pack に同梱されています。Compliance Pack のダウンロードおよびライセンス情報については、Parasoft 製品テクニカル サポート センターまでお問い合わせください。
このセクションの内容:
MISRA は、自動車向けアプリケーション用のセーフティ クリティカルなソフトウェアを開発する業界を支援するための技術ガイドラインとして始まりました。以降、MISRA 標準は、他のセーフティ クリティカルな業界における組込ソフトウェア開発組織によって採用されています。MISRA C:2012 は C 言語による開発のための最新の実装であり、159 のベース ガイドラインがあります。Amendment 1 は 14 の補完ガイドラインであり、これらを足すと合計で 173 になります。
MISRA 準拠を達成するための課題の 1 つは、準拠を証明するための標準化された手法が存在しないことでした。この問題に対応するために、MISRA は「MISRA Compliance 2016: Achieving Compliance with MISRA Coding Standards」を公表しました。これは 「MISRA 準拠」のより具体的な定義を提供し、MISRA 標準の準拠を証明するために必要な成果物を明示しています。
Parasoft の MISRA Compliance アーティファクトは、MISRA ガイドラインに対してコード解析を実行し、MISRA Compliance 2016 で定義された以下のレポート仕様を満たすようにデータを適合させます。
Guideline Enforcement Plan (GEP) は、各 MISRA ガイドラインを表示し、どのようにコンプライアンスがチェックされるかを示します。Parasoft での MISRA コンプライアンスのコンテキストでは、GEP は MISRA ガイドラインを Parasoft コード解析ルールおよび DTP の機能にマッピングします。
Guideline Re-categorization Plan (GRP) は、MISRA ガイドラインの分類に対する合意された変更を文書化します。ガイドラインは Mandatory (必須)、Required (必要)、および Advisory (推奨) に分類されます。ガイドラインが真に適用されない場合、4 番目のカテゴリ Disapplied (不適用) も使用されることがあります。
準拠を達成するには、すべての「必須」ガイドラインに従う必要があります。「必要」ガイドラインは従うべきガイドラインですが、文書化された例外が許容されます (Deviations レポートを参照)。「推奨」ガイドラインはベスト プラクティスと見なされます。
「必要」および「推奨」のガイドラインは、より厳格なカテゴリに再分類できます (たとえば「推奨」から「必須」)。しかし、厳格性が低下するカテゴリに (つまり「不適用」に) 再分類できるのは「推奨」ガイドラインだけです。
「逸脱 (deviation)」は、文書化されたガイドライン違反であり、違反が残ることを許可する論理的根拠です。Parasoft の MISRA 準拠のコンテキストでは、逸脱は抑制されたコード解析違反です。逸脱がレポートで文書化され、安全性に影響にしない場合、プロジェクトは逸脱がありつつも準拠していると見なすことができます。
Guideline Compliance Summary (GCS) は、全般的なプロジェクトの準拠についての主要な記録です。GCS には、各ガイドライン、そのコンプライアンス レベル、逸脱あるいは再分類などのエントリがあります。Parasoft MISRA Compliance 拡張に同梱の MISRA Compliance Report はこの要件を満たします。
詳細については MISRA Compliance 2016: Achieving Compliance with MISRA Coding Standards を参照してください。
MISRA Compliance アーティファクトに加えて、以下の Parasoft 製品が必要です:
MISRA C:2012 によると、静的解析では推進できないガイドラインが一部あります。結果として、DTP は 169 のガイドラインに対して 100% の準拠をレポートします。 |
Parasoft MISRA Compliance アーティファクトは、MISRA C:2012 の準拠を証明するために必要なドキュメントの作成に役立ちます。以下のアセットが含まれます。
これで、MISRA ダッシュボードとウィジェットを追加できるだけでなく、MISRA レポートにアクセスできるようになりました。
MISRA ダッシュボードは、MISRA アーティファクトの一部として提供されるカスタム ウィジェットを表示するように設定されています。このダッシュボードには、MISRA C:2012 のコンテキストでコード解析データを表示するように設定されたネイティブの DTPの ウィジェットも含まれます。このセクションの情報は「ダッシュボードの追加」にも記載されています。
MISRA C:2012 アーティファクトに同梱されたウィジェットの詳細については「MISRA Compliance ウィジェットの表示 」を参照してください。
アーティファクトに同梱された MISRA ウィジェットは、既存のダッシュボードに追加することもできます。ダッシュボードにウィジェットを追加する方法については「ウィジェットの追加」を参照してください。アーティファクトのデプロイ後、[ウィジェットの追加] オーバーレイの MISRA カテゴリに MISRA ウィジェットが表示されます。
MISRA Compliance - Percentage、MISRA Compliance - Status、および MISRA Violations by Category - TreeMap ウィジェットを追加するときに以下の情報を指定します。
タイトル | [タイトル] フィールドでウィジェット名を変更できます。 |
---|---|
フィルター | ドロップダウン メニューから特定のフィルターまたはダッシュボード設定を選択します。詳細については「フィルターの作成と管理」を参照してください。 |
ターゲット ビルド | ドロップダウン メニューから特定のビルドを選択します。ダッシュボード全体について選択されたビルドがデフォルトで選択されます。ビルドの詳細については「ビルド管理の使用」を参照してください。 |
カテゴリ | この設定は MISRA Compliance - Guidelines by Status および MISRA Compliance - Status ウィジェットで利用可能です。ドロップダウン メニューから個々のカテゴリまたは [すべて] を選択します。 |
コンプライアンス プロファイル | コンプライアンス プロファイルを指定します (「Profile Configuration」を参照)。コンプライアンス プロファイル データは、コンプライアンス レポートを生成するために使用されます。 |
各ウィジェットは、テスト データと解析データの異なるビューを提供することで、MISRA 準拠の達成を助けます。MISRA Compliance DTP ワークフローには以下のウィジェットが同梱されています。
このウィジェットは、コンプライアンスの全般的なステータスを表示します。現在のコンプライアンス ステータスを表示するために、このウィジェットの複数のインスタンスを追加し、異なるプロファイルを使用するように設定できます。たとえば、適用されないガイドラインのプロファイルなどです。ウィジェットをクリックすると、MISRA Compliance Report が開きます。
このウィジェットは 5 種類のステータスを表示できます:
このウィジェットは、MISRA 準拠の達成度をパーセントで表示します。達成度は プロファイル で推進されるガイドラインの数に基づきます。ウィジェットをクリックすると、MISRA Compliance Report が開きます。
このウィジェットは、個々のガイドライン カテゴリ (必須、必要、推奨) またはすべてのカテゴリについて、コンプライアンス ステータスを表示します
円グラフには、最大で 5 個まで、選択したカテゴリについて異なるガイドライン ステータスを表示できます:
緑 | コードが準拠しているガイドライン。 |
黄 | コードが逸脱しているが、まだ準拠していると見なされるガイドライン。 逸脱とは、Parasoft 静的解析ルールに準じてガイドラインに従っていないが、ソフトウェアの安全性に影響しないため許容範囲と見なされる状態のことです。逸脱は、抑制された Parasoft 静的解析ルールを表します。 |
オレンジ | ガイドラインを推進する静的解析ルールに違反があるが、コードが準拠していると見なされるガイドライン。 このステータスになるのは推奨ガイドラインだけです。 |
赤 | コードが準拠していないガイドライン。 |
栗色 | プロファイル で指定されたガイドラインです。ただし、ガイドラインを推進する Parasoft ルールがありません。 |
以下の操作を行うことができます。
このウィジェットは、MISRA のカテゴリ (強制、必須、推奨) ごとに、静的解析違反が集中している箇所を表示します。このウィジェットは、違反がレポートされた各カテゴリ内のガイドライン (たとえば Dir 4.6、Rule 14.3、etc.) も表示します。最後に、各ガイドラインを推進する Parasoft ルールも表示されます。タイルの大きさは、ルールごとにレポートされた静的解析違反の数に比例します。
このウィジェットは、モデル プロファイル で確立された階層を利用して、ルール、ガイドライン、およびカテゴリを相関させます。タイル上にマウス ポインタを置くと、各ルール-ガイドライン-カテゴリに関連する違反の数が表示されます。
違反エクスプローラー で違反を見るには、ルールをクリックします。
MISRA Compliance Report は、MISRA コンプライアンス ステータスの概要を提供し、準拠を証明するための主要文書の役割を果たします。
以下の操作を行うことができます。
MISRA Compliance Report には、以下のサブ レポートが含まれます:
Guideline Enforcement PlanGuidelines Enforcement Plan (GEP) は、MISRA ガイドラインを推進するために使用する静的解析ルールを表示します。各ガイドラインをどのように推進するかをユーザーに説明することを目的とします。 このレポートは、コンプライアンス プロファイルで指定されたデータを使用します (「Profile Configuration」を参照)。プロファイルでは、[Compiler] フィールドに注釈を追加できます。たとえば、「エラーなし」や、計画を文書化するために適用される特定のコンパイラ設定などです。これらの注釈は [Compiler ] 列に表示されます。 [Analysis Tool] 列には静的解析ルールが表示されます。[Manual Review] 列には、コンパイラと解析ツールによって適用される自動チェックに加えて、実行される手動検証が表示されます。 Guideline Re-categorization Plan MISRA ガイドライン カテゴリを変更した場合 (「Profile Configuration」を参照)、そのカテゴリは処理されてこのレポートに表示されます。ガイドライン再分類計画の詳細については MISRA 標準を参照してください。 Deviations Report標準からの逸脱が文書化され、ソフトウェアの安全性に影響しない限り、コードは違反があっても MISRA 準拠であることができます。逸脱とは、コード中で直接抑制されたコード解析ルール、または DTP の違反エクスプローラーで抑制されたコード解析ルールです。コード中で違反を抑制する方法については、C++test のドキュメントを参照してください。DTP で違反を抑制する方法については、違反エクスプローラーのドキュメントの「違反の抑制」を参照してください。
MISRA Compliance Report で Deviations Report リンクをクリックすると、Deviation Report が開きます。 Deviations Report は、すべてのガイドラインの ID とヘッダーを表示しますが、抑制されたガイドラインには追加情報を表示します。以下の操作を行うことができます。
ビルド監査レポートメインの MISRA Compliance Report はビルド監査レポートにリンクしており、選択したビルドで DTP に送信されたコード解析、テスト結果、およびカバレッジ情報にアクセスできます。また、データのアーカイブをダウンロードすることもできます。これは、定期的な監査で MISRA への準拠を証明するために使用できるアーティファクトです。ビルド監査レポートは、DTP に付属する標準レポートであり、MISRA コンプライアンスに固有のものではありません。 アーカイブをダウンロードするには、ビルドがロックされていなければなりません。このレポートの詳細については「ビルド監査レポート」を参照してください。 |
MISRA Compliance DTP ワークフローには、MISRA C:2012 への準拠をモニタリングするように設定されたモデル プロファイル (「モデル プロファイルの使用」を参照) が同梱されています。モデル プロファイルには、コンプライアンス レポートを生成するために必要な情報が含まれます (「Viewing MISRA Compliance Reports」を参照)。たとえば、コンパイラ、ガイドラインの分類、再分類を指定するためのフィールドなどです。ユーザー独自の目標を達成するためにガイドラインを再分類したい場合、または独自のレポート用に追加メタデータを指定したい場合、このプロファイルを変更できます。変更は Guideline Re-categorization Plan で反映されます。
デフォルト プロファイルの複製を作成して複製を変更することを推奨します。
Disapplied (不適用)
Mandatory および/または Required のガイドラインの厳格性を低下させることは、MISRA がまとめた要件によって Parasoft Guideline Re-categorization Plan Report でのガイドラインの不正使用になります (Guideline Re-categorization Plan を参照)。Required および Advisory のガイドラインの厳格性を強化することは許されます。
DTP をアップグレードするときに拡張を更新できます。拡張は上位互換であるように設計されていますが、新しいバージョンの DTP での動作は保証されません。拡張を適切に動作させるには、最新バージョンのアーティファクトをインストールすること、および以前のバージョンを削除することを強く推奨します。