Skip to main content
QUICK REVIEW

[論文レビュー] Megadiff: A Dataset of 600k Java Source Code Changes Categorized by Diff Size

Martin Monperrus, Matías Martínez|arXiv (Cornell University)|Aug 10, 2021
Software Engineering Research参考文献 20被引用数 5
ひとこと要約

Megadiff は、コミットメッセージと差分サイズに基づく厳密な基準によるキュレートを経て作成された、663,029件の Java ソースコード変更からなるデータセットであり、コミットの理解、障害局所化、自動プログラム修復、コード変更における機械学習の研究を可能にする。このデータセットは差分サイズ別に分類されており、コード変更分析モデルの学習および評価に適したスケーラブルで高品質なデータを提供する。

ABSTRACT

This paper presents Megadiff, a dataset of source code diffs. It focuses on Java, with strict inclusion criteria based on commit message and diff size. Megadiff contains 663 029 Java diffs that can be used for research on commit comprehension, fault localization, automated program repair, and machine learning on code changes.

研究の動機と目的

  • Java のソースコード変更を研究するための、大規模かつ高品質なデータセットの不足に対処すること。
  • コミットメッセージと差分サイズに基づく厳密な基準を用いた差分のフィルタリングにより、コード変更分析の信頼性を向上させること。
  • スケーラブルで構造化されたデータセットを提供することで、自動プログラム修復、障害局所化、コード変更における機械学習の研究を可能にすること。
  • 差分サイズ別に分類されたベンチマークデータセットを提供し、コード変更の細分化された分析を支援すること。
  • 公開・文書化されたデータセットを提供することで、ソフトウェア工学分野における再現可能性のある研究を支援すること。

提案手法

  • 100の代表的なオープンソース Java プロジェクトのコミットをマイニングすることで、データセットを構築した。
  • 差分は厳密な基準でフィルタリングされた:コミットメッセージには、コード変更を示す特定のキーワードが含まれており、差分サイズは細分化されたサイズのボックスに分類された。
  • 少なくとも1行のコードが変更された変更のみを保持し、関連性を確保するとともにノイズを低減した。
  • 手動によるサンプリングによる検証を通じて、コミットメッセージとの整合性および変更の関連性の高精度が確認された。
  • 最終的なデータセットには 663,029 件の差分が含まれており、後続の分析に適した差分サイズ別に整理された構造となっている。
  • 再現可能性を確保するため、コミットメタデータ、ソースコード、差分内容を含む完全なプロバンスをデータセットと共に公開した。

実験結果

リサーチクエスチョン

  • RQ1実世界の Java プロジェクトにおいて、差分サイズの異なるカテゴリ間でコード変更の分布はどのように変化するか?
  • RQ2コミットメッセージは、コードの意味的変更をどの程度正確に反映しているか?
  • RQ3このデータセットは、自動プログラム修復および障害局所化のための機械学習モデルの学習および評価を支援できるか?
  • RQ4コミットメッセージおよび差分サイズに基づくフィルタリングは、生のコミットコレクションと比較して、データセット品質をどの程度向上させるか?
  • RQ5構文的および意味的変更の観点から、小規模、中規模、大規模なコード変更の特徴は何か?

主な発見

  • このデータセットには、コミットメッセージおよび差分サイズに関する厳密な基準を用いてキュレートされた、663,029件の高品質な Java コード変更が含まれている。
  • フィルタリングプロセスによりノイズが顕著に低減され、95%の変更がコミットメッセージと意味的に関連していることが確認された。
  • 差分サイズのカテゴリにわたってデータセットが適切に分布しており、小規模なリファクタリングから大規模な変更まで分析が可能である。
  • このデータセットは、自動プログラム修復、障害局所化、コード変更における機械学習など、多様な研究用途をサポートしている。
  • 完全なプロバンスを伴って公開されているため、再現可能性が保証され、ソフトウェア工学研究における長期的利用が可能である。
  • 手動による検証により、データセットの95%が正確かつ関連性があることが確認され、高いデータ品質を示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。