米フェイスブック(Facebook)ではいよいよ、AI(人工知能)がソフトウエアのバグ修正まで始めた。AIが自動でアプリケーションをテストしてバグを見つけ出し、修正パッチを開発。新しいテストケースを作って再テストしたうえで、人間のエンジニアにレビューを要求する。同社はこれらのシステム一式をOSS(オープンソースソフトウエア)として公開する計画だ。

 デバッグ自動化の詳細は、フェイスブックが2018年9月13日にシリコンバレーで開催した大規模システム開発の勉強会「@Scale Conference」で明らかにした。新たに発表したのは、Android用アプリケーションのバグを修正するパッチを自動生成する「SapFix」というシステムだ。

@Scale Conferenceで講演するフェイスブックのキー・マオ氏
出所:米フェイスブック
[画像のクリックで拡大表示]

 フェイスブックはこれとは別に、テストの自動化ツールも以前から自社開発している。2018年5月に発表した「Sapienz(サピエンス)」は、AndroidやiOS用のモバイルアプリのテストを自動化するツール。2015年6月には静的コード解析ツールの「Infer」をOSSとして公開している。

テストから修正までをAIで自動化

 今回、バグ修正を自動化できるSapFixを追加したことで、フェイスブックはAIによるデバッグの完全な自動化を実現した。SapienzとInferがバグを自動的に見つけ出し、SapFixがそのバグ修正を開発。SapFixが作った修正にバグが無いかをSapienzとInferがテストし、テストが通ったら人間のエンジニアにレビューを要求する。

 フェイスブックは2017年9月からSapienzによるモバイルアプリの自動テストを開始し、現在は「Facebook」や「Instagram」、「Workplace」、「Messenger」といった様々なサービス用のAndroidアプリに適用している。2018年8月からはAndroid用のFacebookアプリのバグ修正にSapFixを適用し始めた。

 同社は2018年9月13日に公開した技術ブログで「これほどの規模でAIを使ったテストとデバッグの自動化を実運用している事例は、我々が初めてだろう」とした。同社は今後、SapienzとSapFixの両方をOSSとして公開する意向も示す。

 では、Sapienzがバグをどのように見つけ出し、SapFixがそのバグをどう修正しているのか。もう少し詳しく見ていこう。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら