论文标题

CLEBPI:BUG优先推断的对比度学习

CLeBPI: Contrastive Learning for Bug Priority Inference

论文作者

Wang, Wenyao, Wu, Chenhao, He, Jie

论文摘要

自动化错误优先级推断可以减少Bug Triagers的时间开销以进行优先分配,从而提高软件维护的效率。当前,此任务有两条正交线,即基于传统的机器学习(基于TML)和基于神经网络(基于NN)的方法。尽管这些方法达到了竞争性能,但我们的观察发现现有方法面临以下两个问题:1)基于TML的方法需要大量的手动功能工程,并且无法学习错误报告的语义信息; 2)基于TML的方法和基于NN的方法都无法有效地解决标签不平衡问题,因为它们很难区分具有不同优先级的错误报告之间的语义差异。在本文中,我们提出了CLEBPI(BUG优先推论的对比度学习),该论点利用了预训练的语言模型和对比度学习来解决上述两个问题。具体而言,CLEBPI首先以自我监督的方式在大规模的错误报告语料库中进行了预培训,因此,它可以自动学习错误报告的上下文表示,而无需手动功能工程。之后,它是通过对比度学习目标进一步预先训练的,这使其能够区分错误报告之间的语义差异,为每个错误报告学习更精确的上下文表示。完成预训练时,我们可以将分类层连接到CLEBPI,并以监督方式对其进行微调以优先推断。为了验证CLEBPI的有效性,我们选择了四种基线方法,并在公共数据集上进行比较实验。实验结果表明,就加权平均F1分数而言,CLEBPI的表现优于所有基线方法23.86%-77.80%,显示其有效性。

Automated bug priority inference can reduce the time overhead of bug triagers for priority assignments, improving the efficiency of software maintenance. Currently, there are two orthogonal lines for this task, i.e., traditional machine learning based (TML-based) and neural network based (NN-based) approaches. Although these approaches achieve competitive performance, our observation finds that existing approaches face the following two issues: 1) TML-based approaches require much manual feature engineering and cannot learn the semantic information of bug reports; 2) Both TML-based and NN-based approaches cannot effectively address the label imbalance problem because they are difficult to distinguish the semantic difference between bug reports with different priorities. In this paper, we propose CLeBPI (Contrastive Learning for Bug Priority Inference), which leverages pre-trained language model and contrastive learning to tackle the above-mentioned two issues. Specifically, CLeBPI is first pre-trained on a large-scale bug report corpus in a self-supervised way, thus it can automatically learn contextual representations of bug reports without manual feature engineering. Afterward, it is further pre-trained by a contrastive learning objective, which enables it to distinguish semantic differences between bug reports, learning more precise contextual representations for each bug report. When finishing pre-training, we can connect a classification layer to CLeBPI and fine-tune it for bug priority inference in a supervised way. To verify the effectiveness of CLeBPI, we choose four baseline approaches and conduct comparison experiments on a public dataset. The experimental results show that CLeBPI outperforms all baseline approaches by 23.86%-77.80% in terms of weighted average F1-score, showing its effectiveness.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源