This website (all pages under https://www.kyushu-u.ac.jp/ja/) is automatically translated.
Please note that pages of academic units linked from this site, as well as external websites, are not subject to automatic translation.
To revert to the original Japanese while automatic translation is active, please click "Automatic Translation."
Please be aware that automatic translation is a mechanical process and may not accurately convey the intended meaning. In addition, images and charts may not be translated.
For accurate information, please refer to the Japanese version.
For some articles, an English version translated by our specialist staff is available. To view it, click "English" in the upper right corner of the screen.
本サイト(https://www.kyushu-u.ac.jp/ja/ 配下のページ)では自動翻訳システムを使用しています。
本サイト内からリンクされている部局のページや外部サイトについては、自動翻訳の対象外となります。
翻訳適用中に、「Automatic Translation」をクリックすると元の日本語表示に戻ります。
自動翻訳は機械的に変換を行うため、意図が正確に反映されない場合や、画像・図表が翻訳されない場合があります。あらかじめご了承ください。
正確な情報については日本語表示の状態でご確認ください。
なお、一部の記事については、専門スタッフが翻訳した英語版もご用意していますので、画面右上の「English」をクリックしてご覧ください。
Research Results 研究成果
ポイント
概要
ソフトウェアは、クラウド、金融、通信、行政サービスなど、私たちの生活や産業を支える重要な基盤です。こうした開発では、プログラムを変更するたびに、自動テスト(※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 ツールの一つで、本研究の分析対象になっています。
【論文情報】
掲載誌:IEEE Transactions on Software Engineering
タイトル:Cross-Project Flakiness: A Case Study of the OpenStack Ecosystem
著者名:Tao Xiao, Dong Wang, Shane McIntosh, Hideaki Hata, Yasutaka Kamei
DOI:10.1109/TSE.2026.3685588
お問い合わせ先