静的解析
Static Analysis
せいてきかいせき
プログラムを実行せずにソースコードを解析し、潜在的なバグ、セキュリティ脆弱性、コーディング規約違反などを検出する手法。バッファオーバーフロー、未初期化変数、メモリリークなどの問題を早期に発見できる。
Related
他の資格での定義
プログラムを実行せずに、ソースコードを解析して誤りや規約違反、脆弱性を検出する手法。開発の早い段階で問題を発見でき、コーディング標準の遵守確認にも使われる。
プログラムを実行せずにソースコードを解析し、潜在的なバグ、セキュリティ脆弱性、コーディング規約違反などを検出する手法。バッファオーバーフロー、未初期化変数、メモリリークなどの問題を早期に発見できる。
マルウェア検体を実行せずに、逆アセンブルや文字列抽出によってコードの構造や機能を調べる解析手法。実行による二次被害がない一方、パッカーや難読化が施されていると解析に手間が掛かる。
プログラムを実行せずに、ソースコードや実行ファイルの内容を調べて分析する手法。マルウェアの解析では、逆アセンブルなどで検体のコードや埋め込まれた文字列を調べ、機能や通信先を推定する。ソフトウェアの開発では、ツールでソースコードを検査して不具合や脆弱性を見つけるのに使う。
Past Exams
過去問での出題
過去問で 4 回出題(システムアーキテクト試験 2・応用情報技術者試験 1・システム監査技術者試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
ソフトウェアの変更(バグ修正、機能追加等)により、既存の機能に悪影響が出ていないかを確認するためのテスト。変更箇所だけでなく、関連する既存機能のテストを再実行する。自動化が重要であり、CI/CDパイプラインに組み込まれる。
テストの経過に伴うバグの発見数と解決数の推移をグラフに表したもの。曲線が寝てきたことがテスト終了判断の目安になる。想定と大きくずれる場合は品質やテストの問題を疑う。
テストの進行に伴うバグの累積検出数の推移をグラフ化したもの。バグ曲線とも呼ぶ。S字カーブを描くのが理想的で、バグ検出が収束に向かう(曲線が寝る)段階でテスト完了の判断材料とする。ゴンペルツ曲線やロジスティック曲線で近似する。
テストコードを先に書き、そのテストを通過するコードを実装する開発手法。Red(テスト失敗)→Green(テスト成功)→Refactor(リファクタリング)のサイクルを繰り返す。コードの品質向上とリグレッション防止に効果的。
プログラムの内部構造(ソースコード)に基づいてテストケースを設計するテスト手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準を用いる。組込みソフトウェアの単体テストで広く使用される。
プログラムの仕様に基づき、内部構造を考慮せずにテストケースを設計するテスト手法。同値分割、境界値分析、デシジョンテーブルなどの技法がある。システムテストや受入テストで使用される。
