「静的解析ツール」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Mono Book
imported>Mono Book
2行目: 2行目:
  
 
==概要==
 
==概要==
静的解析を用いるとわざわざ[[デバッガー]]を雇い人力で[[プログラム]]を実行して[[デバッグ]]をせずとも人為的な[[コーディング]]時の[[バグ]]により[[エラー]]になるであろう箇所を見つけ出してくれる。たとえば「ある[[関数]]の[[引数]]は0から100の値をとる[[仕様]]」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを[[芋づる式]]に調べてくれ、例外パターンがあると[[バグ]]として報告してくれる。
+
静的解析を用いると、わざわざ[[デバッガー]]を雇い、人力で[[プログラム]]を実行して[[デバッグ]]をせずとも、人為的な[[コーディング]]時の[[バグ]]により[[エラー]]になるであろう箇所を見つけ出してくれる。たとえば「ある[[関数]]の[[引数]]は0から100の値をとる[[仕様]]」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを[[芋づる式]]に調べてくれ、例外パターンがあると[[バグ]]として報告してくれる。
  
 
[[契約による設計]]に対応している[[プログラミング言語]]の多くは、[[コンパイラ]]の機能のひとつとして実装していることが多い。
 
[[契約による設計]]に対応している[[プログラミング言語]]の多くは、[[コンパイラ]]の機能のひとつとして実装していることが多い。

2014年8月7日 (木) 08:07時点における版

静的解析ツールとは、解析ソフトにソースコードを食わせると、バグの原因になりそうな箇所を指摘してくれるという物である。

概要

静的解析を用いると、わざわざデバッガーを雇い、人力でプログラムを実行してデバッグをせずとも、人為的なコーディング時のバグによりエラーになるであろう箇所を見つけ出してくれる。たとえば「ある関数引数は0から100の値をとる仕様」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを芋づる式に調べてくれ、例外パターンがあるとバグとして報告してくれる。

契約による設計に対応しているプログラミング言語の多くは、コンパイラの機能のひとつとして実装していることが多い。 たとえばVisual Studioのお高いエディションがこれに対応しているが、ビルドが激遅になるうえに、C#でちょろっと書いたhello worldすらエラーでまくりで焦ること請け合いである。

なんとも夢のような技術であるが、契約による設計に対応しているプログラミング言語ソースコードがきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的なプログラミング言語では期待はずれな残念な結果しか得られないことが多い。

関連項目

参考文献