コンテンツ
ソースコード解析の局面によっては完全なプロジェクト情報が必要となる場合があります。
例えば、関数が定義されているものの、その関数がどこからも呼出されていないという問題は、一つのソースファイルの解析で検出できる問題ではなく、複数のファイルを解析することで初めて検出可能となります。
クロスモジュール解析 (CMA) は、この種の解析を行うものであり、リンクの範囲で実行することを想定しております。
またQAC/QAC++のメトリックスには『 CMAで計測されるメトリックス』があります。
CMA は次の特徴をもちます。
・翻訳単位の集合に対して解析が実行される
・『1次解析』の結果を利用する
・検出された問題点の指摘結果を1500、1700番台の警告メッセージで出力する
(『クロスモジュール解析(CMA)のメッセージ』参照)
・翻訳単位の集合内の要素を用いたメトリックスの測定結果を出力する
※CMAは1次解析の結果を利用するため、データフロー解析を除く1次解析がエラーなく完了していない場合は、CMAを正しく行うことはできません。