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

−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. 伊藤忠商事と九州大学、オマーン政府職員研修プログ…

    伊藤忠商事株式会社が中東のオマーン政府職員向けに実施している訪日研修プログラ…

  2. 非局在、非同期、閉ループによる有機レーザー発光分…

    工学研究院安達 千波矢 教授次世代有機光エレクトロニクスの新展開へ…

  3. 動いて並んでつながって。タンパク質が幾何学模様に…

    ~プログラムされた分子が自発的にナノ模様を形成~ポイント・タンパ…

  4. 個々のマイクロバブルが従うサイズ変化の法則を解明…

    ~目に見えない気泡であるナノバブルの安定性解明に期待~ポイント・…

  5. 超重元素の初めての精密質量測定に成功

    〜 新元素の新しい原子番号決定法の証明 〜ポイント・初の超重元素…

  6. 小惑星リュウグウから始原的な「塩(Salt)」と…

    〜小惑星リュウグウから始原的な「塩(Salt)」と有機硫黄分子群を発見…

  7. 【学内向け】2022年度 JST 戦略的創造研究…

    【学内向け】2022年度 JST 戦略的創造研究推進 未来社会創造、創発的研…

  8. 《8/7開催》九州大学 新技術説明会 【オンライ…

    直接研究者とディスカッションいただける絶好の機会です来る8月7日(木)に…