このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
初期相互依存関係の分析に基づくコマンド ラインでのPolyspace 解析のモジュール化
1 つのアプリケーションのコード ベース全体の解析には、アプリケーションのサイズによっては時間がかかることがあります。
大きなアプリケーションの場合、Polyspace® では次のように対応できます。
アプリケーションを、検証に要する時間がそれぞれ短い複数のモジュールに分割する。
検証にかかる時間と検証の精度のトレードオフを考慮して、モジュールの数を指定する。
多数の小さなモジュールを使用すると、分析を高速に実行できます。分割中は、クロスモジュール参照が自動的に最小限に抑えられます。ただし、モジュールの数が増えると、検証中に必要なクロスモジュール参照が増加し、その結果として精度が低下することになります。
基本的なオプション
次のバッチ コマンドを使用してアプリケーションを複数のモジュールに分割できます。
polyspace-modularize [target_folder] {option1,option2,...}
オプション | 説明 |
---|---|
| ソース ファイルを処理する初回実行の結果を含むフォルダー。既定では、polyspace-modularize の実行元のフォルダーです。 |
-o= | 分割されたアプリケーションの出力フォルダー。既定では、polyspace-modularize の実行元のフォルダーです。 |
-gui= | Polyspace 検証環境には、モジュール化選択肢ウィンドウが表示され、選択可能なモジュールの最大数の事前定義された制限値が示されます。新しい制限値 を指定する場合に、このオプションを使用します。 |
-matlab= | モジュール化選択肢ウィンドウのデータ キャッシュが存在しない場合は、キャッシュ を作成します。キャッシュにより、モジュール化選択肢ウィンドウの表示にかかる時間を短縮できます。
キャッシュが既に存在している場合は、アクションは実行されません。 |
-modules= | アプリケーションを 個のモジュールに分割します。モジュール化選択肢ウィンドウで に関連付けられている灰色の領域をクリックする動作と同等です。 |
-max-complexity= | 指定された最大複雑度 を基準にしてアプリケーションを複数のモジュールに分割します。 関数の複雑度は、関数のサイズに関連する数値です。モジュールの複雑度は、モジュール内の関数の複雑度の合計です。アプリケーションの分割時に、モジュールの複雑度が
|
分割中のモジュール複雑度の制限
すべての関数の複雑度を強制的に 1 にするには、次のコマンドを実行します。
polyspace-modularize -uniform-complexities
結果フォルダーの名前
既定では、モジュール化結果フォルダーには
という名前が付けられます。projectName_kk_module
は、kk
-max-complexity
に指定する最大複雑度引数またはモジュール数のいずれかになります。
i
番目のモジュールの、結果フォルダーの命名を制御するには、-stem
オプションを使用します。
polyspace-modularize -stem=stem_format
stem_format
は文字列です。文字列内の #
文字と @
文字は、次のように処理されます。
#
— 分割のモジュール数に置き換えられます。@
—-max-complexity
の引数に置き換えられます。
たとえば、MyName
という名前を使用し、この名前がプロジェクト名をオーバーライドするものの、モジュール番号は含まない場合には、以下を実行します。
polyspace-modularize -stem=MyName
モジュール依存関係グラフでの循環の禁止
既定では、モジュール依存関係グラフには循環を含めることができます。ただし場合によっては、非循環グラフの方が適切な結果を得られることがあります。次のコマンドを使用します。
polyspace-modularize -forbid-cycles