Google が発表したバグ予想アルゴリズム(参考) の存在を グーグルのバグ予測アルゴリズムを実装したツール「bugspots」について という記事を読んで知りました。
ざっくりと、バグ修正のためのコミットで最近何度も修正されたファイルにはバグがある可能性は高い、っていう感じのスコアを出してくれます。bugspots という名前で実装されていたりします。
Google ではコードの品質保持の一つの方法としてこういった指標も利用しいているとのこと。
若干話しがズレますと、コード品質の向上にはコードレビューや、ユニットテスト、それを自動化させたCI環境などに加え、実際にコードを動作させずに、コードをテキストとして解析する静的解析など、方法としてはいろいろあるらしく、今回のような Git のログに関してはコードチャーン (Code Churn) なんて呼ばれていて、意外と静的解析などに比べてバグの発見に効果的だったりするみたいです。
そんなわけで、今回のバグ予想アルゴリズム、この機能おもしろい!Github にほしい!と思っていたところ、GitBucket (Githubではないですが)のプラグインに実装された方がいらっしゃる( Googleのバグ予測アルゴリズムをGitBucket Pluginに実装してみた) のをみて、自分も Chrome の拡張機能として作ってみようと思い、いろいろ間違いながらも、先日 Chrome の Web ストアに公開できました。
ソースコードも公開 (スターがついたりすると結構うれしかったり...) しているので、何かありましたら Issue で報告していただければ、可能な範囲で対応していこうと思います。
うりゃーって感じで勢いで作ってしまったので、リファクタリングの必要性やそもそもテストなかったり、コミット全部見ているフリして実は一番新しい100件しか読んでなかったり Σ、バグ予想する前にそもそもバグが出てきそうなコードなわけですが、需要がありそうでしたら今後修正することがあるかもしれません。
最後になりますが、こんな感じで世の中の開発が面白く快適なものになるといいなーと思っています。最後まで読んでいただきありがとうございました。
###参考