このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace 解析結果のエクスポート
解析結果は、タブ区切り値 (TSV) のテキスト ファイル、MATLAB® table、または標準 JSON 形式にエクスポートできます。エクスポートされたコンテンツを使用すると、次のことができます。
ユーザー インターフェイスから簡単に取得できない結果のグラフや統計を生成する場合は、MATLAB または Microsoft® Excel® を使用します。たとえば、Code Prover チェック タイプ ([ゼロ除算]、[オーバーフロー] など) ごとに、レッド、オレンジまたはグリーンのチェック数を計算できます。
コードに対して実行した他のチェックと解析結果とを組み合わせることができます。
結果のテキスト ファイルへのエクスポート
ユーザー インターフェイスまたはコマンド ラインから結果をタブ区切りのテキスト ファイル (TSV) にエクスポートできます。
エクスポート先のテキスト ファイルでは、オペレーティングシステムの文字エンコードが使用されます。コメントの特殊文字がテキスト ファイルに正しくエクスポートされない場合は、エクスポート前にオペレーティング システムの文字エンコードを変更します。
Polyspace デスクトップ ユーザー インターフェイスからの結果のエクスポート
解析結果を開きます。
すべての結果または結果のサブセットのみをエクスポートします。
すべての結果をエクスポートするには、[レポート] 、 [エクスポート] 、 [すべての結果をエクスポート] を選択します。
レポートの結果をフィルターするには、[結果のリスト] ペインでフィルターを使用し、レポートする結果のみを表示します。次に、結果をエクスポートする際、[レポート] 、 [エクスポート] 、 [現在表示されている結果をエクスポート] を選択します。
フィルター処理の詳細については、Polyspace デスクトップ ユーザー インターフェイスでの結果のフィルター処理とグループ化を参照してください。
テキスト ファイルを保存する場所を選択し、[OK] をクリックします。
メモ
コード メトリクスのしきい値を設定するレビュー スコープを適用し、すべての結果をエクスポートする場合、生成されるファイルでは色付きの列 (3 番目の列) で、コード メトリクスの結果が緑 (パス) または赤 (失敗) として示されます。コード メトリクスのしきい値を設定しない場合、エクスポートされるファイルでは、色付き列にコード メトリクスの結果として [適用不可] が示されます。
Polyspace Platform ユーザー インターフェイスからの結果のエクスポート
解析結果を開きます。
すべての結果またはすべての変数アクセス情報をエクスポートします。
すべての結果をエクスポートするには、[レポート] 、 [すべての結果をエクスポート] を選択します。
すべての変数アクセス情報をエクスポートするには、[レポート] 、 [変数アクセスのエクスポート] を選択します。変数アクセスの詳細については、Polyspace デスクトップ ユーザー インターフェイスの [変数アクセス] (Polyspace Code Prover)を参照してください。
テキスト ファイルを保存する場所を選択します。ファイルは CSV、JSON、TSV のいずれかの形式で保存できます。保存するには、ファイル タイプ
All Files (*.*)
を選択して、手動でファイルの拡張子を編集します。[保存] をクリックします。
コマンド ラインからの結果のエクスポート
polyspace-results-export
コマンドでオプション -format csv
を使用します。たとえば、結果ファイル C:\Polyspace_Workspace\myProject\Module_1\BF_Result\ps_results.psbf
から csv ファイルを生成するには、次のコマンドを実行します。
polyspace-results-export -format csv -results-dir C:\Polyspace_Workspace\myProject\Module_1\BF_Result
結果を MATLAB table にエクスポート
MATLAB スクリプトを記述して Polyspace® を実行する場合、さらに処理するため Polyspace 解析結果を MATLAB table に読み取ることができます。詳細は、以下を参照してください。
MATLAB での Code Prover 解析結果の可視化 (Polyspace Code Prover)
結果の JSON 形式へのエクスポート
Polyspace の結果を JSON オブジェクトにエクスポートできます。JSON 形式は、OASIS Static Analysis Results Interchange Format (SARIF) で指定された標準表記法に従います。
polyspace-results-export
コマンドでオプション -format json-sarif
を使用します。詳細は、polyspace-results-export
を参照してください。
JSON 形式には、チェッカーの短い名前や結果に付随する完全なメッセージなど、いくつかの追加情報が含められます。この短い名前やメッセージを使用する場合は、JSON 形式を使用します。結果をより標準化されたレポートにする場合も、この形式を使用できます。たとえば、複数の静的解析ツールを使用し、その結果を 1 つの解析アルゴリズムを使用して 1 つのインターフェイスでレポートにする場合、結果すべてを標準 SARIF JSON 形式にエクスポートできます。
エクスポートした結果の表示
エクスポートされた結果には、デスクトップ ユーザー インターフェイスまたは Polyspace Access™ Web インターフェイスの [結果のリスト] ペインで使用できる情報が含まれています。詳細は、以下を参照してください。
Polyspace デスクトップ ユーザー インターフェイスでの結果リスト (Polyspace Code Prover)
Polyspace Access Web インターフェイスの結果のリスト (Polyspace Access)
[結果のリスト] の一部の列ヘッダーには、エクスポートされた結果ファイルとは異なるラベルが付けられる場合があります。
[結果のリスト] ペインとエクスポートされた結果の間の表示には、他にも以下の違いがあります。
TSV ファイルと MATLAB テーブルには、[結果のリスト] にはない、次の列が含まれています。
[新規] 列 — 前回の実行と比較して結果が新しいものであるかどうかを示します。
[キー] 列 — この列のエントリは、結果ファミリ、結果の頭字語、およびファイル内の結果の場所に基づくものとなります。エクスポートされたキーを使用したマージ結果の比較も参照してください。
[URL] 列 (Polyspace Access の結果のみ) — この列の URL をクリックすると、Polyspace Access インターフェイスで対応する結果が開きます。
JSON ファイルには、結果が
results
配列に格納されたオブジェクトとして保存されます。オブジェクトごとに、結果の情報が格納されているキーと値のペアのリストがあります。この情報には、前回の実行と比較して結果が新しいものであるかどうか ("baselineState
")、結果キー、および URL ("hostedViewerUri
") も含まれます。JSON 形式の詳細については、SARIF-v2.1.0 を参照してください。
テキスト ファイルを使用してソース コード内の Bug Finder の結果の場所を特定することはできません。しかし、そのファイルを解析し、結果についてのグラフや統計を生成することは可能です。
大量の調査結果を含む結果のエクスポート
Polyspace では、一度に 500,000 件を超える調査結果のエクスポートはサポートされていません。解析結果における調査結果の数がこの上限を超える場合、Polyspace は調査結果数を減らすために、次の順序で調査結果を省略します。
すべてのコード メトリクス調査結果を省略する。
それでも調査結果の数がしきい値を超えている場合は、影響度の低い欠陥 (Bug Finder) またはグリーン チェック (Code Prover) をすべて省略する。
それでも調査結果の数がしきい値を超えている場合は、最初の 500,000 件の調査結果のみをエクスポートする。
プロジェクトに大量の調査結果が含まれている場合、解析構成が最適ではない可能性があります。解析によって大量の調査結果が生成される場合は、優先度が高い欠陥とコーディング ルール違反のみをチェックするように構成を変更して、チェック対象の数を減らします。Troubleshoot Uploads to Polyspace Access That Exceed Size Limit (Polyspace Access)も参照してください。
エクスポートされたキーを使用したマージ結果の比較
共通ファイルを含む複数のモジュールからエクスポートした解析結果をマージする場合、エクスポートされた結果に含まれる [キー] フィールドやその他のフィールドを使用して重複を取り除くことができます。たとえば、コーディング ルール チェックを 2 つの異なるモジュールで実行し結果をマージする場合、共通のヘッダー ファイルのコーディング ルール違反は結果において 2 度表示されます。
重複を取り除くには、結果の [キー] の値と [ファイル] の値を比較します。2 つの結果の [キー] と [ファイル] に同じ値が含まれている場合、一方の結果はもう一方の結果の重複です。
既定では、各結果キーは結果ファミリ (たとえば numerical
)、結果の省略名 (たとえば float_ovfl
)、およびファイル内の結果の場所に基づくものとなります。関数本体内の結果に対応する、より局在的なキーを生成するには、polyspace-results-export
コマンドまたは polyspace-report-generator
コマンドで -key-mode function-scope
オプションを使用します。これらのコマンドは、結果ファミリ、結果の省略名、および関数本体内での結果の場所に基づくキーを生成します。そのうえで、[関数] の値も比較すると、より正確に重複を特定できます。
ごくまれに、同じキーを持ち、ファイル内または関数本体内での場所も同じである結果どうしが、重複していない場合もあります。このような場合は、たとえばユーザー インターフェイスで結果メッセージを比較するなど、手動による結果の比較によって、結果が重複しているものであるかどうかを判断する必要があります。
エクスポートしたキーの関数スコープを有効にする
エクスポートしたキーの関数スコープを有効にするには、次のようにします。
コマンド ライン
次のいずれかのコマンドを入力して、ローカルに保存されている結果をエクスポートします。
またはpolyspace-results-export -results-dir folderPath -key-mode function-scope -format csv
ここで、polyspace-report-generator -generate-results-list-file -results-dir folderPath -key-mode function-scope
folderPath
は、Polyspace 解析結果が含まれているフォルダーのパスです。必ず、書き込み権限が付与されている場所からこれらのコマンドを実行するか、または
-output-name
オプションを使用して、エクスポートされる結果が含まれる生成ファイルの保存場所を指定してください。Polyspace デスクトップ ユーザー インターフェイス
[ツール] 、 [基本設定] に移動し、[ツール メニュー] タブで次のコマンドを入力します。
$POLYSPACE_ROOT\bin\polyspace-results-export.exe -results-dir $RESULT_DIR -key-mode function-scope -format csv -output-name $RESULT_DIR
次に、[ツール] 、 [外部ツール]から、作成したメニュー項目を使用して、結果をエクスポートできます。
既定のキー モードで (関数の場所を参照せずに) 結果をエクスポートするには、[レポート] 、 [エクスポート] メニューを使用します。
関数スコープを有効にして結果をエクスポートすると、関数内にある結果のキー エントリには FN
接頭辞が付きます。