正答2
解説
正解は2です。
静的解析とは、プログラムを実行せずにソースコードを解析して問題を見つける手法です。
実行しないと分からない情報は、静的解析では得られません。
【選択肢別解説】
1:× 関数ごとの実行時間は、プログラムを実際に動かして測るものです。
プロファイラなどによる動的解析で調べます。
2:○ 代入した値がその後どこでも使われないことは、ソースコードのデータの流れを調べれば分かります。
実行しなくても検出できるので、静的解析で検出できます。
3:× 仕様に対応する処理の記述漏れは、ツールが仕様の内容を知らないため検出できません。
レビューやテストで仕様と照らし合わせて見つけます。
4:× テストケースで実行されなかった命令は、テストを実行して網羅率(カバレージ)を測定して初めて分かります。
動的解析の領域です。
【ポイント】
静的解析で検出できる例には、未使用の変数、初期化前の参照、到達しないコード、コーディング規約違反などがあります。
「実行してみないと分からないもの」は動的解析と覚えます。