メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Bug Finder と Code Prover のレポート (-report-template)

解析レポートを生成するためのテンプレートの指定

説明

解析レポートを生成するためのテンプレートを指定します。

レポート テンプレートの (.rpt) ファイルは polyspaceroot\toolbox\polyspace\psrptgen\templates\ フォルダーとそのサブフォルダーにあります。ここで、polyspaceroot は Polyspace® インストール フォルダーです。たとえば、C:\Program Files\Polyspace\R2025a です。

オプションの設定

以下のいずれかの方法を使用してオプションを設定します。

  • Polyspace ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [レポート] ノードを選択してから、このオプションの値を選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。

  • Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [レポート] ノードを選択してから、オプション [レポート テンプレート (Code Prover)] および [レポート テンプレート (Bug Finder)] の値を選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。

  • コマンド ラインとオプション ファイル: オプション -report-template を使用します。コマンド ライン情報を参照してください。

このオプションを使用する理由

使用するテンプレートに応じて、レポートには [結果のリスト] ペインからの結果の特定の型についての情報が含まれます。テンプレートにより、レポートに示される情報と、その情報の整理方法も決まります。以下のテンプレートの説明を参照してください。

設定 — Bug Finder

既定値: BugFinderSummary

BugFinder

レポートには以下の内容がリストされます。

  • Polyspace Bug Finder の概要:プロジェクトの結果の数。結果はファイル別にまとめられています。コンパイル エラーが原因で部分的に解析されているファイルは別のテーブルにリストされます。

  • コード メトリクス:さまざまなコード複雑度メトリクスの概要。詳細は、コード メトリクスを参照してください。

  • コーディング ルール: ソース コードでのコーディング ルール違反。各ルール違反について、レポートに次のことが記載されます。

    • ルール番号と説明。

    • ルール違反を含む関数。

    • [重大度][ステータス] およびコメントなどのレビュー情報。

  • 欠陥:ソース コード内で検出された欠陥。各欠陥について、レポートには以下がリストされます。

    • 欠陥を含む関数。

    • [結果の詳細] ペインにある欠陥情報。

    • [重大度][ステータス] およびコメントなどのレビュー情報。

  • 構成設定:Polyspace が解析に使用する解析オプションのリスト。マルチタスキング用にプロジェクトを構成した場合、このセクションには [同時実行モデリングの概要] も表示されます。プロジェクトのソース ファイルにコンパイル エラーがある場合は、これらのファイルもリストされます。

    コーディング ルールをチェックした場合、追加の [コーディング ルール構成] セクションに、有効であったか無効であったかの情報と共にルールが記述されます。

BugFinderSummary

レポートには以下の内容がリストされます。

  • Polyspace Bug Finder の概要:プロジェクトの結果の数。結果はファイル別にまとめられています。コンパイル エラーが原因で部分的に解析されているファイルは別のテーブルにリストされます。

  • コード メトリクス:さまざまなコード複雑度メトリクスの概要。詳細は、コード メトリクスを参照してください。

  • コーディング ルールの概要: コーディング ルールと、それに伴う違反の数。

  • 欠陥の概要:Polyspace Bug Finder™ が検出する欠陥。各欠陥について、レポートには以下がリストされます。

    • 欠陥グループ。

    • 欠陥名。

    • ソース コードで検出された欠陥のインスタンス数。

  • 構成設定:Polyspace が解析に使用する解析オプションのリスト。マルチタスキング用にプロジェクトを構成した場合、このセクションには [同時実行モデリングの概要] も表示されます。詳細は、Polyspace Bug Finder 解析エンジンのすべてのオプションのリストを参照してください。プロジェクトのソース ファイルにコンパイル エラーがある場合は、これらのファイルもリストされます。

    コーディング ルールをチェックした場合、追加の [コーディング ルール構成] セクションに、有効であったか無効であったかの情報と共にルールが記述されます。

CodeMetrics

レポートには以下がリストされます。

  • コード メトリクスの概要:ソース コードに関係する各種の数量。詳細は、コード メトリクスを参照してください。

  • コード メトリクスの詳細: ソース コードに関係する各種の数量と、ファイルおよび関数別の情報。

  • 構成設定:Polyspace が解析に使用する解析オプションのリスト。マルチタスキング用にプロジェクトを構成した場合、このセクションには [同時実行モデリングの概要] も表示されます。プロジェクトのソース ファイルにコンパイル エラーがある場合は、これらのファイルもリストされます。

    コーディング ルールをチェックした場合、追加の [コーディング ルール構成] セクションに、有効であったか無効であったかの情報と共にルールが記述されます。

CodingStandards

レポートには、解析で有効なコーディング規約ごとに個別の章が含まれています (MISRA C™:2012、CERT® C、カスタム ルールなど)。各章には以下の情報が含まれています。

  • 概要 - ファイル別の違反:各ファイルのルール違反数を示すグラフ。

  • 概要 - ルール別の違反:各ルールの違反数を示すグラフ。有効でないルールまたは違反がないルールはグラフに表示されません。

  • すべてのファイルに対する概要:各ファイルのルール違反数を示すテーブル。

  • 有効なガイドラインに対する概要または有効なルールに対する概要:各ガイドラインまたはルールの違反数を示すテーブル。

  • 違反:各ルール違反の ID、関数名、重大度、ステータスなどの情報をリストするテーブル。ファイルごとに 1 つのテーブルが作成されます。

付録には、Polyspace 解析で使用するオプションがリストされています。

SoftwareQualityObjectives

レポートには、品質管理エンジニアに有用で PolyspaceAccess™ インターフェイスで使用可能な、次のような情報が記載されます。

  • プロジェクトが品質目標を満たすかどうかの情報

  • プロジェクト全体のメトリクス。レポートには、品質しきい値およびメトリクスがしきい値を満たすかどうかもメトリクスごとに記載されます。

  • プロジェクトのコーディング規約違反。レポートには、正当化された違反数、および正当化がソフトウェア品質目標を満たすかどうかが、ルールごとに記載されます。

付録には Polyspace 構成設定、コード メトリクス、コーディング ルール違反の詳細が含まれます。

このテンプレートは、PolyspaceAccess Web インターフェイスにアップロードした結果からレポートを生成する場合にのみ使用できます。結果を Polyspace Access にアップロードを参照してください。どの場合でも、Web インターフェイスで目標を明示的に設定してからレポートを生成する必要があります。

事前定義されたソフトウェア品質目標の詳細は、Bug Finder 品質目標に照らし合わせた Polyspace Bug Finder の結果の評価を参照してください。

設定 – Code Prover

既定値: Developer

CodeMetrics

レポートには、スタック使用量のコード メトリクスの概要が記載されます。

Developer

レポートには、以下を含め、開発者にとって有用な情報がリストされます。

  • 検証結果の概要

  • コード メトリクスの概要

  • ランタイム エラー:

    • 証明されたランタイム エラー、すなわちレッド チェックのリスト

    • 未証明のランタイム エラー、すなわちオレンジ チェックのリスト

    • 到達不能な手続き、すなわちグレー チェックのリスト

  • コードでのグローバル変数の使用方法。グローバル変数 (Polyspace Code Prover)を参照してください。

レポートには、解析で使用する Polyspace 構成の設定と変更可能な仮定も記載されます。プロジェクトのソース ファイルにコンパイル エラーがある場合は、これらのファイルもリストされます。

DeveloperReview

レポートには、Developer レポートと同じ情報がリストされます。ただし、レビュー済みの結果は重大度およびステータス別に並べ替えられ、レビューされてない結果はファイルの場所別に並べ替えられます。

Developer_withGreenChecks

レポートには、Developer レポートと同じ情報がリストされます。さらにレポートには、エラーなしと証明された、すなわちグリーン チェックのコードもリストされます。

Quality

レポートには、以下を含め、品質管理エンジニアにとって有用な情報がリストされます。

  • 結果の概要

  • コードについての統計

  • ファイルごとのチェックの分布を示すグラフ

レポートには、解析で使用する Polyspace 構成の設定と変更可能な仮定も記載されます。プロジェクトのソース ファイルにコンパイル エラーがある場合は、これらのファイルもリストされます。

VariableAccess

レポートではソース コード内のグローバル変数アクセスを表示します。レポートでは最初に各型のグローバル変数の数を表示します。型に関する詳細は、グローバル変数 (Polyspace Code Prover)を参照してください。グローバル変数ごとに、レポートは以下の情報を表示します。

  • 変数名。

    各レベルは | で表されます。

  • 変数のデータ型。

  • 変数の読み取りと書き込み操作の数。

  • 読み取りと書き込み操作の詳細。読み取りと書き込みの操作ごとに、以下の情報が表内に表示されます。

    • file_name.function_name の形式で操作を含むファイルおよび関数。

      エントリは読み取りまたは書き込みの操作ごとに || で表されます。書き込み操作は < で、読み込み操作は > で表されます。

    • 操作の行番号と列番号。

このレポートは Polyspace ユーザー インターフェイスの [変数アクセス] ペインで使用可能な情報を表示します。

CallHierarchy

レポートはソース コード内で呼び出し階層を表示します。ソース コード内の関数呼び出しごとに、レポートは以下の情報を表示します。

  • 関数が呼び出される場所における呼び出し階層のレベル。

    各レベルは | で表されます。関数呼び出しが表内で |||-> file_name.function_name のように表示されると、関数呼び出しは階層の第 3 レベルで発生します。main もしくはエントリ ポイントから開始して、現在の呼び出しまで 3 つの関数呼び出しがあります。

  • 関数呼び出しを含むファイル。

    また、行と列も表示されます。

  • 関数定義を含むファイル。

    また、関数定義が始まる行と列も表示されます。

さらに、レポートは呼び出されていない関数も表示します。

このレポートは、Polyspace ユーザー インターフェイスの [呼び出し階層] ペインで使用可能な情報を表示します。

SoftwareQualityObjectives

レポートには、品質管理エンジニアに有用で PolyspaceAccess インターフェイスで使用可能な、次のような情報が記載されます。

  • プロジェクトが品質目標を満たすかどうかの情報

  • プロジェクト内の確定したおよび可能性のあるランタイム エラー。タイプごとのランタイム エラーについて、レポートには正当化されたエラー数および正当化が品質目標を満たすかどうかが記載されます。

付録に、Polyspace 構成設定、コード メトリクス、ランタイム エラーの詳細が記載されています。

このテンプレートは、PolyspaceAccess Web インターフェイスにアップロードした結果からレポートを生成する場合にのみ使用できます。結果を Polyspace Access にアップロードを参照してください。どの場合でも、Web インターフェイスで目標を明示的に設定してからレポートを生成する必要があります。

事前定義されたソフトウェア品質目標の詳細は、ソフトウェア品質目標に照らした Polyspace Code Prover の結果の評価 (Polyspace Code Prover)を参照してください。

SoftwareQualityObjectives_Summary

レポートは [SoftwareQualityObjectives] レポートと同じ情報を含みます。ただし、コード メトリクスおよびランタイム エラーの詳細が記載された補助的な付録はありません。

このテンプレートは、PolyspaceAccess Web インターフェイスにアップロードした結果からレポートを生成する場合にのみ使用できます。結果を Polyspace Access にアップロードを参照してください。どの場合でも、Web インターフェイスで品質目標レベルを明示的に設定してからレポートを生成する必要があります。

事前定義されたソフトウェア品質目標の詳細は、ソフトウェア品質目標に照らした Polyspace Code Prover の結果の評価 (Polyspace Code Prover)を参照してください。

依存関係

Polyspace デスクトップ製品のユーザー インターフェイスで、[レポートの生成] オプションを選択した場合のみ、このオプションは有効になります。

ヒント

  • このオプションにより、解析を開始する前にレポート生成を指定できます。

    解析の完了 "後" にレポートを生成するには、Polyspace デスクトップ製品のユーザー インターフェイスで [レポート][レポートの実行] を選択します。または、コマンド ラインで polyspace-report-generator コマンドを使用します。

    解析後、さらにカスタマイズを行うため、結果をテキスト ファイルとしてエクスポートすることもできます。polyspace-report-generator コマンドでオプション -generate-results-list-file を使用します。

  • [SoftwareQualityObjectives_Summary] および [SoftwareQualityObjectives] テンプレートを使用してレポートを生成する場合、PASS/FAIL ステータスはすべての結果に基づいて決定されます。たとえば、オレンジのオーバーフロー チェックに 60% のしきい値を設定するレベル SQO-4 を使用すると、グリーンのオーバーフロー チェックと正当化されたオレンジのオーバーフロー チェックの割合が "すべてのグリーンおよびオレンジのオーバーフロー チェック" の 60% 未満である場合、プロジェクトのステータスは [失敗] になります。

  • レポートの最初の章には関連する結果の概要が含まれます。この概要に基づいて、プロジェクトのその章に PASS/FAIL ステータスを入力できます。[SoftwareQualityObjectives] または [SoftwareQualityObjectives_Summary] テンプレートを使用する場合、ステータスは目標と検証結果に基づいて自動的に割り当てられます。PolyspaceAccess を使用した目標の強制についての詳細は、Monitor Code Quality Using Quality Objectives Dashboard in Polyspace Access (Polyspace Access)を参照してください。

コマンド ライン情報

パラメーター: -report-template
値: template.rpt への絶対パス
例 (Bug Finder): polyspace-bug-finder -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\bug_finder\BugFinder.rpt
例 (Code Prover): polyspace-code-prover -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\Developer.rpt
例 (Bug Finder Server): polyspace-bug-finder-server -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\bug_finder\BugFinder.rpt
例 (Code Prover Server): polyspace-code-prover-server -sources file_name -report-template polyspaceroot\toolbox\polyspace\psrptgen\templates\Developer.rpt

バージョン履歴

すべて展開する