  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.
