静的解析とは?せいてきかいせき
静的解析とは、プログラムを実行せずにソースコードを解析し、未初期化変数、配列の境界超過、到達不能コード、規約違反などを検出する手法。テストでは再現しにくい潜在不具合を早期に見つけられる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
バグはテストで実行してみないと見つからないとすると、テストで通った経路にしか目が届かず、めったに通らない処理に潜む誤りが残る。ソースコードを読み解くだけで、変数の初期化忘れや配列の範囲超過といった典型的な誤りを機械的に拾えれば、テストに入る前の早い段階で直せる。
具体例
コーディング規約の適合性検査や、複雑度の測定に用いる。
試験での引っ掛け
実行して振る舞いを調べる動的解析(どの処理に時間がかかるかを測るプロファイリング、実行中に成り立つべき条件を検査するアサーション、でたらめなデータを大量に入力して異常を探すファジングなど)と対比される。静的解析は誤検出(偽陽性)が出る点も特徴。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成31年度 春期 基本情報技術者試験 午前 問48(IPA)
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問35(IPA)解説で登場
マルウェアの動的解析に該当するものはどれか。
正解:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。
要点:動的解析は隔離環境で実行して挙動を観測する
動的解析は、検体を実際に実行させて挙動を観測する手法である。安全のために外部と隔離されたサンドボックス環境で動かし、ファイルやレジストリの操作、外部との通信先などを記録する。実行せずにコードや特徴を調べる手法は静的解析と呼ばれ、ハッシュ値の照合や逆コンパイルによる解析が該当する。
出典:令和6年度 公開問題 基本情報技術者試験 科目A 問9(IPA)解説で登場
ペネトレーションテストに該当するものはどれか。
正解:公開Webサーバや組織のネットワークの脆弱性を探索し、サーバに実際に侵入できるかどうかを確認する。
要点:ペネトレーションテストは実際に侵入できるかを試す
ペネトレーションテストは、実際に攻撃者と同じ手口で対象システムへの侵入を試み、防御を突破できるかを確認する検査である。脆弱性の有無を調べるだけでなく、実際に侵入可能かという観点まで踏み込む点が特徴になる。ソースコード検査や改ざん検知、通信の振る舞い監視とは目的が異なる。
出典・参考
公式シラバスの4 開発技術 > 3. 実装・構築 > (7) デバッグに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。