開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2019/03/07

コードの“修正案”まで提示! Firefoxのバグ発見と修正にAIを活用

Mozillaは、Firefoxの開発にAIを用いたバグ発見支援ツールを導入することでバグの発生を減らし、開発者の生産性を向上させる試みを始めると発表しました(Ubisoftの発表)。

新野淳一(本記事は「Publickey」より転載)

新野淳一(本記事は「Publickey」より転載)

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

photo
過去のバグを学習することで、バグがありそうなコードを判別するだけでなく修正案も提示可能だという
 導入されるのはカナダのゲームメーカーであるUbisoftが開発した「Clever-Commit」。もともとUbisoftが自社の大規模なゲーム開発においてバグを減らすために開発した、機械学習をベースにしたツールです。Ubisoftは昨年、このツールのプロトタイプを「Commit Assistant」として発表していました。

メトリクスとコードの類似性の2段階で判別

 Clever-Commitを開発したUbisoftの説明によると、Clever-Commitは「CLEVER」(Combining Levels of Bug Prevention and Resolution techniques)と呼ばれる2段階のアルゴリズムを用いてコードに対して行われる変更をチェックし、そこにバグが含まれているかどうか、そして含まれている場合には修正案も提示可能な能力を備えています。

 CLEVERの1段階目では、これまでのバグ発見テクニックでもよく用いられてきたメトリクスをベースにしたモデルを用いて、コードの追加や修正に対してバグが含まれている可能性を判別します。

 2段階目では、1段階目でバグが含まれていそうだと判別されたコードに対して、過去にバグを含んでいたコードから学習した内容を基に、過去のバグを含んだコードとの類似性を確認。バグが含まれていそうかどうかの判別をより正確に行います。

 この2段階のアルゴリズムによって、バグを含んでいないにもかかわらずバグの可能性があると判断してしまう偽陽性の判断を減らす効果があり、開発者による無駄なバグ調査を減らすことができるとのこと。

 さらに過去にバグを含んでいたコードがどう修正されたかは分かっているため、類似性のある新たなコードに対しても推奨する修正案が提示でき、開発者がバグを分析、発見し修正する作業効率を高められるとのことです。

 Ubisoftの12のシステムでこのCLEVERによる検出を用いたところ、79%の正確さでバグを含むリスクのあるコミットを検出し、66.7%のケースに対して修正方法を推奨できたと報告されています。

MozillaはClever-Commitの開発にも協力

この続きは会員限定です

ここから先は「ビジネス+IT」の会員の方(登録は無料)のみ、ご利用いただけます。

今すぐビジネス+IT会員にご登録ください。

すべて無料!ビジネスやITに役立つメリット満載!

  • 1

    インタビューから事例記事まで、ここでしか読めない1万本超の記事が無料で閲覧可能

  • 2

    導入事例資料や技術資料、デモ動画などを無料でダウンロード・閲覧可能

  • 3

    年間1,000本以上、会員限定のスペシャルセミナーにご招待

  • 4

    ビジネス+IT編集部が必読記事を、メールマガジンでお知らせ!

クラウド ジャンルのセミナー

クラウド ジャンルのトピックス

クラウド ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!