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