MISRA C/C++ や CERT C/C++ などコンプライアンスモジュールによる2次解析を行うための設定方法です。
■ QAC 9.
...
8.0 / QAC++ 4.
...
6.0 (Helix QAC 2020.1) 以降
- GUI からお使いのプロジェクトを開き、プロジェクトプロパティの設定画面を開きます
- 解析タブを開き、言語ツールチェーンで C または C++ を選択します
- 「利用可能なコンポーネント」でコンプライアンスモジュールを選択し右矢印で「解析ツールチェーン」に追加します
- 『コンポーネントの依存関係』を満たしていなければ、次のようなメッセージが表示されます
自動的に依存関係を調整するには「はい」を選択します - コンポーネントによって検出される警告メッセージがルール設定ファイル(RCF)で有効になっていない場合、次のようなメッセージが表示されます
「はい」を選択すると、追加したコンポーネントの『RCF のマージ』を行うことができます - 保存ボタンを押します
■ QAC 8.2.2 / QAC++ 3.2.2 (PRQA Framework 1.0.5) ~ QAC 9.7.0 / QAC++ 4.
...
5.0 (
...
Helix QAC 2019.2)
- GUI からお使いのプロジェクトを開き、プロジェクトプロパティの設定画面を開きます
- 解析タブを開き、『クロスモジュール解析(CMA)の設定』を確認します
(QAC 8.2.2 / QAC++ 3.2.2 (PRQA Framework 1.0.5) ではこの手順は必要ありません)
CMA が設定されていない場合は先に CMA を設定する必要があります
『コンポーネントの依存関係』をご覧ください
CMA が設定されてない状態では以下の手順でコンプライアンスモジュールがグレーアウトされ選択できません
※QAC 9.6.0 / QAC++ 4.4.0 以降で CERT C/C++ コンプライアンスモジュールを使用する際は『マルチスレッド解析(MTA)の設定』も必要です - 言語ツールチェーンで C または C++ を選択します
- 「利用可能なコンポーネント」でコンプライアンスモジュールを選択し右矢印で「解析ツールチェーン」に追加します
保存ボタンを押します
注意:
次のようなメッセージが表示される場合があります
これは、コンプライアンスモジュールを二次解析に追加したものの、そのコンポーネントによって検出される警告メッセージがルール設定ファイル(RCF)で有効になっていないことを意味します。
追加したコンポーネントの『RCF のマージ』を行うなど、RCFを調整する必要があります。 - コンポーネントによって検出される警告メッセージがルール設定ファイル(RCF)で有効になっていない場合、次のようなメッセージが表示されます
追加したコンポーネントの『RCF のマージ』を行うなど、RCFを調整する必要があります - 保存ボタンを押します
■ QAC 8.1.2 / QAC++ 3.1 以前
- GUI からお使いのプロジェクトを開き、[編集] > [フォルダのパラメータ] を開きます
※[フォルダのパラメータ]はプロジェクトのフォルダごとに設定できることに注意ください - メッセージパーソナリティはコンプライアンスモジュールに付属のデフォルトのファイルをベースに使用します
デフォルトのファイルを使用すると、ユーザメッセージファイルと2次解析のコマンドが設定されています - アナライザパーソナリティはコンプライアンスモジュールに付属のデフォルトの設定のうち「警告対象関数」を使用します
これまでお使いのアナライザパーソナリティがある場合は、コンプライアンスモジュールのデフォルト設定ファイルを開き -wc で始まる行を全てこれまでお使いのアナライザパーソナリティにコピーしても構いません - コンパイラパーソナリティはお使いのコンパイラに合わせたファイルを使用します
※コンプライアンスモジュールに付属のデフォルトのファイルは使用しません
コンプライアンスモジュールに付属のデフォルト設定ファイルは
<QAC/QAC++インストール先>\<コンプライアンスモジュール略称>\personalities
にあります。