グーグルのクラウドを支えるテクノロジー > 第30回 バグ予測アルゴリズムとその実効性のケーススタディ(パート1)

CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第30回 バグ予測アルゴリズムとその実効性のケーススタディ(パート1) 」を公開しました。

###

はじめに
 今回は、2013年に公開された論文「Does Bug Prediction Support Human Developers? Findings from a Google Case Study」を紹介します。これは、いくつかの既存の「バグ予測アルゴリズム」をGoogle社内の開発プロセスに適用して、その有効性、あるいは、実用化に向けた課題を調査した際のレポートです。結論としては、この調査では、具体的なバグ低減への寄与は見られなかったということですが、それぞれのアルゴリズムの特性や実用化に向けた課題には興味深い点があります。今回から数回に分けて、これらの内容を紹介していきます。

FixCacheアルゴリズムとRahmanアルゴリズム
 冒頭の論文では、バグ予測のアルゴリズムについて、学術的な研究は盛んに行われているものの、現実のソフトウェア開発プロジェクトにおける有効性は十分に検証されていないという課題が指摘されています。そこで、学術的に評価の高いアルゴリズムである「FixCache」、そして、よりシンプルで直感的な「Rahmanアルゴリズム」の2種類を取り上げて、これらの有効性や実用化に向けた課題を検証することがレポートの目的としてあげられています。
 FixCacheは、バグの存在の「局所性(locality)」を想定して、ファイル単位で「バグを含む可能性が高いソースファイル」を分類するアルゴリズムです。具体的には、リポジトリ内のすべてのファイルを定期的にチェックして、後述する条件を満たす場合、「バグを含む可能性が高いファイル一覧」に登録されます。この一覧に含まれるファイル数には上限があり、新しいファイルが登録されると、先に登録されたファイルから順に一覧から削除されます。登録済みのファイルが再登録された場合は、このタイミングで新しく登録されたものとして扱われるので、何度も再登録されるファイルは一覧に残り続けることになります(図1)。

この続きは以下をご覧ください
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]