コードオーディタ【code auditor】

ソースコードをテキストとして読み込み、あらかじめ定義されたルールに基づいて構造や処理の流れを解析する。プログラムを動かさずに調べる手法を「静的解析」と呼び、実際に動作させながら調べる動的解析とは区別される。
検出する問題としては、変数の初期化漏れ、未使用の変数、到達不能なコード、メモリリークを招きやすい記述、例外処理の不備、セキュリティ上の脆弱性につながるパターンなどがある。命名規則やコーディング規約への適合状況を確認できる製品も多い。検出された問題は重要度に応じて分類され、発生箇所や修正の参考情報とともに警告やレポートとして出力される。
テストとの大きな違いは、プログラムを動作させない点にある。テストでは特定の入力を与えて実行結果を確認するのに対し、コードオーディタはソースコードそのものを対象とするため、実行条件によっては表面化しない問題や、将来的に障害の原因となりうる記述も早い段階で発見できる。
提供形態は大きく二つある。一つは統合開発環境(IDE)への組み込みで、Visual Studio CodeやIntelliJのように、コードの入力と並行してリアルタイムで問題箇所を表示する。もう一つは独立したツールとして動作するもので、CI/CDパイプラインと連携し、コードの変更が加えられるたびに自動解析を実行する運用が一般的である。SonarQube、ESLint、Checkstyleなどが代表的な製品として知られる。
ソフトウェアの大規模化・複雑化に伴い、人手によるコードレビューだけでは全ての記述ミスや潜在的な欠陥を網羅することが難しくなった。特に安全性や信頼性が重視される業務システムや組み込みシステムでは、開発工程の一部としてコードオーディタによる解析が組み込まれていることが多い。