企業の事業変革の実現に向け、DXに取り組む企業が急増しています。富士通でもDXを推進する新会社Ridgelinezを設立し、自社におけるDXはもちろんのこと、DXを実現しようとする企業に向けたサービスの提供にも積極的に乗り出しています。
経済産業省の「DXレポート」*1によると、企業のDX化が遅れると日本国内だけで最大で年間12兆円の損失が発生すると考えられています。そのため、DX実現の根幹となるソフトウェアの開発効率化・品質向上は喫緊の課題となっています。
デジタルトランスフォーメーション(DX)によって事業を変革する試みが注目される中、重要な課題の一つとなるのが、ソフトウェア開発の効率化とさらなる品質の向上です。その課題解決に向けて富士通研究所が開発したのは、静的解析ツールによって検出されたソフトウェア中の潜在バグに対応する修正案を、AIを活用して自動的に生成し、ソフトウェア開発者へ推奨する技術です。米国シリコンバレーのFujitsu Laboratories of America(FLA)と富士通研究所が共同で開発した同技術の背景と両社の連携について、研究開発に携わった6名に話を伺いました。
2020年7月1日 掲載
菊池 慎司
Kikuchi,Shinji
富士通研究所
デジタルシステムプロジェクト
主管研究員
堀田 圭佑
Hotta,Keisuke
富士通研究所
サービスビジネス開発運用・ユニット 開発革新プロジェクト
根本 祐介
Nemoto,Yusuke
富士通研究所
サービスビジネス開発運用・ユニット 開発革新プロジェクト
Mukul R. Prasad
Fujitsu Laboratories of America(FLA;米国富士通研究所)
人工知能研究所 AIコアテクノロジプロジェクト 主管研究員
Yoshida,Hiroaki
(吉田 浩章)
Fujitsu Laboratories of America(FLA;米国富士通研究所)
人工知能研究所 AIコアテクノロジプロジェクト 主任研究員
Sugata,Sumito
(菅田 純登)
Fujitsu Laboratories of America(FLA;米国富士通研究所)
Co-Creation Innovation Center Manager
今回は日本と米国が連携し共同開発した技術に相応しく、日米オンライン取材を行いました。ニューノーマルに向けDXが喫緊の経営課題となった今、目の前の課題解決に向けて走り続ける日米研究者の思いをお伝えします。
企業の事業変革の実現に向け、DXに取り組む企業が急増しています。富士通でもDXを推進する新会社Ridgelinezを設立し、自社におけるDXはもちろんのこと、DXを実現しようとする企業に向けたサービスの提供にも積極的に乗り出しています。
経済産業省の「DXレポート」*1によると、企業のDX化が遅れると日本国内だけで最大で年間12兆円の損失が発生すると考えられています。そのため、DX実現の根幹となるソフトウェアの開発効率化・品質向上は喫緊の課題となっています。
「これからの時代では、企業はソフトウェア開発をいかに効率化し高い品質を維持できるかが問われるようになります。しかし、人海戦術でソフトウェアの生産性を高めるのには限界があります。そこで、開発者とAIが協力してソフトウェアを開発する世界を実現させ、DXの加速につなげたいと考えています」
こう語るのはAIによる開発効率化に向けた技術の展開を担当し、今回のプロジェクトの推進役となったデジタルシステムプロジェクト 主管研究員の菊池慎司です。
その中で富士通研究所が着目したのが、AIによるバグ修正です。米国シリコンバレーに拠点を置くFLAにて今回のプロジェクトを統括するムクール.Pは、「現在ソフトウェアのデバッグやパッチ適用は主に手作業で行われており、その作業がソフトウェア開発の中で大きな割合を占めています。これはソフトウェアの普及・拡大における大きな障壁であり、自動化が強く求められる領域でした」と説明します。
ムクールは、約19年間にわたるFLA在籍期間中、ハードウェア、ソフトウェア、ネットワークの信頼性に関する研究を行ってきており、過去に携わってきたソフトウェアの自動パッチプロジェクトの経験も、今回のプロジェクトに活かされています。
今回開発したAIによる自動バグ修正技術の仕組みは次の通りです。まず様々なソフトウェアの開発履歴から潜在バグ(まだ表面化していない不具合)の修正パターンをAIにあらかじめ学習させ、次に修正対象のソフトウェアのソースコードに対して静的解析ツールで潜在バグの検出を行ったあと、そこで明らかになったバグに対して、具体的なコードの修正案を自動生成して開発者に提示するというものです。
プロジェクトは、FLAがコア技術の研究開発を行い、富士通研究所がツール開発と顧客との実証実験を担当するという、両チームによる密な連携によって進められました。FLAにてコア技術の開発を担当した吉田浩章はこう説明します。
「自動バグ修正技術自体は10年以上前から学術的な研究が行われており、特に近年で大きな飛躍を遂げた領域です。しかし自動バグ修正技術のこれまでのアプローチでは、ソフトウェアテストのコードの品質に大きく依存してしまうことが課題でした。コードの品質が低ければ適切な修正の提案を行うこともできませんので、実用化には大きな壁があったのです」
そこで今回の技術では、方向性を転換し、修正対象を潜在バグに絞ることにしたのです。
「こうすることで、テストへの依存をなくし、テスト実施の有無・品質に左右されることなく誰でも使えるようになります。AIの学習データには、きちんとテストされたソフトウェアだけでなく、GitHub(ソフトウェア開発のソースコード管理プラットフォーム)上にある膨大なオープンソースの資産を活用することで、高品質な修正提案を行えるようになりました」(吉田)
コア技術の研究・開発では、ムクールと吉田が中心となり、過去の研究の問題点を洗い出しながら、数々の試行錯誤を経てたどり着いたといいます。「研究には失敗がつきものですが、自分たちで実際に手を動かした失敗だからこそ、そこから学ぶことができ開発にいたりました。一般的に研究論文には成功例しか掲載されておらず、その背景にある失敗例は想像するしかありません。だからこそ自らの失敗は重要であり、そこから課題を洗い出すことで成功への道筋を見出してきました」と吉田はその過程を振り返ります。
2019年には、今回開発した技術を用いて三井住友フィナンシャルグループ(SMBCグループ)との実証実験が実施されました。そこではFLAとSMBCグループの「SMFGシリコンバレー・デジタルイノベーションラボ」が連携し、三井住友銀行の金融取引を行うシステムのソフトウェアに同技術を適用して有効性を検証しています。
このきっかけを作ったのは菅田純登でした。菅田は、富士通 金融ビジネスユニット グローバル戦略営業部から2017年にFLAに出向、FLAと富士通研究所が持つ最新技術の活用やスタートアップと連携したオープンイノベーションを通じ、シリコンバレー発の新規ビジネス創出に尽力しています。その中で、SMFGシリコンバレー・デジタルイノベーションラボが今回のような技術を探していることを知り、同技術の紹介に至ったのです。
「SMFGシリコンバレー・デジタルイノベーションラボの方への具体的な研究内容の説明から実証実験までこれだけのスピード感で事を運べたのは、目まぐるしい技術進化の中で早い決断の求められるシリコンバレーで話を進めたことも要因の一つでしょう」と菅田は述べています。
実証実験では、実際に顧客から預かったソフトウェア資産に対して自動修正技術を適用し、適切な修正案が提案されるかどうかの検証を行いました。このとき、修正案の判定・分析を担当したのが富士通研究所 サービスビジネス開発運用・ユニット 開発革新プロジェクトに所属する堀田圭佑です。大学院時代からソフトウェア開発支援技術をテーマに研究を行っていた実績を持つ研究員です。
「実証実験の結果、静的解析ツールがソフトウェアの中から明らかにした潜在バグのうち、半数以上に対して修正案を提案することができました。さらに修正案が示す内容の95%以上は妥当性が認められ、提案の精度は非常に高いことが判明しました。この修正案を適用することで、開発者自身が修正内容を考えて書き直す時間を大幅に削減できると期待されています」と堀田は自信を見せます。
さらに菅田も「今回の実証実験の結果は、お客様からも評価をいただいています。今回のプロジェクトはもちろんのこと、シリコンバレーでの様々な提案活動を通じ、やはり富士通は技術力を持つ会社としてお客様からも富士通の技術への期待が高いことを実感しました」と話します。
今回の成果には、富士通研究所とFLAが互いの強みをうまく活かして連携できたことも大きいでしょう。菊池は「FLAと富士通研究所の連携はもちろん、富士通の金融営業部門や、社内展開や製品化では、サービステクノロジー本部や関係会社など、様々な連携を行いました。立場の異なる組織や国境をまたいだ連携には困難が伴いますが、各々が主張をぶつけ合いながらも、お互いをリスペクトし合う関係を築き上げることが大切だと考えます」と強調します。
またムクールも、「FLAはシリコンバレーという立地を活かして大学との共同研究や優秀なインターン生の採用など、研究に最適な土壌があります。一方で富士通研究所には、最先端技術を育成する文化と技術ノウハウがあるだけでなく、事業部門やお客様との強いつながりや信頼関係があります。実用化に向けた検討が迅速に進むのもそのためであり、今回の理想的なコラボレーションにつながりました」と続けます。
同技術は、2020年度中の実用化を目指しています。潜在バグの修正に限定すると、同技術はすでに実用レベルに達しているといい、本格的な実用化に向けては、ユーザビリティの向上や、AIによる推奨の品質をさらに改善していくとしています。
「この技術は、オープンソースの開発履歴から修正方法をAIに学習させていますが、オープンソースソフトウェアと企業で開発するソフトウェアとの間に特性の違いがあり、前者の修正方法が後者にうまく適用できないケースもあるとみています。そこで今後は学習データを充実させたり学習部分に技術的な改良を加えたりすることで、この課題の改善に取り組みたいと考えています」(堀田)
そして現場への適用に向けては、サービスビジネス開発運用・ユニット 開発革新プロジェクト 根本祐介が中心となってツール開発を進めていきます。長年オープンソース関連の開発に携わったプログラミングのエキスパートとして、富士通グループのSI企業から富士通研究所へと移籍した意外な経歴の持ち主です。
「本技術は、過去の叡智をAIが学習し、ソフトウェア開発者自身も気づかなかったコーディングパターンを提案してくれる点でとても魅力的であると感じています。もちろん、実際の現場では開発環境や開発フローがプロジェクトごとに異なり、どの環境までをサポートするかなど判断が難しいところもありますが、現場への適用にあたり、今後はユーザーの開発環境に関する情報収集・分析を行いながらターゲットを検討していきます」(根本)
今後、富士通研究所ではお客様との実証実験はもちろんのこと、社内でも技術実践を進めて同技術の強化を図り、お客様や自社のDXを加速していこうとしています。
FLAとしては、より広範囲なバグ修正に対応するべく、コア部分の技術を改良すると同時に、北米における富士通の認知度を向上も狙っています。現地の大学と協力して学生と研究者に対する知名度を上げることはもちろん、技術シンポジウムの開催などで取り組みをすでに進める中、今回開発した技術が、米国でのさらなるプレゼンス向上に寄与できると期待されます。
日米の連携で実現したAIバグ修正技術は、富士通の技術の高さと、DXを実践する企業としての存在感を国内外に証明するための重要なマイルストーンとなるでしょう。