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

imported>Mono Book
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
2行目: 2行目:


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


なんとも夢のような技術であるが、[[契約による設計]]に対応している[[プログラミング言語]]で[[ソースコード]]がきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的な[[プログラミング言語]]では期待はずれな残念な結果しか得られないことが多い。
たとえば「ある[[関数]]の[[引数]]は0から100の値をとる[[仕様]]」だとすると、それを呼び出す側でそれ以外になる例外パターンは無いか、などを[[芋づる式]]に調べてくれ、例外パターンがあると[[バグ]]として報告してくれる。
 
なんとも夢のような技術であるが「[[契約による設計]]」に対応している[[プログラミング言語]]で[[ソースコード]]がきちんと記述されていれば凄い高い精度を叩き出すが、その他大勢の一般的な[[プログラミング言語]]では期待はずれな残念な結果しか得られないことが多い。
 
2024年頃から[[人工知能]]を使うことでクソみたいなソースコードでも解析できるものが登場してきた。


==主な製品==
==主な製品==
36行目: 40行目:
*[[コンパイラ]]
*[[コンパイラ]]


==参考文献==
[[category: プログラミング]]
{{reflist}}
 
{{stub}}