52
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google のバグ予想アルゴリズムで Github のレポジトリを解析する拡張機能を作った

Last updated at Posted at 2015-10-16

Google が発表したバグ予想アルゴリズム(参考) の存在を グーグルのバグ予測アルゴリズムを実装したツール「bugspots」について という記事を読んで知りました。

ざっくりと、バグ修正のためのコミットで最近何度も修正されたファイルにはバグがある可能性は高い、っていう感じのスコアを出してくれます。bugspots という名前で実装されていたりします。

Google ではコードの品質保持の一つの方法としてこういった指標も利用しいているとのこと。

若干話しがズレますと、コード品質の向上にはコードレビューや、ユニットテスト、それを自動化させたCI環境などに加え、実際にコードを動作させずに、コードをテキストとして解析する静的解析など、方法としてはいろいろあるらしく、今回のような Git のログに関してはコードチャーン (Code Churn) なんて呼ばれていて、意外と静的解析などに比べてバグの発見に効果的だったりするみたいです。

そんなわけで、今回のバグ予想アルゴリズム、この機能おもしろい!Github にほしい!と思っていたところ、GitBucket (Githubではないですが)のプラグインに実装された方がいらっしゃる( Googleのバグ予測アルゴリズムをGitBucket Pluginに実装してみた) のをみて、自分も Chrome の拡張機能として作ってみようと思い、いろいろ間違いながらも、先日 Chrome の Web ストアに公開できました。

bugspots-demo.gif

ソースコードも公開 (スターがついたりすると結構うれしかったり...) しているので、何かありましたら Issue で報告していただければ、可能な範囲で対応していこうと思います。
うりゃーって感じで勢いで作ってしまったので、リファクタリングの必要性やそもそもテストなかったり、コミット全部見ているフリして実は一番新しい100件しか読んでなかったり Σ、バグ予想する前にそもそもバグが出てきそうなコードなわけですが、需要がありそうでしたら今後修正することがあるかもしれません。

最後になりますが、こんな感じで世の中の開発が面白く快適なものになるといいなーと思っています。最後まで読んでいただきありがとうございました。

###参考

52
50
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?