バグレポート重複検出のための機械学習モデルをファインチューニングする際のロス計算手法および入力形式の比較評価

書誌事項

タイトル別名
  • Comparative Evaluation of Loss and Input Formats for Fine-tuning Machine Learning Models for Detecting Duplicate Bug Reports

この論文をさがす

抄録

ソフトウェアに見つかったバグはバグレポートとして開発者へ報告されることがある.新たなバグレポートの内容が報告済みバグレポートと同じである場合,それは重複バグレポートと呼ばれる.重複バグレポートを新規バグレポートとして取り扱うことは開発者にとって労力となる.この問題の解決のため,機械学習技術を用いてバグレポートの重複を検出する試みがなされている.その一部に,事前学習した訓練済みモデルを重複バグレポート検出用にファインチューニングする手法が提案されている.しかしファインチューニングする際の適切なロス計算手法や入力形式は不明であり改善の余地がある.本研究では重複バグレポート検出タスク用としてモデルをファインチューニングする際に用いるロス計算手法や入力形式を評価する.モデルとしては,事前学習した訓練済みのMPNetおよびプーリング層のみからなる簡潔なモデルを用いる.このモデルで個々のバグレポートをベクトル化し,ベクトル間の類似度を元に重複バグレポート検出を行うようなタスクとして性能を評価する.ファインチューニングおよび評価を行うために,Bugzillaより「Firefox,Toolkit,DevTools,Thunderbird,Testing,WebExtensions」の6つのプロダクトのバグレポートを用いてデータセットを作成した.ロス計算手法としてはCosine Similarity Loss,Triplet Loss,Multiple Negatives Ranking Lossの3つのロス計算手法を評価した.入力形式として「summaryのみ」,「descriptionのみ」,「summary+" "+description」,「summary+" [SEP] "+description」の4つの入力形式を評価した.結果,ロス計算手法としてはMultiple Negatives Ranking Lossが安定して優れていることを明らかにした.また入力形式としては,「summaryとdescriptionの両方を用いる場合が優れていること」「[SEP]トークンを挿入することによる明確な安定した違いは生まれないこと」を明らかにした.

Software bugs are sometimes reported to the developer as bug reports. If the content of a new bug report is the same as a previously reported bug report, it is a duplicate bug report. It's time-consuming to handle duplicate bug reports as new bug reports. To solve this issue, some attempts have been made to use machine learning techniques to detect duplicate bug reports. Some approaches involve fine-tuning a pre-trained model for detecting duplicate bug reports. However, the most appropriate loss calculation method and input format for fine-tuning are unclear. So, this study evaluates the loss calculation methods and input formats for fine-tuning a model for the task of duplicate bug report detection. The model used is a simple model consisting of pre-trained MPNet and a pooling layer. We evaluated the performance of the model by calculating embeddings of bug reports and detecting duplicate bug reports based on the similarities between the embeddings. To conduct the fine-tuning and evaluation, we created datasets using bug reports from Bugzilla's six products: Firefox, Toolkit, DevTools, Thunderbird, Testing, and WebExtensions. We evaluated three loss calculation methods: Cosine Similarity Loss, Triplet Loss, and Multiple Negatives Ranking Loss. We evaluated four input formats: summary only, description only, summary+" "+description, and summary+" [SEP] "+description. The results show that Multiple Negatives Ranking Loss is consistently superior as a loss calculation method. As for the input format, using both summary and description is found to be more effective, and the addition of " [SEP] " does not make significant stable difference.

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ