Abstract

Context: Predicting the priority of bug reports is an important activity in software maintenance. Bug priority refers to the order in which a bug or defect should be resolved. A huge number of bug reports are submitted every day. Manual filtering of bug reports and assigning priority to each report is a heavy process, which requires time, resources, and expertise. In many cases mistakes happen when priority is assigned manually, which prevents the developers from finishing their tasks, fixing bugs, and improve the quality. Objective: Bugs are widespread and there is a noticeable increase in the number of bug reports that are submitted by the users and teams’ members with the presence of limited resources, which raises the fact that there is a need for a model that focuses on detecting the priority of bug reports, and allows developers to find the highest priority bug reports. This paper presents a model that focuses on predicting and assigning a priority level (high or low) for each bug report. Method: This model considers a set of factors (indicators) such as component name, summary, assignee, and reporter that possibly affect the priority level of a bug report. The factors are extracted as features from a dataset built using bug reports that are taken from closed-source projects stored in the JIRA bug tracking system, which are used then to train and test the framework. Also, this work presents a tool that helps developers to assign a priority level for the bug report automatically and based on the LSTM’s model prediction. Results: Our experiments consisted of applying a 5-layer deep learning RNN-LSTM neural network and comparing the results with Support Vector Machine (SVM) and K-nearest neighbors (KNN) to predict the priority of bug reports. The performance of the proposed RNN-LSTM model has been analyzed over the JIRA dataset with more than 2000 bug reports. The proposed model has been found 90% accurate in comparison with KNN (74%) and SVM (87%). On average, RNN-LSTM improves the F-measure by 3% compared to SVM and 15.2% compared to KNN. Conclusion: It concluded that LSTM predicts and assigns the priority of the bug more accurately and effectively than the other ML algorithms (KNN and SVM). LSTM significantly improves the average F-measure in comparison to the other classifiers. The study showed that LSTM reported the best performance results based on all performance measures (Accuracy = 0.908, AUC = 0.95, F-measure = 0.892).

Highlights

  • Software projects get an overwhelming number of bug reports, and the presence of bugs usually affects reliability, quality, and cost management of software

  • The evaluation was performed with Long Short-Term Memory (LSTM), K-nearest neighbors (KNN), and Support Vector Machine (SVM) after defining that the test size is equal to 0.20 of our dataset, the bug reports were selected randomly

  • This work investigates the following research question to evaluate the proposed framework: “Does the proposed approach outperform the other machine learning algorithms in predicting and assigning bug priority? Does the proposed approach improve the accuracy of assigning priority levels of bug reports?”

Read more

Summary

Introduction

Software projects (both open and closed source) get an overwhelming number of bug reports, and the presence of bugs usually affects reliability, quality, and cost management of software. Many software projects are delivered with bugs To address these bugs and to improve the quality of the released products, bug tracking systems such as JIRA and Bugzilla allow users and team members to report bugs [2]. Bug tracking systems help to predict the progress of a milestone-based on bug reports raised. They allow users to add stories (functional requirements) and divide them into tasks, as well as preparing bug reports and test suites [2]. Prioritizing software bug reports can help to handle the bug triaging process, and allows developers to prioritize and fix important reports first [2]. There is a need to develop a bug’s priority prediction model that helps to automate the priority’s prediction process

Objectives
Methods
Results
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.