Skip to main content
QUICK REVIEW

[論文レビュー] Generative Adversarial Network-based Cross-Project Fault Prediction

Sourabh Pal|arXiv (Cornell University)|May 15, 2021
Software Engineering Research参考文献 30被引用数 5
ひとこと要約

本論文は、Ganを用いたドメイン適応手法を提示し、クロスプロジェクトソフトウェアバグ予測(CPDP)に応用する。生成器がターゲットプロジェクトのデータをソースプロジェクトの分布に合わせて変換することで、データの乖離を低減する。この手法は、特にJDTがターゲットプロジェクトである場合に優れたF1スコアを達成するが、クラス不均衡が依然として主な課題のままである。

ABSTRACT

Background: The early stage of defect prediction in the software development life cycle can reduce testing effort and ensure the quality of software. Due to the lack of historical data within the same project, Cross-Project Defect Prediction (CPDP) has become a popular research topic among researchers. CPDP trained classifiers based on labeled data sets of one project to predict fault in another project. Goals: Software Defect Prediction (SDP) data sets consist of manually designed static features, which are software metrics. In CPDP, source and target project data divergence is the major challenge in achieving high performance. In this paper, we propose a Generative Adversarial Network (GAN)-based data transformation to reduce data divergence between source and target projects. Method: We apply the Generative Adversarial Method where label data sets are choosing as real data, while target data sets are choosing as fake data. The Discriminator tries to measure the perfection of domain adaptation through loss function. Through the generator, target data sets try to adapt the source project domain and, finally, apply machine learning classifier (i.e., Naive Bayes) to classify faulty modules. Results: Our result shows that it is possible to predict defects based on the Generative Adversarial Method. Our model performs quite well in a cross-project environment when we choose JDT as a target data sets. However, all chosen data sets are facing a large class imbalance problem which affects the performance of our model.

研究の動機と目的

  • クロスプロジェクト欠陥予測(CPDP)におけるソースプロジェクトとターゲットプロジェクト間のデータ分布の乖離に起因する課題に対処すること。
  • ソフトウェアメトリクス分布が異なるプロジェクト間のドメインシフトによって引き起こされるCPDPの性能低下を軽減すること。
  • 生成的対抗ネットワーク(GANs)を用いて教師なしドメイン適応を実現し、ターゲットプロジェクトのデータをソースプロジェクトの特徴空間に一致させること。
  • 歴史的データが乏しいソフトウェア開発の初期段階におけるバグ予測の正確性を向上させること。
  • 実世界のEclipseオープンソースプロジェクトを用いて、F1スコアを主な指標として、GANベースのデータ変換の有効性を評価すること。

提案手法

  • GANフレームワーク内において、ラベル付きのソースプロジェクトデータを実データとし、ラベルなしのターゲットプロジェクトデータをノイズ(偽物)として扱う。
  • ターゲットプロジェクトの特徴を、ソースプロジェクトの特徴分布を模倣する分布にマッピングする生成器ネットワークを学習する。
  • 実際のソースデータと生成された(偽物の)ターゲットデータを区別するための識別器ネットワークを、ミニマックス損失関数を用いて学習する。
  • 標準的なGANの目的関数を用いる:$\min_G \max_D V(D,G) = \mathbb{E}_{x\sim p_s(x)}[\log D(x)] + \mathbb{E}_{z\sim p_t(z)}[\log(1 - D(G(z)))]$。
  • すべての層にReLU活性化関数を適用するが、識別器の出力層を除く。識別器の出力層にはシグモイド関数を用いる。
  • 元のラベル付きソースデータに対してナイーブベイズ分類器を学習し、最終的なバグ分類のために、生成された(ドメイン適応済みの)ターゲットデータに適用する。

実験結果

リサーチクエスチョン

  • RQ1GANベースのドメイン適応手法は、CPDPにおけるソースプロジェクトとターゲットプロジェクト間のデータ分布の乖離を効果的に低減できるか?
  • RQ2訓練エポック数の変化に伴い、F1スコアの観点から、提案モデルの性能はどのように変化するか?
  • RQ3コードベースの特徴が類似したプロジェクト(例:JDT vs. lucene)において、ソースプロジェクトと比較して、モデルの性能が向上するか?
  • RQ4ターゲットデータセットにおけるクラス不均衡が、モデルの予測性能に及ぼす影響はどの程度か?

主な発見

  • GANベースのドメイン適応手法は、ソースプロジェクトとターゲットプロジェクト間のデータ分布の乖離を効果的に低減し、クロスプロジェクトバグ予測の性能を向上させた。
  • JDTをターゲットプロジェクトとして使用した場合、F1スコアが最も高くなり、他のプロジェクト(lucene)と比較して、より良好な一致と転送可能性を示した。
  • 訓練エポック数を25から100に増加させても、性能が比較的安定しており、学習プロセスにおける収束性とオーバーフィッティングへのロバストネスを示している。
  • luceneデータセットでは、バグモジュールの割合が非常に低く(9.26%)、モデルの性能が著しく低下しており、顕著な制限要因であることが判明した。
  • ドメイン適応を適用しても、ターゲットデータセットにおけるクラス不均衡の問題は、特にバグ率が低いプロジェクトでは、高いF1スコアを達成する上で主要な障壁のままである。
  • ナイーブベイズ分類器は、適応済みのターゲットデータに対して信頼性の高いバグ分類を達成しており、GANベースの特徴空間の整合性の有効性を裏付けている。

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

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

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

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