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