プログラミングにおける不安定なテストがプロジェクトの枠を超えて広がっていることを確認

OpenStack エコシステムの約 55% に波及し、1,156 日分の時間ロスが発生

システム情報科学研究院
亀井靖高 教授

ポイント

・クラウドや社会インフラを支えるソフトウェアでは、テストの不安定さが開発の遅れにつながっています。
・本研究では、不安定なテスト(※1)が1つのプロジェクトにとどまらず、エコシステム(※2)内の複数プロジェクトに広がる現象を確認しました。
・今回の成果は、開発時間の短縮、計算資源の削減、信頼できるソフトウェア基盤の実現に貢献すると期待されます。

概要

 ソフトウェアは、クラウド、金融、通信、行政サービスなど、私たちの生活や産業を支える重要な基盤です。こうした開発では、プログラムを変更するたびに、自動テスト(※3)で不具合の有無を確認します。しかし実際には、同じプログラムでも成功したり失敗したりする不安定なテストがあり、開発の遅れや計算資源の無駄を招いています。これまで、この問題は主に1つのプロジェクトの中で調べられてきましたが、多くのプロジェクトがコードやテスト環境を共有する現在、その影響がどこまで広がるかは十分に明らかになっていませんでした。
 本研究では、不安定なテストが1つのプロジェクトにとどまらず、複数のプロジェクトに広がることを明らかにしました。さらに、同じテストでも、あるプロジェクトでは不安定になり、別のプロジェクトでは安定して動く現象も確認しました。これは、テストの不安定さが個別の開発だけではなく、ソフトウェア群全体で捉えるべき課題であることを示しています。
 九州大学大学院システム情報科学研究院の亀井靖高教授らの国際共同研究グループは、大規模なクラウド基盤ソフトウェア群であるOpenStackのエコシステムを対象に、649プロジェクト、29,175件のコードレビュー(※4)、73,707件のパッチセット(修正案)を分析しました。その結果、Zuul CI(※5)を採用するOpenStackエコシステム内のプロジェクトの約55%が、複数プロジェクトに広がる不安定なテストの影響を受けていることがわかりました。また、複数のプロジェクトに影響する不安定なテストを1,535件、同じテストでもプロジェクトによって起き方が異なるものを1,105件確認しました。
 さらに、小さな部品を確認する基本的なテスト(単体テスト)の約7割が、複数のプロジェクトにまたがる不安定さを示しました。不安定さの主な原因は、サーバの一時的な障害や同時実行のずれ、依存ソフトの変化、CI(※5)設定の食い違いでした。加えて、この問題によって、コード確認の過程で合計1,156日分の時間が失われていました。今回の成果は、不安定なテストを早く見つける仕組みや、原因を自動で整理する仕組みの開発につながり、大規模ソフトウェアや社会インフラを支えるシステムの信頼性向上に役立つと期待されます。
 本研究成果は、米国の雑誌「IEEE Transactions on Software Engineering」(オンライン)に2026年5月26日(火)(日本時間)に掲載されました。

研究者からひとこと

 不安定なテスト(Flaky Test)は、開発者の時間と計算資源を奪う見えにくい問題です。本研究では、その不安定さが1つのプロジェクトの枠を超えて拡散し、エコシステム全体に波及している実態を明らかにしました。今回の成果を、より信頼できるソフトウェア開発環境の実現につなげたいと考えています。(亀井靖高)

用語解説

(※1) 不安定なテスト
同じプログラムを同じ条件で実行しても、成功したり失敗したりするテストです。 英語では「Flaky Test」と呼ばれます。

(※2) エコシステム
複数のソフトウェアや開発者・組織が、共通の部品やルールを共有しながら互いに依存し合い、ひとつの集合体として進化していく開発環境のことです。OpenStack のように、多数のプロジェクトが連携して開発される仕組みを指します。

(※3) 自動テスト
ソフトウェアが正しく動くかを、プログラムで自動的に確認する仕組みです。 人が毎回確認する手間を減らし、開発の速度と品質を高めます。

(※4) コードレビュー
プログラムを書いた本人以外の開発者が、変更内容を確認し、不具合や改善点を指摘する仕組みです。品質や安全性を保つために多くのソフトウェア開発で実施されています。

(※5) CI/Zuul CI
CI(Continuous Integretion)はプログラムに変更が加えられるたびに、自動テストやビルドを行い、不具合を早期に発見する仕組みです。Zuul CIは OpenStack 開発で使われている代表的な CI ツールの一つで、本研究の分析対象になっています。

詳細

本件の詳細についてはこちら

お問い合わせ先

システム情報科学研究院 亀井靖高  教授

北米最大級アラスカ金鉱開発のダイナミクス分析

[6/3開催]第233回アジア・オセアニア研究教育機構(Q-AOS)Brown Bag Seminar Series「農家の目を代替する植物センシング技術は作れるか?」

関連記事

  1. 【10/18開催】令和5年度 第6回I²CNER…

    令和5年度第6回I²CNER Seminarを開催します:Prof. Cyn…

  2. 九州大学×TSMC 包括連携の覚書を締結

    半導体分野の研究および人材育成における協力関係をより強固に!このたび…

  3. 九州大学×福岡市×株式会社JCCL CO₂分離・…

    九州大学発スタートアップの株式会社JCCL(本社:福岡市西区)は、このたびC…

  4. 持続的な食料供給システムの実現に向けた提言を策定…

    環境と生産性を両立する「ONE-アグリシステム」:生態系サービスと価値循環の…

  5. 耳標に貼り付けたセンサから牛をセンシングする技術…

    耳標に貼り付けたセンサから牛をセンシングする技術を開発 九州大学農学…

  6. 中性子寿命の謎、解明に向けた新実験が始動

    ―第3の手法により中性子寿命問題の解明に挑む―ポイント・新しい手…

  7. 農産廃棄物から高機能食品包装を開発

    カボチャ皮を活用し、鮮度保持と食品ロス削減に貢献農学研究院田中史彦教…

  8. 【2/7開催】第130回アジア・オセアニア研究教…

    九州大学 芸術工学研究院 德久 悟 准教授九州大学アジア・オセ…