メインコンテンツ

Polyspace Code Prover Server の結果を含む電子メール通知の送信

継続的インテグレーションの一部として Polyspace® 解析を実行すると、新しいコードを送信するたびに新しい結果が生成されます。変更されたコンポーネントでの新しい結果だけでなく、変更されたコンポーネントに依存したコンポーネントでの新しい結果も確認できます。電子メール アラートを設定して、新しい Polyspace の結果がコンポーネントに表示される場合に、そのコンポーネント オーナーが通知を受け取るようにします。

電子メール通知の作成

電子メール通知を作成するには、次のようにします。

  1. 新しい解析結果をタブ区切りのテキスト ファイル (.tsv 形式) にエクスポートします。

    特定のタイプの結果 (影響度の高い欠陥など) をエクスポートするには、フィルターを適用します。必要に応じて、検索置換ユーティリティを使用して、エクスポートされたファイルにさらにフィルターを適用できます。結果を電子メール添付ファイルにエクスポートを参照してください。

  2. 結果ファイルを添付した電子メールを送信します。各結果の添付ファイルには、結果を Polyspace Access™ Web インターフェイスで開くためのリンクが含まれています。

    たとえば Jenkins で電子メール プラグインを使用している場合は、ビルド後のステップを作成し、解析完了後に電子メールを送信することができます。

Jenkins で Polyspace プラグインを使用している場合は、電子メール通知プロセス全体に Polyspace ヘルパー ユーティリティを使用できます。Jenkins を使用した Polyspace 解析のサンプル スクリプトを参照してください。

あるいは、ファイル パスに基づいてオーナーに結果を直接割り当てることができます。オーナーごとに個別の結果ファイルをエクスポートし、各オーナーに対して対応する結果ファイルを添付した電子メールを送信するように、電子メール通知を設定できます。オーナーの割り当て、および割り当てられた結果のエクスポートを参照してください。

前提条件

このチュートリアルを実行するには:

  • Polyspace Access Web サーバーで一部の結果をアップロードしている必要があります。チュートリアルサーバーでの Polyspace Code Prover の実行と Web インターフェイスへの結果のアップロードを完了すると、Polyspace Access Web インターフェイスの [プロジェクト エクスプローラー] ペインに testProject フォルダーが表示されます。このフォルダーには、myFirstProject という 1 つのプロジェクトが含まれています。

    プロジェクトで結果を確認するには、myFirstProject が選択されている状態で [レビュー] ボタンをクリックします。実行時チェックのリストが表示されます。[タイプ] 列には、チェックの色が表示されます。このチュートリアルでは、レッド チェックのみを電子メール添付ファイルにエクスポートします。

  • コマンド ラインから Polyspace Access インターフェイスを操作できる必要があります。たとえば polyspaceserverroot\polyspace\bin に移動して次のように入力します。

    polyspace-access <login> -list-project

    ここで、polyspaceserverrootPolyspace Code Prover™ Server™ インストール フォルダー (C:\Program Files\Polyspace Server\R2025b など) です。変数 login は、次のオプションの組み合わせを参照します。polyspace-access コマンドを使用するときには常にこれらのオプションを指定します。

    -host <hostName> -port <portNumber> -login <username> -encrypted-password <pwd>

    ここで、hostNamePolyspace Access Web サーバーの名前です。ローカルでホストされているサーバーの場合は localhost を使用します。portNumber は、サーバーのポート番号 (オプション) です。ポート番号を省略すると 9443 が使用されます。usernamepwd は、ログインと、暗号化されたパスワードを参照します。暗号化されたパスワードを作成するには、次のように入力します。

    polyspace-access -encrypt-password
    暗号化されたパスワードをコピーし、後で polyspace-access コマンドを使用するときにこのパスワードを指定します。

結果を電子メール添付ファイルにエクスポート

プロジェクトのすべての結果または特定のタイプの結果のみをエクスポートできます。

コマンド ウィンドウを開きます。結果をエクスポートするフォルダーに移動します。

  • すべての結果をエクスポートするには、次のように入力します。

    polyspace-access <login> -export testProject/myFirstProject -output .\result.txt

  • レッド チェックのみをエクスポートするには、次のように入力します。

    polyspace-access <login> -export testProject/myFirstProject -rte Red -output .\result_red_checks.txt

各テキスト ファイルをスプレッドシート表示ユーティリティ (Microsoft® Excel® など) で開きます。最初のファイルにはすべての結果が表示されますが、2 番目のファイルにはレッド実行時チェックのみが表示されます。-rte Red の代わりに他のフィルターを適用できます。

  • 同じプロジェクトに対する以前の解析と比較して、新しい結果のみを表示するには、オプション -new-findings を使用します。

  • より細かなフィルターを適用するには、ソフトウェア品質目標 (SQO) を使用できます。ソフトウェア品質目標は、1 から 6 の数字で示される SQO レベルを使用して指定されます。数字が大きくなるほど厳格になります。Polyspace Access Web インターフェイスで各レベルの要件をカスタマイズし、オプション -open-findings-for-sqo とレベル番号を使用して、要件への適合をレビューする必要がある結果のみをエクスポートできます。ソフトウェア品質目標に照らした Polyspace Code Prover の結果の評価も参照してください。

すべてのフィルター オプションを表示するには、次のように入力します。

polyspace-access -h -export

エクスポートしたファイルを添付ファイルとして送信するように電子メール ユーティリティを構成できます。

必要に応じて、検索置換ユーティリティを使用して、エクスポートされたファイルにさらにフィルターを適用できます。たとえば、結果ファイルに対して検索置換ユーティリティを使用して、特定のファイルと関数からの結果のみに絞り込みます。Linux® では、grepsed を使用して特定ファイルの結果のみを取得できます。

テキスト ファイルにエクスポートする代わりに、事前定義されたレポート テンプレートを使用して PDF または Word でレポートを生成することもできます。詳細については、polyspace-report-generator を参照してください。

オーナーの割り当て、および割り当てられた結果のエクスポート

特定のファイルまたはフォルダー内の結果にオーナーを割り当てることができます。その後、オーナーごとに 1 つの結果ファイルをエクスポートして、該当するファイルを添付した電子メールを各オーナーに送信できます。

オーナーの割り当ては、Polyspace Access Web インターフェイスまたはコマンド ラインで実行できます。

このチュートリアルでは、ファイル example.c のすべての結果を jsmith に割り当て、ファイル single_file_analysis.c のすべての結果を jboyd に割り当てます。

polyspace-access <login> -set-unassigned-findings testProject/myFirstProject -owner jsmith -source-contains example.c
polyspace-access <login> -set-unassigned-findings testProject/myFirstProject -owner jboyd -source-contains single_file_analysis.c

割り当てが完了したら、オーナーごとに 1 つの結果ファイルをエクスポートします。

polyspace-access <login> -export testProject/myFirstProject -output .\results.txt -output-per-owner
エクスポートした結果は次のファイルに含まれています。

  • results.txt にはすべての結果が含まれています。

  • results_jsmith.txt には jsmith に割り当てられている結果が含まれ、results_jboyd.txt には jboyd に割り当てられている結果が含まれています。

  • この例では、results.txt.owners.list に以下のオーナーのリストが含まれています。

    jsmith
    jboyd

オーナーを結果に割り当てる前に、オプション -dryrun を使用して割り当てのドライ ランを実行します。割り当てを行わない場合、このオプションを使用すると、割り当てられている結果を含むファイルと、結果の割り当て先オーナーが表示されます。

参考

トピック