2011年12月17日

Googleのバグ予測アルゴリズムのスコアをgitのファイル毎に得る

先日、以下のような記事をみつけました。

グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している
http://www.publickey1.jp/blog/11/post_193.html

これの値をgitのファイル毎に取得するスクリプトを書きました。
以下においてあります。
https://github.com/kopanitsa/Google-Bug-Prediction-Score

gitのコミットログを取得して、そのタイムスタンプを抜き出し、スコアを計算する
簡単なスクリプトです。

以下の方法で使用できます。実行するとファイルごとのスコアを示す
csvファイルが生成されます。

$ cp <this script> <root of your project>
$ cd <root of your project>
$ python bugfix_score.py --target=<target path>


--package=Trueとすると、ファイルごとではなく、パッケージに対する数字を計算します。
--extension=javaとすると、.javaファイルのみを対象とします(--package=Trueとしたときは、ここはうまく働きません、いまのとこ)

自分のプロジェクトにも適用してみたのですが、だいたい直感と同じ結果が得られました。
すなわち、
 枯れているな、と思っているコンポーネントの値は小さく、
 炎上しているな、と思っているコンポーネントの値は大きく、
計算されました。

直感と同じ値なので、計らなくていいじゃんwという気もしないでもないですが、
問題点を数値で示されると、「やっぱりまずいんだな、直さないとな」という気になりますね。

posted by コパン at 12:17| Comment(0) | agile | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。