このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace Server および Access 製品のクイック スタート ガイド
開発プロセスの後半でバグが検出されないようにするには、Polyspace® 製品を使用して静的解析を実行します。
"PolyspaceBug Finder™" は、C/C++ コードのバグ、コーディング規約違反、セキュリティの脆弱性などの問題をチェックします。
"Polyspace Code Prover™" は、ゼロ除算、オーバーフロー、配列が範囲外にアクセス、およびその他一般的なタイプのランタイム エラーを網羅的にチェックします。
Polyspace Bug Finder と Polyspace Code Prover の違いも参照してください。
継続的インテグレーションの一部として Polyspace チェッカーを定期的に実行すると、新しいコード チェックインによるリグレッションを回避できます。継続的インテグレーションにおけるサーバーでの Polyspace の実行には、"Polyspace Bug Finder Server" および "Polyspace Code Prover Server" を使用します。Polyspace 解析の結果をホストするには、"Polyspace Access" を使用します。
一般的なワークフローは次の図のようになります。
インストール
前提条件
プロジェクト、チーム、または組織のニーズに応じて、Polyspace Server および Polyspace Access 製品の特定の数のライセンスを取得することを決定しておきます。このガイドは、これらの製品の個々のインスタンスをマシンにインストールする際に役立ちます。
Polyspace Server のインストール
Polyspace Server 製品をインストールするには、MathWorks インストーラーをダウンロードして実行します。Polyspace Server 製品のライセンスを入力します (または評価版ライセンスをリクエストします)。評価版ライセンスのリクエストについても参照してください。Polyspace Server 製品は、他の MathWorks® 製品とは異なるフォルダーにインストールされます。Polyspace Server および Access 製品のインストールも参照してください。
Polyspace Access のインストール
Polyspace Access をインストールする前に、Polyspace の結果を同時にレビューする可能性があるユーザーの人数を考慮してください。システム要件は、同時レビュー担当者の数に応じて異なります。Polyspace Access のシステム要件 (Polyspace Access)も参照してください。
Polyspace Access は、ユーザーのログインを認証するための User Manager、バグ トラッキング ツールと Polyspace を統合するための Issue Tracker、結果を管理するためのデータベース、結果を表示するための Web サーバー、および通信を処理するゲートウェイといったさまざまなサービスで構成されます。サービスは Docker コンテナーにデプロイされます。これらのサービスは、Cluster Admin と呼ばれる共通インターフェイスから起動できます。
Polyspace Access をインストールするには、次を行います。
インストーラーを zip ファイルとしてダウンロードします。
ファイルを解凍して Cluster Admin を起動します。Cluster Admin インターフェイスからさまざまなサービスを起動します。Web レビューのための Polyspace Access のインストールを参照してください。
インストール後、アップロードされた結果をインストールしたユーザーと他のレビュー担当者が確認するには、次のページにログインします。
https://<hostName>:<portNumber>/metrics/index.html
hostName
は Polyspace Access のインストール先サーバー マシンのホスト名、portNumber
は Polyspace Access がクライアント マシンとの通信に使用するポートです。たとえば、example-server.com:9443
です。ホスト名とポート番号がわからない場合は、Polyspace Access の管理者にお問い合わせください。ネットワーク ライセンス マネージャーのインストール
Polyspace Server と Polyspace Access はいずれも、ライセンス チェックアウトのためにネットワーク ライセンス マネージャーとの通信を必要とするライセンスを使用します。
インストールするには、Polyspace Server のネットワーク ライセンス マネージャーを設定して起動します。ネットワーク ライセンスの管理を参照してください。
インストールするには、Polyspace Access のネットワーク ライセンス マネージャーを設定して起動します。Polyspace NNU ライセンスの管理を参照してください。
Polyspace 解析の設定
前提条件
インストールするユーザーまたは組織内の IT 部門が、必要な数の Polyspace Server および Polyspace Access インスタンスをインストールする必要があります。このガイドは、Polyspace Server および Polyspace Access のシングル インスタンスを使用して、継続的インテグレーションの一部として Polyspace 解析を設定するときに役立ちます。
Polyspace Server インストール環境と Polyspace Access インストール環境が相互に通信できることを確認するには、Polyspace インストールのチェックを参照してください。
Polyspace Server の実行と Polyspace Access への結果のアップロード
ご使用のオペレーティング システムのコマンド ラインで Polyspace Server 製品を実行できます。
解析を実行するには、
polyspace-bug-finder-server
およびpolyspace-code-prover-server
実行可能ファイルを使用します。解析結果をアップロードするには、
polyspace-access -upload
(Polyspace Access)コマンドを使用します。polyspace-access -export
(Polyspace Access)コマンドを使用して、Polyspace Access から結果をテキスト ファイルとしてエクスポートし、アーカイブするかまたは電子メールに添付することもできます。
Polyspace インストール フォルダー (/usr/local/Polyspace Server/R2025a
など。インストール フォルダーも参照) の polyspace/bin
サブフォルダーにあるすべての Polyspace 実行可能ファイルを実行できます。サンプル C ソース ファイルとサンプル スクリプトを使用して Polyspace Server の実行を開始するには、次を参照してください。
ビルド コマンド (makefile) から Polyspace 解析オプションを事前に設定し、2 番目のオプション ファイルにチェッカーなどの解析仕様を追加することもできます。ビルド コマンド (Makefile) からの Polyspace 解析構成の作成を参照してください。
Polyspace デスクトップ製品をインストールしている場合は、デスクトップ製品のユーザー インターフェイスで解析構成を準備できます。次に、継続的インテグレーションで実行する Polyspace オプション ファイルを生成できます。ユーザー インターフェイスでの Polyspace 解析オプションの設定とスクリプトの生成を参照してください。
Jenkins などのツールを使用した継続的インテグレーションへの Polyspace 実行の組み込み
Polyspace 解析を実行するためのスクリプトが準備できたら、Jenkins や Bamboo などの継続的インテグレーション ツールを使用して事前に定義した間隔で、これらのスクリプトを実行できます。Jenkins では、Polyspace プラグインを使用して、Polyspace インストールを指し示し、新たな欠陥などの条件に基づいて、解析実行後に開発者に電子メール通知を送信できます。
Jenkins インターフェイス内から Polyspace プラグインを検索してインストールします。Jenkins プラグインの使用法とサンプル スクリプトの使用法に関するクイック スタートについては、Polyspace プラグイン GitHub リポジトリを参照してください。Jenkins を使用した完全なワークフローについてはJenkins を使用した Polyspace 解析のサンプル スクリプトを参照してください。
結果レビュー担当者のワークフローの作成
既に使用しているツールに応じて、結果レビュー担当者にとって便利なワークフローを設定できます。以下に例を示します。
レビュー担当者が新しい結果のアラートを受信し、Polyspace Access にログインする
新しい結果が使用可能になると、継続的インテグレーション ツールからユーザー グループに対してアラートが送信されます。電子メール アラートには、結果がアップロードされたプロジェクトの Polyspace Access URL が含まれています。
レビュー担当者は Polyspace Access インターフェイスでこのプロジェクト URL を開き、ファイルに基づいて結果にフィルターを適用し、問題を修正するか、結果のステータスを設定できます。参考:
Polyspace Access Web インターフェイスでの結果のフィルタリングと並べ替え (Polyspace Access)
Polyspace Access でのバグ修正または正当化による結果への対処 (Polyspace Access)
結果が添付されているカスタマイズ済み電子メール アラートをレビュー担当者が受け取る
継続的インテグレーション (CI) ツールは、Polyspace Access へのアップロードの前に、
polyspace-access -set-unassigned-findings
(Polyspace Access)コマンドを使用して、ファイルまたはコンポーネントの所有権などの条件に基づいて、新しい解析結果にオーナーを割り当てます。アップロード後、CI ツールは
polyspace-access -export
(Polyspace Access)コマンドを使用して、各オーナーの解析結果を個別のテキスト ファイルにエクスポートします。その後、テキスト ファイルが電子メールの添付としてオーナーに送信されます。テキスト ファイルには、結果と、それに対応するPolyspace Access インターフェイスの URL が含まれています。Jenkins を CI ツールとして使用する場合は、Jenkins の Polyspace プラグインでこのワークフローが直接サポートされます。Jenkins を使用した Polyspace 解析のサンプル スクリプトを参照してください。
電子メールを受信した所有者は、その添付テキスト ファイルを開き、各結果の URL を Web ブラウザーにコピーして、結果を確認します。
レビュー担当者がバグ トラッキング ツールからチケットを開く
品質管理担当エンジニアなどのレビュー担当者は、すべての新しい結果をレビューし、開発者向けの JIRA チケットを作成できます。Create Bug Tracking Tool Tickets from the Polyspace Access Web Interface (Polyspace Access)を参照してください。
開発者は各 JIRA チケットを開き、Polyspace Access インターフェイスで、対応する Polyspace の結果に移動します。