\「細かく追うほど誤検出が増える」を解決/多数決で誤検出を抑える細粒度バグ混入コミット特定技術

−AI時代の学習データ整備に貢献−

システム情報科学研究院
近藤 将成 助教 / 亀井 靖高 教授

ポイント

・ソフトウェアのバグの原因となった変更(バグ混入コミット※1)を高精度に特定する新技術「MV-SZZ」を開発
・トークン※2単位での詳細な変更履歴追跡と多数決に基づく仕組みを用いて最も妥当と思われる変更を選択する仕組みを組み合わせることで、従来手法の課題であった見逃しや誤検出の大幅な削減が可能に
・ソフトウェア開発コストの低減と品質向上への貢献と高品質なデータセットの構築が可能になることでのAI時代における学習データ整備への貢献に期待

概要

大阪大学大学院情報科学研究科の近藤偉成さん(博士前期課程)、肥後芳樹教授(コンピュータサイエンス専攻ソフトウェア工学講座)、九州大学大学院システム情報科学研究院の近藤将成助教、亀井靖高教授(情報理工学専攻)、およびカナダビクトリア大学のDaniel M. German教授の研究グループは、ソフトウェア開発において、不具合(バグ)の原因になった変更(バグ混入コミット)を高精度に特定する新技術「MV-SZZ」を開発しました。

ソフトウェア開発では、不具合が「いつ」・「どの変更によって」混入されたのかを特定することが、品質向上や開発効率の改善において極めて重要です。これまでにもバグ混入コミットを特定する技術は提案されてきましたが、精度面に課題がありました。

今回の新技術「MV-SZZ」は、ソフトウェアのソースコード※3をトークンの列として捉え、その変更(開発)履歴を詳細に追跡します。さらに、複数のバグ混入コミットの候補を発見した場合には、多数決に基づく仕組みを用いて、最も妥当と思われる変更をバグ混入コミットとして選択します。これにより、従来手法で問題となっていたバグ混入コミットの見逃しや誤検出を大幅に抑制し、高精度な特定を可能にしました。

この技術は、実用面ではソフトウェア開発現場におおける開発コスト削減と品質向上に貢献します。また研究面では、バグ混入およびバグ修正に関する高品質なデータセットの構築を可能にし、AI時代における学習データ整備に大きく貢献します。これにより、バグ予測やバグ自動修正といった研究分野のさらなる発展が期待されます。

本研究成果は、米国科学誌「Transactions on Software Engineering」に、2026年5月1日(金)(日本時間)にオンライン公開されました。

用語解説

※1 バグ混入コミット
ソフトウェアは多数のコミットを積み重ねて進化していくため、不具合の原因を調べる際には、どのコミットが不具合を引き起こしたのかを特定することが重要となる。本研究で扱うバグ混入コミットとは、そのような履歴の中で不具合の原因となったコミットを指す。

コミットとは、ソフトウェア開発において、プログラムの変更内容をひとまとまりとして記録する単位のこと。開発者は、機能の追加や不具合の修正などを行うたびに、その変更内容を「コミット」として履歴に保存する。各コミットには、「いつ」「誰が」「どのファイルを」「どのように変更したか」といった情報が記録されており、ソフトウェアの開発過程を時系列で振り返ることができる。これにより、過去の状態に戻したり、変更の理由を確認したりすることが可能になる。

※2 トークン
トークンとは、ソースコードを構成する最小単位の要素のこと。プログラムの中では、変数名や数値、演算子、記号(かっこやセミコロンなど)がそれぞれ意味を持っており、これら一つ一つがトークンとして扱われる。例えば、1行のプログラムであっても、内部的には複数のトークンに分解できる。ソースコードをトークン単位で捉えることで、「行全体」ではなく、「どの要素がどのように変化したか」をより細かく分析することが可能になる。

※3 ソースコード
ソースコードとは、ソフトウェアの動作内容を人間が理解できる形で記述したプログラムの設計図のこと。ソフトウェア開発者は、プログラミング言語を用いてソースコードを書き、それをコンピュータが実行できる形に変換することでソフトウェアを動かしている。

ソースコードには、計算処理の手順だけでなく、条件分岐やデータの扱い方など、ソフトウェアの振る舞いに関するすべての情報が含まれている。そのため、ソフトウェアの不具合(バグ)は、ソースコード中の記述ミスや設計上の問題として現れる。

本研究では、このソースコードがどのような変更履歴(コミット)を経て現在の形になったのかに注目し、過去のソースコードの変更を分析することで、不具合の原因となった変更を特定する技術を対象としている。

詳細

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

お問い合わせ先

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

[5/26開催]令和8年度第2回I²CNER Seminar

“ヤゲン軟骨の秘密”を解明

関連記事

  1. 第17回九州大学伊藤プロジェクト賞の受賞式を開催…

    歴代の受賞者は、世界各地のプラズマ核融合研究の第一線で活躍しています。…

  2. 「社外秘の流出を防ぎながら、高度な知を集結・共用…

    京都大学、九州大学、MP五協フード&ケミカル、日清食品ホールディングス、日清…

  3. 【11/14開催】IAS-FRIS Sympos…

    AI対応テクノロジーの規制に対する課題や柔軟なAI倫理基準に依存する規制の枠…

  4. 《6/25開催》 第192回アジア・オセアニア研…

    オカフオー エケネチユク チジオケ 准教授(工学研究院 機械工学部門)…

  5. 超伝導量子素子内で発生する新たなタイプの正孔伝導…

    超伝導体内に侵入した水素の量子性の解明にも期待工学研究院河江 達也 …

  6. 平面シートが「変身」して曲面に

    生物の「かたちづくり」をモノづくりに医学研究院松田佳祐 助教概要…

  7. 「遅い」のに高効率な情報処理技術を開発

    システム情報科学研究院矢嶋 赳彬 准教授生体神経組織の動作を模倣した…

  8. 地震計データから読み解くコロナ禍による経済・余暇…

    ~地震観測以外の新しい活用~ポイント・地震計データから季節や曜日…