このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
サーバーでの Polyspace Bug Finder の実行と Web インターフェイスへの結果のアップロード
Polyspace® Bug Finder™ Server™ は、C/C++ コードで欠陥とコーディング規約違反をチェックしてから、コード レビューのために調査結果を Web インターフェイスにアップロードします。
継続的インテグレーションの一環として Bug Finder を実行できます。Bug Finder 解析を定期的に実行するか、新しいコード送信に基づいて実行するスクリプトを設定します。これらのスクリプトは、Polyspace Access Web インターフェイスでのレビューのために解析結果をアップロードし、オプションでソース ファイルのオーナーに Polyspace の調査結果を記載したメールを送信します。オーナーは Web インターフェイスを開いて、送信された新しい調査結果のみをレビューし、問題を修正したり正当化したりできます。
一般的なプロジェクトまたはチームでは、Polyspace Bug Finder Server がいくつかのテスト サーバーで定期的に実行され、レビューのために結果をアップロードします。チームの開発者と品質エンジニアの各々が Polyspace Access™ のライセンスを所有し、Web インターフェイスで結果を表示して調査とバグ修正を行います。
前提条件
サーバーで Bug Finder 解析を実行し、Polyspace Access Web インターフェイスで結果を確認するには、次の 1 回限りの設定を実行します。
解析を実行するには、Polyspace Bug Finder Server 製品のインスタンスを 1 つインストールします。
結果をアップロードするには、Polyspace Access の Web インターフェイスをホストするために必要なコンポーネントを設定します。
アップロードされた結果を表示するには、結果をレビューする開発者の各々が Polyspace Access のライセンスを所有していなければなりません。
Polyspace Server および Access 製品のインストールを参照してください。
Polyspace インストールのチェック
Polyspace Bug Finder Server がインストールされているかどうかを確認するには、次のようにします。
コマンド ウィンドウを開きます。
に移動します。ここで、polyspaceserverroot
\polyspace\bin
は Polyspace Bug Finder Server インストール フォルダーです。たとえば、polyspaceserverroot
C:\Program Files\Polyspace Server\R2025a
です。インストール フォルダーも参照してください。以下を入力します。
polyspace-bug-finder-server -help
Bug Finder 解析で使用できるオプションのリストが表示されます。
Polyspace Access Web インターフェイスがアップロード用に設定されているかどうかをチェックするには、次のようにします。
再度
に移動します。polyspaceserverroot
\polyspace\bin以下を入力します。
polyspace-access -host hostName -port portNumber -create-project testProject
ここで、
は Polyspace Access Web サーバーをホストしているサーバーの名前です。ローカルでホストされているサーバーの場合はhostName
localhost
を使用します。
は、サーバーのポート番号 (オプション) です。ポート番号を省略した場合、portNumber
9443
が使用されます。設定が完了すると、
testProject
という名前のプロジェクトが Polyspace Access Web インターフェイスで作成されます。polyspace-access
コマンドを使用するたびに、ログイン名とパスワードの入力を求められます。毎回ログイン情報を入力しないようにするには、ログイン名とパスワードの暗号化バージョンをコマンドで提供します。暗号化されたパスワードを作成するには、次のように入力します。polyspace-access -encrypt-password
ログイン名とパスワードを入力します。暗号化されたパスワードをコピーし、
polyspace-access
コマンドを使用するときに-encrypted-password
オプションとこの暗号化パスワードを指定します。Web ブラウザーで、次の URL を開きます。
ここで、https://hostName:portNumber/metrics/index.html
とhostName
は、前の手順で使用したホスト名とポート番号です。portNumber
Polyspace Access Web インターフェイスの [プロジェクト エクスプローラー] ペインに、新しく作成されたプロジェクト testProject
が表示されます。
サンプル ファイルに対する Bug Finder の実行
Bug Finder を実行するには、オペレーティング システムでコマンド ウィンドウを開きます。
Bug Finder 解析を実行するには、
polyspace-bug-finder-server
コマンドを使用します。結果を Polyspace Access Web インターフェイスにアップロードするには、
polyspace-access -upload
(Polyspace Access) コマンドを使用します。
コマンドへの絶対パスの入力を省略するには、パス
をオペレーティング システムの polyspaceserverroot
\polyspace\binPath
環境変数に追加します。
Polyspace インストールで提供されるサンプル ファイルのコマンドを試します。
サンプル ソース ファイルを
から書き込み権限のある別のフォルダーにコピーします。コマンド ラインでこのフォルダーに移動します。polyspaceserverroot
\polyspace\examples\cxx\Bug_Finder_Example\sources以下を入力します。
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -create-project testProject polyspace-access -host hostName -port portNumber -login username -encrypted-password pwd -upload . -project myFirstProject -parent-project testProject
ここで、
はログイン名、username
は以前に作成した暗号化パスワードです。Polyspace インストールのチェックを参照してください。pwd
Polyspace Access Web インターフェイスを更新します。[プロジェクト エクスプローラー] ペインに testProject
フォルダーが表示されます。このフォルダーには、myFirstProject
という 1 つのプロジェクトが含まれています。
プロジェクトの結果を確認するには、[レビュー] をクリックします。詳細は、Web ブラウザーでの Polyspace Bug Finder の結果のレビューを参照してください。Polyspace Access インターフェイスの右上にある ボタンを使用してドキュメントにアクセスすることもできます。
polyspace-bug-finder-server
コマンドで使用される解析オプションは次のとおりです。
-sources
コンマ区切りのソース ファイルを指定します。-I
インクルード フォルダーのパスを指定します。別のインクルード フォルダーを追加するたびに-I
フラグを使用します。欠陥の検出 (-checkers)
:チェックする欠陥 (バグ) を指定します。-results-dir
: Polyspace Bug Finder の結果を保存するフォルダーへのパスを指定します。実行されるたびに結果フォルダーがクリーンアップされて再設定されることに注意してください。クリーンアップ中にファイルが誤って削除されないようにするには、他のファイルを含む既存のフォルダーを使用するのではなく、Polyspace の結果専用のフォルダーを指定します。
Bug Finder の解析で使用できるすべてのオプションのリストについては、Polyspace Bug Finder 解析エンジンのすべてのオプションのリストを参照してください。システムの Web ブラウザーで Bug Finder ドキュメンテーションを開くには、次のように入力します。
polyspace-bug-finder-server -doc
サーバーでの Bug Finder 解析用のサンプル スクリプト
解析を実行するために、コマンド ラインでコマンドを入力する代わりにスクリプトを使用できます。スクリプトは、ソース ファイルを追加または変更するたびに実行します。
Windows® バッチ ファイルのサンプルを以下に示します。ここでは、Polyspace インストールへのパスをスクリプトで指定しています。このスクリプトを使用するには、polyspaceserverroot
をインストールへのパスに置き換えます。スクリプトで使用する暗号化パスワードは生成済みでなければなければなりません。Polyspace インストールのチェックを参照してください。
echo off set POLYSPACE_PATH=polyspaceserverroot\polyspace\bin set LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd "%POLYSPACE_PATH%\polyspace-bug-finder-server" -sources numerical.c,dataflow.c -I .^ -checkers numerical,data_flow -results-dir . "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -create-project testProject "%POLYSPACE_PATH%\polyspace-access" %LOGIN% -upload . -project myFirstProject -parent-project testProject pause |
Linux® シェル スクリプトのサンプルを以下に示します。
POLYSPACE_PATH=polyspaceserverroot/polyspace/bin LOGIN=-host hostName -port portNumber -login username -encrypted-password pwd ${POLYSPACE_PATH}/polyspace-bug-finder-server -sources numerical.c,dataflow.c -I .\ -checkers numberical,data_flow -results-dir . ${POLYSPACE_PATH}/polyspace-access $LOGIN -create-project testProject ${POLYSPACE_PATH}/polyspace-access $LOGIN -upload . -project myFirstProject -parent-project testProject |
起動スクリプトとは別のファイルでのソースおよびオプションの指定
ソース ファイルと解析オプションを起動スクリプト内でリスト指定する代わりに、それらを個別のテキスト ファイルでリスト指定できます。
オプション
[-sources-list-file]
を使用して、ソースをリストしたテキスト ファイルを指定します。オプション
[-options-file]
を使用して、解析オプションをリストしたテキスト ファイルを指定します。
起動スクリプトからソース ファイルと解析オプションの指定を削除することにより、起動スクリプトを変更せずに、新しいコード送信で必要に応じてこれらの指定を変更できます。
前の例のスクリプトについて考えてみます。polyspace-bug-finder-server
コマンドを変更して、ソースとオプションを指定するテキスト ファイルを使用できます。以下のようにはしません。
polyspace-bug-finder-server -sources numerical.c,dataflow.c -I . -checkers numerical,data_flow -results-dir . |
以下を使用します。
polyspace-bug-finder-server -sources-list-file sources.txt -options-file polyspace_opts.txt -results-dir . |
ここで:
sources.txt
には、以下のソース ファイルが別々の行にリストされています。numerical.c dataflow.c
polyspace_opts.txt
には、解析オプションが別々の行にリストされています。-I . -checkers numerical,data_flow
通常、ソース ファイルはビルド コマンド (makefile) で指定されます。ソース ファイルを直接指定する代わりに、ビルド コマンドをトレースしてソース指定のリストを作成できます。polyspace-configure
を参照してください。
全体のワークフロー
一般的な継続的インテグレーション ワークフローでは、次の手順を実行するスクリプトを実行します。
ビルド コマンドから Polyspace オプションを抽出します。
たとえば、makefile を使用してソース コードをビルドする場合、makefile から解析オプションを抽出できます。以下のコマンドは、まず
make
を実行し、実行されたプロセスから解析オプションを判別します。polyspace-configure -output-options-file compile_opts make
参考:
前に作成したオプション ファイルを使用して解析を実行します。解析に必要な残りのオプションが含まれた 2 番目のオプション ファイルを追加します。
polyspace-bug-finder-server -options-file compile_opts -options-file run_opts
Polyspace 解析のオプション ファイルを参照してください。
結果を Polyspace Access にアップロードします。
polyspace-access login -upload resultsFolder -project projName -parent-project parentProjName
ここで、
は、Polyspace Access をホストしている Web サーバーと通信するために必要なオプションの組み合わせです。login
-host hostName -port portNumber -login username -encrypted-password pwd
は、Polyspace の結果を含むフォルダーです。resultsFolder
とprojName
は、Polyspace Access Web インターフェイスに表示されるプロジェクト名と親フォルダー名です。parentProjName
必要に応じて、コード送信の新しい結果を含む電子メール通知を開発者に送信します。電子メールには、添付ファイルと Polyspace Access Web インターフェイスでの結果へのリンクが含まれます。
これらの手順を実行するスクリプトの例については、Jenkins を使用した Polyspace 解析のサンプル スクリプトを参照してください。
参考
polyspace-access
-create-project
(Polyspace Access) | polyspace-access
-upload
(Polyspace Access) | polyspace-bug-finder-server