BugspotsはGoogleのバグ予測アルゴリズムをRubyで実装したテスト補助ツールです。

禅問答のようですが、コードを書かなければバグは作られません。逆に言えばよく更新されているファイルこそバグを含みやすいということです。どこにバグが潜んでいる可能性があるか、それを発見するツールとして使えるのがBugspotsです。

インストールします。RubyGemsからインストールできます。

実行結果のサンプルです。HotSpotsで並んだものの数値が高いものがバグを含みやすいファイルになります。


こんな感じでカラー表示で結果が出力されます。

BugspotsはGitのリポジトリを解析し、頻繁に更新されているファイルと独自のアルゴリズムによってバグの発生可能性を数値化します。絶対という訳ではないですが、チェックしてみるだけでも思わぬバグの発見につながるかも知れません。なお、BugspotsはGoogleのエンジニアが提示したアルゴリズムを実装した形であって、Google製という訳ではありません。

BugspotsはRuby製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

コンピュータはデジタルであって、その中で書かれるコードもまたデジタルなものになります。しかし成果物はアナログなもので、バグのあるなし、パフォーマンスの善し悪しについて一概に割り切れるものではありません。そこがコーディングの面白いところです。

頻繁に更新されているファイルこそバグが潜みやすいという考えはまさに正しいものになるでしょう。とは言え、ものすごく古いファイルが爆弾を抱えていて突然バグを発動するというケースも多いので、過信せず他のツールと組み合わせて検証されるべきツールと言えます。

via グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開 - Publickey

Bug Prediction at Google | Google Engineering Tools

igrigorik/bugspots - GitHub