コンテンツ
質問
PRQA Framework(QAC 8.2.2 / QAC++ 3.2.2 以降)の解析設定にある"データフロー解析の設定"で
「データフロー設定を無効にする」と「なし」の選択肢があります。
この2つの違いは何ですか?
回答
"データフロー解析の設定"に表示される項目についてはそれぞれ以下の通りです。
・なし
データフロー解析に関する設定がない状態です。
プロジェクトを新規に作成した直後等、データフロー解析に関する設定が、何もない状態の時に表示されます。
"-enabledataflow+"や"-prodoption"の"inter=1"などを設定すると「なし」から「カスタム設定」に変更されます。
・カスタム設定
データフロー解析の設定を新しく追加した場合や、PRQA Framework に用意されているプリセットの値を変更した場合に表示されます。
・データフロー設定を無効にする
「データフロー解析を実行しない」ことを設定します。
・深さ1~深さ5
PRQA Frameworkに用意されているプリセットの値が設定されます。
QAC/QAC++はデフォルトではデータフロー解析を実行しない設定となっているためデータフロー解析の設定「なし」の場合、データフロー解析を実行しません。
ただし、解析ツールチェーンに MISRA C/C++ や CERT C/C++ などのコンプライアンスモジュールのコンポーネントが設定されている場合、各コンプライアンスモジュールのデフォルトではデータフロー解析を実行する設定になっています。
つまり、QAC / QAC++ コンポーネントだけで解析する場合と、MISRA C/C++ や CERT C/C++ コンプライアンスモジュールを使用する場合でデータフロー解析の設定「なし」の意味が異なります。
そのため、データフロー解析の設定は「なし」のままにせず、無効にする、プリセットを選択するなどして明示的に設定することをお勧めします。
データフロー解析については以下のページもご参照ください
参照ページ