このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
デスクトップでの PolyspaceBug Finder の実行
Polyspace® Bug Finder™ は、C および C++ 組み込みソフトウェアにおけるランタイム エラー、同時実行の問題、セキュリティの脆弱性などの欠陥を特定します。Bug Finder では、セマンティクス解析などの静的解析を使用して、制御フロー、データ フロー、および手続き間の動作を解析します。Bug Finder は、欠陥を検出して直ちに強調表示することにより、開発プロセスの初期段階でバグを重大度により順位付けし、修正を行うことができます。
Bug Finder は、Polyspace ユーザー インターフェイス、またはスクリプトを使用して、完全な C/C++ プロジェクトに対して実行できます。詳細は、以下を参照してください。
Polyspace の使用が初めての場合は、Polyspace ユーザー インターフェイスから開始することができます。プロジェクトの設定ウィザード、構成の支援、解析ログの要約などの機能からヘルプを取得できます。
Windows または Linux コマンド ラインでの Polyspace の実行
Polyspace ユーザー インターフェイスでプロジェクトを設定し、数回の試行を完了した後は、自動またはオンデマンドで実行するスクリプトに構成をエクスポートできます。オペレーティング システムのコマンド ラインから Polyspace 解析を直接実行することもできます。コマンドは後で実行するために、バッチ ファイル (Windows®) またはシェル スクリプト (Linux®) に保存することができます。Jenkins® などの継続的インテグレーション ツールを使用して Polyspace サーバー製品を実行している場合、Polyspace デスクトップ製品のスクリプトを再利用することができます。
MATLAB® をインストールしている場合は、スクリプトを書いて Polyspace 解析を実行することが特に簡単になります。たとえば、関数構文の自動ヘルプなど、MATLAB 環境におけるスクリプト作成のすべての利点を活用できます。解析後、MATLAB グラフィックスおよび可視化ツールを使用して、結果についての独自の可視化を作成できます。
例のファイル
このチュートリアルの手順に従うには、
のファイルを別のフォルダーにコピーします。ここで、polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Example\sources
は Polyspace インストール フォルダーです。たとえば、polyspaceroot
C:\Program Files\Polyspace\R2025a
です。
ユーザー インターフェイスでの Polyspace の実行
Polyspace ユーザー インターフェイスを開く
の polyspaceroot
\polyspace\binpolyspace
実行可能ファイルをダブルクリックします。ここで、
は Polyspace インストール フォルダーです。たとえば、polyspaceroot
C:\Program Files\Polyspace\R2025a
です。インストール フォルダーも参照してください。
デスクトップまたは Windows の [スタート] メニューに Polyspace へのショートカットを設定している場合は、そのショートカットをダブルクリックします。
ソース ファイルの追加
解析を実行するには、新しい Polyspace プロジェクトを作成する必要があります。Polyspace プロジェクトでは、ファイル システムのソース フォルダーとインクルード フォルダーを指し示します。
[スタート ページ] ペインの左側で、[新規プロジェクトの開始] をクリックします。あるいは、[ファイル] 、 [新規プロジェクト] を選択します。
プロジェクト名を指定したら、次の画面で、ソース フォルダーとインクルード フォルダーを追加します (両方を同じフォルダーにすることができます)。このチュートリアルでは、ソース ファイルとインクルード ファイルを保存したフォルダーへのパスを追加します。
ソース フォルダーとインクルード フォルダーを追加し終わったら、[プロジェクト ブラウザー] ペインに新しいプロジェクトが表示されます。ソース フォルダーはプロジェクトの最初のモジュールにコピーされます。プロジェクトを右クリックし、後からフォルダーをさらに追加することができます。後からフォルダーを追加する場合は、そのフォルダーをモジュールに明示的にコピーしなければなりません。
Polyspace の設定と実行
Polyspace 解析に関連付けられている既定のオプションを変更できます。
プロジェクト モジュールで [構成] ノードをクリックします。必要に応じて、[構成] ペインでオプションを変更します。たとえば、[コーディング ルールおよびコード メトリクス] ノードで [MISRA C:2004 のチェック] を選択します。
詳細は、各オプションのツールヒントを参照してください。オプションの状況依存のヘルプについては、[詳しいヘルプ] リンクをクリックします。
解析を開始するには、上部のツール バーで [Bug Finder の実行] をクリックします。ボタンに Code Prover が示されている場合は、ボタンの横の矢印をクリックして Bug Finder に切り替えます。
[出力の概要] ウィンドウで解析の進行状況を確認します。解析後、結果が自動的に開きます。
その他の情報
詳細は、以下を参照してください。
Windows または Linux コマンド ラインでの Polyspace の実行
Windows または Linux コマンド ラインから、バッチ (.bat
) ファイルまたはシェル (.sh
) スクリプトを使用して Bug Finder を実行できます。
Bug Finder 解析を実行するには、polyspace-bug-finder
コマンドを使用します。
コマンドの絶対パスの入力を省略するために、パス
をオペレーティング システムの polyspaceroot
\polyspace\binPath
環境変数に追加します。ここで、
は Polyspace インストール フォルダーです。たとえば、polyspaceroot
C:\Program Files\Polyspace\R2025a
です。
(cd
を使用して) ファイルを保存したフォルダーに移動します。以下を入力します。
polyspace-bug-finder -sources numerical.c,dataflow.c -I . -results-dir .
.
は現在のフォルダーを示します。使用されるオプションは以下のとおりです。
-sources
コンマ区切りのソース ファイルを指定します。-I
インクルード フォルダーのパスを指定します。別のインクルード フォルダーを追加するたびに-I
フラグを使用します。-results-dir
: Polyspace Bug Finder の結果を保存するフォルダーへのパスを指定します。実行されるたびに結果フォルダーがクリーンアップされて再設定されることに注意してください。クリーンアップ中にファイルが誤って削除されないようにするには、他のファイルを含む既存のフォルダーを使用するのではなく、Polyspace の結果専用のフォルダーを指定します。
解析後、結果はファイル ps_results.psbf
に保存されます。このファイルは Polyspace ユーザー インターフェイスから開くことができます。たとえば、以下を入力します。
polyspace ps_results.psbf
コマンド ラインでコンマ区切りのソースを直接指定する代わりに、テキスト ファイルにソースをリストできます (1 行につき 1 ファイル)。このテキスト ファイルを指定するには、オプション -sources-list-file
を使用します。
その他の情報
詳細は、以下を参照してください。
MATLAB での Polyspace の実行
MATLAB から Polyspace を実行する前に、Polyspace インストールと MATLAB インストールをリンクしなければなりません。MATLAB や Simulink との Polyspace の統合を参照してください。
解析を実行するには、polyspace.Project
オブジェクトを使用します。このオブジェクトには次の 2 つのプロパティがあります。
Configuration
:このプロパティを使用して、ソース、インクルード、コンパイラ、結果フォルダーなどの解析オプションを指定します。Results
:このプロパティを使用して、解析後に解析結果を MATLAB table に読み取ります。
解析を実行するには、このオブジェクトの run
メソッドを使用します。
に含まれる例ファイル polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Examples\sourcesnumerical.c
に対して Polyspace を実行するには、MATLAB コマンド プロンプトに以下を入力します。
proj = polyspace.Project % Configure analysis proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', ... 'examples', 'cxx', 'Bug_Finder_Example', 'sources', 'numerical.c')}; proj.Configuration.TargetCompiler.Compiler = 'gnu4.9'; proj.Configuration.EnvironmentSettings.IncludeFolders = {fullfile(polyspaceroot, ... 'polyspace', 'examples', 'cxx', 'Bug_Finder_Example', 'sources')} proj.Configuration.ResultsDir = fullfile(pwd,'results'); % Run analysis bfStatus = proj.run('bugFinder'); % Read results resObj = proj.Results; bfSummary = getSummary(resObj, 'defects'); bfResults = getResults(resObj, 'readable');
解析後、結果はファイル ps_results.psbf
に保存されます。このファイルは Polyspace ユーザー インターフェイスから開くことができます。たとえば、以下を入力します。
resultsFile = fullfile(proj.Configuration.ResultsDir,'ps_results.psbf');
polyspaceBugFinder(resultsFile)
その他の情報
詳細は、以下を参照してください。