静的解析ツール
2014年8月7日 (木) 08:07時点におけるimported>Mono Bookによる版 (→概要)
概要
静的解析を用いると、わざわざデバッガーを雇い、人力でプログラムを実行してデバッグをせずとも、人為的なコーディング時のバグによりエラーになるであろう箇所を見つけ出してくれる。たとえば「ある関数の引数は0から100の値をとる仕様」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを芋づる式に調べてくれ、例外パターンがあるとバグとして報告してくれる。
契約による設計に対応しているプログラミング言語の多くは、コンパイラの機能のひとつとして実装していることが多い。 たとえばVisual Studioのお高いエディションがこれに対応しているが、ビルドが激遅になるうえに、C#でちょろっと書いたhello worldすらエラーでまくりで焦ること請け合いである。
なんとも夢のような技術であるが、契約による設計に対応しているプログラミング言語でソースコードがきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的なプログラミング言語では期待はずれな残念な結果しか得られないことが多い。