静的解析とは?せいてきかいせき
静的解析とは、プログラムを実行せずにソースコードや中間表現を読み解き、コーディング規約違反・未初期化変数・到達不能コード・型の不整合・既知の脆弱性パターンなどを検出する手法。実行していない経路まで対象にできる一方、実際には起こらない事象を挙げる誤検出も生じる。コンパイラの警告からセキュリティ検査まで幅がある。
最終更新:2026-10-06
この語が出る過去問を解く →背景
テストは実行した経路しか確かめられず、めったに通らない分岐に潜む欠陥は残り続ける。コードそのものを解析対象にすれば、通っていない経路も含めて機械的に検査でき、作り込んだ直後に指摘できる。手戻りの費用は工程が進むほど跳ね上がるため、検出時期を前へ寄せる手段として実装標準に組み込む判断が要る。
具体例
SonarQubeやCoverity、GitHubのCodeQLをCIへ組み込み、プルリクエストの差分に対してだけ指摘を出す運用にすると、既存の警告に埋もれずに新規混入だけを止められる。
試験での引っ掛け
動的解析との守備範囲の違いが問われる。実行時にしか現れない性能問題、タイミング依存の不具合、実データに依存する欠陥は静的解析では捕まらない。逆に動的解析は通った経路しか見ないため、両者は置き換えではなく補完の関係にある。
関連用語
出た過去問
出典:令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問6(IPA)
プログラム中にエラーが存在するかどうかなどを,ソースプログラムを分析することによって調べるテストツールはどれか。
正解:静的解析ツール
要点:実行せずソースを分析して誤りを見つけるのが静的解析
静的解析ツールは、プログラムを実行せずにソースコードを解析して、未初期化変数の使用や到達しないコード、規約違反といった誤りや危険な記述を検出する。実行を伴わないため、テストデータを用意する前の早い段階から欠陥を見つけられる点が利点である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。