差分
ナビゲーションに移動
検索に移動
静的解析ツール
,'''静的コード解析'''とは、解析ソフトに[[ソースコード]]を食わせると、[[バグ]]の原因になりそうな箇所を指摘してくれるという物である。
==概要==
静的解析を用いるとわざわざ[[デバッガー]]を雇い人力で[[プログラム]]を実行して[[デバッグ]]をせずとも人為的な[[コーディング]]時の[[バグ]]により[[エラー]]になるであろう箇所を見つけ出してくれる。たとえば「ある[[関数]]の[[引数]]は0から100の値をとる[[仕様]]」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを[[芋づる式]]に調べてくれ、例外パターンがあると[[バグ]]として報告してくれる。
[[契約による設計]]に対応している[[プログラミング言語]]の多くは、[[コンパイラ]]の機能のひとつとして実装していることが多い。
たとえば[[Visual Studio]]のお高いエディションがこれに対応しているが、[[ビルド]]が激遅になるうえに、[[C Sharp|C#]]でちょろっと書いた[[hello world]]すら[[エラー]]でまくりで焦ること請け合いである。
なんとも夢のような技術であるが、[[契約による設計]]に対応している[[プログラミング言語]]で[[ソースコード]]がきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的な[[プログラミング言語]]では期待はずれな残念な結果しか得られないことが多い。
==関連項目==
*[[契約による設計]]
==参考文献==
{{reflist}}
{{stub}}
==概要==
静的解析を用いるとわざわざ[[デバッガー]]を雇い人力で[[プログラム]]を実行して[[デバッグ]]をせずとも人為的な[[コーディング]]時の[[バグ]]により[[エラー]]になるであろう箇所を見つけ出してくれる。たとえば「ある[[関数]]の[[引数]]は0から100の値をとる[[仕様]]」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを[[芋づる式]]に調べてくれ、例外パターンがあると[[バグ]]として報告してくれる。
[[契約による設計]]に対応している[[プログラミング言語]]の多くは、[[コンパイラ]]の機能のひとつとして実装していることが多い。
たとえば[[Visual Studio]]のお高いエディションがこれに対応しているが、[[ビルド]]が激遅になるうえに、[[C Sharp|C#]]でちょろっと書いた[[hello world]]すら[[エラー]]でまくりで焦ること請け合いである。
なんとも夢のような技術であるが、[[契約による設計]]に対応している[[プログラミング言語]]で[[ソースコード]]がきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的な[[プログラミング言語]]では期待はずれな残念な結果しか得られないことが多い。
==関連項目==
*[[契約による設計]]
==参考文献==
{{reflist}}
{{stub}}