PR

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

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

@Scale Conferenceで講演するフェイスブックのキー・マオ氏
@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がそのバグをどう修正しているのか。もう少し詳しく見ていこう。

この記事は有料会員限定です

日経クロステック有料会員になると…

専門雑誌8誌の記事が読み放題
注目テーマのデジタルムックが読める
雑誌PDFを月100pダウンロード

有料会員と登録会員の違い