平成22年度 秋期 基本情報技術者試験 午前 問23
テクノロジ/開発技術プログラムの静的解析ツールで検出できるものはどれか。
出典:平成22年度 秋期 基本情報技術者試験 午前 問23
- ア関数ごとの実行処理時間
- イ後に使用されない変数への代入
- ウプログラム仕様に対応する処理の記述漏れ
- エ用意したテストケースでは実行されなかった命令
正解:イ
解説
静的解析ツールは,プログラムを実際に実行せずにソースコードを解析することによって問題点を検出するツールです。未使用の変数や,後で使われることのない変数への代入など,コードの構造から判断できる問題を検出できます。実行時間の計測や,仕様との対応確認,テストケースの実行網羅性の確認などは,実際にプログラムを動かす動的解析やレビューによって行う必要があります。
選択肢ごとの解説
- ア誤り。関数ごとの実行処理時間は,プログラムを実際に実行して計測する動的解析(プロファイリング)で得られます。
- イ正しい。後に使用されない変数への代入は,ソースコードを解析するだけで検出できるため,静的解析ツールで検出可能です。
- ウ誤り。仕様に対応する処理の記述漏れは,仕様書とソースコードを人が突き合わせるレビューなどによって検出するもので,静的解析だけでは検出が困難です。
- エ誤り。テストケースで実行されなかった命令(カバレッジ)は,プログラムを実際に実行するテスト(動的解析)によって把握するものです。