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)已成为研究人员中一个受欢迎的研究课题。CPP根据一个项目的标签数据集培训了分类人员,以预测另一个项目的错误。目标:软件缺陷预测(SDP)数据集由人工设计的静态特征组成,即软件量度。在CPP,项目数据源和目标差异是实现高性能的主要挑战。在本文件中,我们提议基于General Aversarial网络(GAN)的数据转换,以减少源和目标项目之间的数据差异。方法:我们采用General Aversarial方法,将数据集标为真实数据,而目标数据集则选择为假数据。差异分析器试图通过损失功能衡量域适应的完美程度。通过发电机,目标数据集试图调整源项目域域域域域,最后,应用机器学习分类(i.,Naversarial Bays),以减少源与目标项目之间的数据差异差异。结果:我们用模型和模型分析模型来分析我们如何进行结果,结果,我们如何评估。我们如何评估。结果,我们如何评估。我们如何评估。