预训练模型对即时缺陷预测影响的研究
软件工程
2023-11-27 v2 机器学习
摘要
先前开展即时 (JIT) 缺陷预测任务的研究者主要关注单个预训练模型的性能,而未探索不同预训练模型作为骨干网络之间的关系。在本研究中,我们构建了六个模型:RoBERTaJIT、CodeBERTJIT、BARTJIT、PLBARTJIT、GPT2JIT 和 CodeGPTJIT,每个模型以不同的预训练模型为骨干。我们系统地探究这些模型之间的差异与联系。具体而言,我们考察了以 Commit 代码和 Commit message 作为输入时模型的性能,以及这六个模型间训练效率与模型分布的关系。此外,我们进行消融实验以探究各模型对输入的敏感性。进一步,我们考察了模型在零样本和少样本场景下的表现。我们的发现表明,基于不同骨干的各个模型均有提升,且当骨干的预训练模型相似时,所需消耗的训练资源更为接近。我们还观察到 Commit 代码在缺陷检测中起重要作用,且不同预训练模型在少样本场景下以平衡数据集展现出更好的缺陷检测能力。这些结果为利用预训练模型优化 JIT 缺陷预测任务提供了新见解,并凸显了构建此类模型时需更多关注的因素。此外,在 2000 个训练样本下,CodeGPTJIT 和 GPT2JIT 分别在两个数据集上优于 DeepJIT 和 CC2Vec。这些发现强调了基于 transformer 的预训练模型在 JIT 缺陷预测任务中的有效性,尤其在训练数据有限的场景中。
引用
@article{arxiv.2309.02317,
title = {A study on the impact of pre-trained model on Just-In-Time defect prediction},
author = {Yuxiang Guo and Xiaopeng Gao and Zhenyu Zhang and W. K. Chan and Bo Jiang},
journal= {arXiv preprint arXiv:2309.02317},
year = {2023}
}
备注
Accepted by QRS2023