読者です 読者をやめる 読者になる 読者になる

グーグルのバグ予測アルゴリズムを実装したツール「bugspots」は思ったより簡単な作りだった

予備知識:
グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開 - Publickey
バグ修正のための変更の40%が新たなバグを混入するという研究結果 - Googleのバグ予測方法との共通点:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ

bugspots:
igrigorik/bugspots · GitHub

記事をしっかり読めば分かりますが、高い頻度でバグ修正していると、バグが出るという比較的簡素なアルゴリズムになっています。

”グーグルが開発した予測アルゴリズム”とつくと俄然期待してしまいますが、単純なものなんですね。そして、このアルゴリズムを実装したのがbugspots。コード数も少なくシンプルな作りになっております。

t = 1 - ((Time.now - fix.date).to_f / (Time.now - fixes.last.date))
hotspots[file] += 1/(1+Math.exp((-12*t)+12))

bugspots/lib/bugspots/scanner.rb at master · igrigorik/bugspots · GitHub

がキモのようです。