Bug Priority Change: An Empirical Study on Apache Projects (2403.05059v1)
Abstract: In issue tracking systems, each bug is assigned a priority level (e.g., Blocker, Critical, Major, Minor, or Trivial in JIRA from highest to lowest), which indicates the urgency level of the bug. In this sense, understanding bug priority changes helps to arrange the work schedule of participants reasonably, and facilitates a better analysis and resolution of bugs. According to the data extracted from JIRA deployed by Apache, a proportion of bugs in each project underwent priority changes after such bugs were reported, which brings uncertainty to the bug fixing process. However, there is a lack of indepth investigation on the phenomenon of bug priority changes, which may negatively impact the bug fixing process. Thus, we conducted a quantitative empirical study on bugs with priority changes through analyzing 32 non-trivial Apache open source software projects. The results show that: (1) 8.3% of the bugs in the selected projects underwent priority changes; (2) the median priority change time interval is merely a few days for most (28 out of 32) projects, and half (50. 7%) of bug priority changes occurred before bugs were handled; (3) for all selected projects, 87.9% of the bugs with priority changes underwent only one priority change, most priority changes tend to shift the priority to its adjacent priority, and a higher priority has a greater probability to undergo priority change; (4) bugs that require bug-fixing changes of higher complexity or that have more comments are likely to undergo priority changes; and (5) priorities of bugs reported or allocated by a few specific participants are more likely to be modified, and maximally only one participant in each project tends to modify priorities.
- Predicting bug-fixing time: A replication study using an open source software project. Journal of Systems and Software 136, 173–186.
- Predicting build outcomes in continuous integration using textual analysis of source code commits, in: Proceedings of the 18th International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 42–51.
- Bug reports prioritization: Which features and classifier to use?, in: 2013 12th International Conference on Machine Learning and Applications, pp. 112–116.
- Understanding and characterizing changes in bugs priority: The practitioners’ perceptive, in: Proceedings of the 20th International Working Conference on Source Code Analysis and Manipulation (SCAM’20), IEEE. pp. 87–97.
- Apache, 2023. “guidelines for creating a jira ticket”. URL: https://infra.apache.org/jira-guidelines.html. accessed: January 22, 2023.
- Software modeling and measurement: The goal/question/metric paradigm. URL: http://drum.lib.umd.edu/bitstream/1903/7538/1/Goal_Question_Metric.pdf.
- Coding in-depth semistructured interviews: Problems of unitization and intercoder reliability and agreement. Sociological methods & research 42, 294–320.
- Bug severity classification using semantic feature with convolution neural network, in: Computing in Engineering and Technology. Springer, pp. 327–335.
- Developer role evolution in open source software ecosystem: An explanatory study on gnome. Journal of computer science and technology 32, 396–414.
- A scheduling-driven approach to efficiently assign bug fixing tasks to developers. Journal of Systems and Software 178, 110967.
- An empirical study on factors impacting bug fixing time, in: Reverse Engineering.
- Discovering Statistics using IBM SPSS Statistics. Fourth ed., Sage Publications Ltd., Singapore.
- The assessor’s dilemma: Improving bug repair via empirical game theory. IEEE Transactions on Software Engineering 47, 2143–2161.
- Automated defect prioritization based on defects resolved at various project periods. Journal of Systems and Software 179, 110993.
- On the use of hidden markov model to predict the time to fix bugs. IEEE Transactions on Software Engineering 44, 1224–1244.
- Predicting faults using the complexity of code changes, in: Proceedings of the 31st International Conference on Software Engineering (ICSE’09), IEEE. pp. 78–88.
- Predicting the objective and priority of issue reports in software repositories. Empirical Software Engineering 27, 50.
- Bug prioritization to facilitate bug report triage. Journal of Computer Science and Technology 27, 397–412.
- Code review quality: How developers see it, in: Proceedings of the 38th international conference on software engineering, pp. 1028–1038.
- An improved classifier based on entropy and deep learning for bug priority prediction, in: Abraham, A., Cherukuri, A., Melin, P., Gandhi, N. (eds) Intelligent Systems Design and Applications (ISDA’18), pp. 571–580.
- Replication package for “bug priority change: An empirical study on apache projects”. URL: https://github.com/breezesway/BugPriorityChange.
- Is bug severity in line with bug fixing change complexity? International Journal of Software Engineering and Knowledge Engineering 30, 1779–1800.
- Automated severity assessment of software defect reports, in: 2008 IEEE International Conference on Software Maintenance, pp. 346–355.
- Do automated program repair techniques repair hard and important bugs? Empirical Software Engineering 23, 2901–2947.
- Bisecting commits and modeling commit risk during testing, in: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 279–289.
- Code and commit metrics of developer productivity: a study on team leaders perceptions. Empirical Software Engineering 25, 2519–2549.
- Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering 14, 131–164.
- Predicting the priority of a reported bug using machine learning techniques and cross project validation, in: 2012 12th International Conference on Intelligent Systems Design and Applications (ISDA), pp. 539–545.
- Grounded theory in software engineering research: a critical review and guidelines, in: Proceedings of the 38th International conference on software engineering, pp. 120–131.
- On the unreliability of bug severity data. Empirical Software Engineering 21, 2298–2323.
- The role of bug report evolution in reliable fixing estimation. Empirical Software Engineering 27, 1–39.
- Predicting defect priority based on neural networks, in: International Conference on Advanced Data Mining and Applications, Springer. pp. 356–367.
- Automated prediction of bug report priority using multi-factor analysis. Empirical Software Engineering 20, 1354–1383.
- How are distributed bugs diagnosed and fixed through system logs? Information and Software Technology 119, 106234.
- How practitioners perceive automated bug report management techniques. IEEE Transactions on Software Engineering 46, 836–862.