コンテンツ
『翻訳単位間データフロー解析(ITU)』を実施する場合の設定方法です。
※QAC 10.4.0 / QAC++ 5.4.0 (Helix QAC 2022.3) 以前では精度を高めるために解析を2回繰り返す設定も行います
<前提>
・データフロー解析(DFA)を実施する設定になっていること
・関数間解析を実施する設定になっていること
(いずれも『データフロー解析(DFA)の設定』を参照)
■ QAC 10.2.0/QAC++ 5.2.0(Helix QAC 2022.1)以降
●手順(GUI)
メニューの[ プロジェクト ]→[ プロジェクトプロパティ ]の [ 解析 ]タブで
[ 翻訳単位間解析 ]にチェックを入れます
●手順(コマンド)
解析コマンド"qacli analyze"に"--inter-tu-dataflow"オプションを付けて解析します
qacli analyze -P <プロジェクト> -f --inter-tu-dataflow
※GUI、コマンドとも、この手順でITUを実施するための設定(-prodoption df::cma+)も暗黙的に設定されます
※QAC 10.4.0/QAC++ 5.4.0(Helix QAC 2022.3)以前は、この手順の設定は解析を2回繰り返すための設定です
※QAC 11.0.0/QAC++ 6.0.0(Helix QAC 2022.4)以降では、データフロー解析コンポーネントがQAC/QAC++
コンポーネントから独立したため、解析は2回繰り返す必要はなく1回だけ実施されます
■ QAC 9.7.0/QAC++ 4.5.0(Helix QAC 2019.2) ~ QAC 10.1.0/QAC++ 5.1.0(Helix QAC 2021.3)
・ITUを実施するための設定(-prodoption df::cma+)を明示的に指定しておく必要があります
(『データフロー解析(DFA)の設定』を参照)
・以下の手順の設定は解析を2回繰り返すための設定です
●手順(GUI)
メニューの[ プロジェクト ]→[ プロジェクトプロパティ ]の [ 解析 ]タブで
[ 翻訳単位間解析 ]にチェックを入れます
QAC 9.8.0/QAC++ 4.6.0(Helix QAC 2020.1)以前は [ 解析 ] → [ 解析設定 ]内の[ 翻訳単位間解析を有効にする ]に
チェックを入れます。
●手順(コマンド)
解析コマンド"qacli analyze"に"--inter-tu-dataflow"オプションを付けて解析します。
qacli analyze -P <プロジェクト> -f --inter-tu-dataflow
■ QAC 9.3.1/QAC++ 4.1.0(PRQA Framework 2.2.1) ~ QAC 9.6.0/QAC++ 4.4.0(Helix QAC 2019.1)
・このバージョンではGUIからITUを実施することはできません
・ITU を実施するための設定 (-prodoption df::cma+) を明示的に指定しておく必要があります
(『データフロー解析(DFA)の設定』を参照)
・以下の手順の設定は解析を2回繰り返すための設定です
●手順(コマンド)
解析コマンド"qacli analyze"に"--inter-tu-dataflow"オプションを付けて解析します。
qacli analyze -P <プロジェクト> -f --inter-tu-dataflow
■ QAC 9.1.0/QAC++ 4.1.0(PRQA Framework 2.1.0) ~ QAC 9.3.0/QAC++ 4.1.0(PRQA Framework 2.1.4)
・このバージョンではGUIからITUを実施することはできません
・ITUを実施するための設定(-prodoption df::cma+)を明示的に指定しておく必要があります
(『データフロー解析(DFA)の設定』を参照)
●手順(コマンド)
解析コマンド"qacli analyze"に"--repeat"オプションを付けて解析します。
qacli analyze -P <プロジェクト> -f --repeat <n>
・<n>の部分に解析回数を指定します。例えば"--repeat 2"は2回解析する設定です。
・<n>の値を大きくするほど解析の精度は高まりますが、その分、解析時間も長くなります。
・ "--repeat"を指定しない("--repeat 1")場合と"--repeat 2"の場合の差が最も大きくなります。
■ QAC 8.2.2/QAC++ 3.2.2(PRQA Framework 1.0.5)以前
・このバージョンではITUを実施することはできません