Static Analysis
静的解析はプログラムを実行せずにソースコードやバイトコードを調べ、潜在的なバグ、セキュリティ脆弱性、スタイル問題を発見する。
目的
コンパイル時やコミット時に欠陥を早期発見し、実行時の障害と修正コストを減らす。
メカニズム
字句・構文解析で AST を構築し、データフロー・制御フロー解析で変数とパスを追跡する。型チェック、null ポインタ検出、未使用変数、循環的複雑度などがある。ツールは ESLint、SonarQube、Clang Static Analyzer である。
ユースケース
- コード品質の保証
- セキュリティ脆弱性のスキャン
- CI のゲート