基于类依赖嵌入的跨版本缺陷预测
Cross Version Defect Prediction with Class Dependency Embeddings
摘要:
软件缺陷预测的目的是预测哪些软件模块最有可能包含缺陷。这种方法背后的想法是通过帮助早期发现bug来节省开发过程中的时间。缺陷预测模型基于历史数据。具体来说,可以使用从分析中的相同目标应用程序的过去软件发行版或版本收集的数据。基于过去版本的缺陷预测被称为跨版本缺陷预测(CVDP)。传统上,静态代码预测被用来预测缺陷。在这项工作中,我们使用类依赖网络(CDN)作为另一个缺陷预测器,结合静态代码度量。CDN数据包含有关正在分析的目标应用程序的结构信息。通常情况下,CDN数据是使用不同的手工网络度量来分析的,比如社交网络度量。我们的方法使用网络嵌入技术来利用CDN信息,而无需手动构建指标。为了使用版本之间的嵌入,我们采用了不同的嵌入对齐技术。为了评估我们的方法,我们对24个软件发布对进行了实验,并将其与几种基准方法进行了比较。在这些实验中,我们分析了两种不同的图嵌入技术,三种锚点选择方法和两种对齐技术的性能。我们还基于两种不同的嵌入构建了一个元模型,并在AUC方面实现了4.7%(p < 0.002)的统计学显著改善。
英文摘要:
Software Defect Prediction aims at predicting which software modules are the most probable to contain defects. The idea behind this approach is to save time during the development process by helping find bugs early. Defect Prediction models are based on historical data. Specifically, one can use data collected from past software distributions, or Versions, of the same target application under analysis. Defect Prediction based on past versions is called Cross Version Defect Prediction (CVDP). Traditionally, Static Code Metrics are used to predict defects. In this work, we use the Class Dependency Network (CDN) as another predictor for defects, combined with static code metrics. CDN data contains structural information about the target application being analyzed. Usually, CDN data is analyzed using different handcrafted network measures, like Social Network metrics. Our approach uses network embedding techniques to leverage CDN information without having to build the metrics manually. In order to use the embeddings between versions, we incorporate different embedding alignment techniques. To evaluate our approach, we performed experiments on 24 software release pairs and compared it against several benchmark methods. In these experiments, we analyzed the performance of two different graph embedding techniques, three anchor selection approaches, and two alignment techniques. We also built a meta-model based on two different embeddings and achieved a statistically significant improvement in AUC of 4.7% (p < 0.002) over the baseline method.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。