Table of Contents
Fetching ...

Bug Priority Change Prediction: An Exploratory Study on Apache Software

Guangzong Cai, Zengyang Li, Peng Liang, Ran Mo, Hui Liu, Yutao Ma

TL;DR

<3-5 sentence high-level summary> The paper tackles the dynamic problem of bug priority changes by proposing a two-phase prediction framework aligned with the bug lifecycle. It introduces Bug Fixing Evolution Features that capture project, reporter, comment, and history dynamics, and pairs them with a comprehensive class-imbalance strategy (data-level undersampling and conditional mixed sampling with cost-sensitive learning). Phase I predicts whether a bug will change priority, while Phase II predicts the new priority level, achieving strong F1 performance and demonstrating cross-project viability within 32 Apache projects. The work provides actionable insights for proactive triage and real-time decision support, and outlines practical deployment options and avenues for future research, including time-to-event modeling and broader ecosystem validation.

Abstract

Bug fixing is a critical activity in the software development process. In issue tracking systems such as JIRA, each bug report is assigned a priority level to indicate the urgency and importance level of the bug. The priority may change during the bug fixing process, indicating that the urgency and importance level of the bug will change with the bug fixing. However, manually evaluating priority changes for bugs is a tedious process that heavily relies on the subjective judgment of developers and project managers, leading to incorrect priority changes and thus hindering timely bug fixes. Given the lack of research on bug priority change prediction, we propose a novel two-phase bug report priority change prediction method based on bug fixing evolution features and class imbalance handling strategy. Specifically, we divided the bug lifecycle into two phases: bug reporting and bug fixing, and constructed bug priority change prediction models for each phase. To evaluate the performance of our method, we conducted experiments on a bug dataset constructed from 32 non-trivial Apache projects. The experimental results show that our proposed bug fixing evolution features and the adopted class imbalance handling strategy can effectively improve the performance of prediction models. The F1-score of the prediction model constructed for the bug reporting phase reached 0.798, while the F1-weighted and F1-macro of the prediction model constructed for the bug fixing phase were 0.712 and 0.613, respectively. Furthermore, we explored the cross-project applicability of our prediction models and their performance at different priority levels. The findings indicate large variations in model performance across different projects, although the overall scores remain decent. Meanwhile, the predictive performance across various priority levels remained relatively consistently high.

Bug Priority Change Prediction: An Exploratory Study on Apache Software

TL;DR

<3-5 sentence high-level summary> The paper tackles the dynamic problem of bug priority changes by proposing a two-phase prediction framework aligned with the bug lifecycle. It introduces Bug Fixing Evolution Features that capture project, reporter, comment, and history dynamics, and pairs them with a comprehensive class-imbalance strategy (data-level undersampling and conditional mixed sampling with cost-sensitive learning). Phase I predicts whether a bug will change priority, while Phase II predicts the new priority level, achieving strong F1 performance and demonstrating cross-project viability within 32 Apache projects. The work provides actionable insights for proactive triage and real-time decision support, and outlines practical deployment options and avenues for future research, including time-to-event modeling and broader ecosystem validation.

Abstract

Bug fixing is a critical activity in the software development process. In issue tracking systems such as JIRA, each bug report is assigned a priority level to indicate the urgency and importance level of the bug. The priority may change during the bug fixing process, indicating that the urgency and importance level of the bug will change with the bug fixing. However, manually evaluating priority changes for bugs is a tedious process that heavily relies on the subjective judgment of developers and project managers, leading to incorrect priority changes and thus hindering timely bug fixes. Given the lack of research on bug priority change prediction, we propose a novel two-phase bug report priority change prediction method based on bug fixing evolution features and class imbalance handling strategy. Specifically, we divided the bug lifecycle into two phases: bug reporting and bug fixing, and constructed bug priority change prediction models for each phase. To evaluate the performance of our method, we conducted experiments on a bug dataset constructed from 32 non-trivial Apache projects. The experimental results show that our proposed bug fixing evolution features and the adopted class imbalance handling strategy can effectively improve the performance of prediction models. The F1-score of the prediction model constructed for the bug reporting phase reached 0.798, while the F1-weighted and F1-macro of the prediction model constructed for the bug fixing phase were 0.712 and 0.613, respectively. Furthermore, we explored the cross-project applicability of our prediction models and their performance at different priority levels. The findings indicate large variations in model performance across different projects, although the overall scores remain decent. Meanwhile, the predictive performance across various priority levels remained relatively consistently high.

Paper Structure

This paper contains 39 sections, 14 equations, 9 figures, 17 tables.

Figures (9)

  • Figure 1: Comments related to priority changes in bugs https://issues.apache.org/jira/browse/SPARK-26836 and https://issues.apache.org/jira/browse/FLINK-14701.
  • Figure 2: Bug report lifecycle.
  • Figure 3: The process of our proposed bug priority change prediction method.
  • Figure 4: Determining the 5-Minute threshold for priority change filtering.
  • Figure 5: Visualization of the diverse characteristics of the 32 selected Apache projects.
  • ...and 4 more figures