Abstract

In Software Development Life Cycle, fixing defect bugs is one of the essential activities of the software maintenance phase. Bug severity indicates how major or minor the bug impacts on the execution of the system and how rapidly the developer should fix it. Triaging a vast amount of new bugs submitted to the software bug repositories is a cumbersome and time-consuming process. Manual triage might lead to a mistake in assigning the appropriate severity level for each bug. As a consequence, a delay for fixing severe software bugs will take place. However, the whole process of assigning the severity level for bug reports should be automated. In this paper, we aim to build prediction models that will be utilized to determine the class of the severity (severe or non-severe) of the reported bug. To validate our approach, we have constructed a dataset from historical bug reports stored in JIRA bug tracking system. These bug reports are related to different closed-source projects developed by INTIX Company located in Amman, Jordan. We compare eight popular machine learning algorithms, namely Naive Bayes, Naive Bayes Multinomial, Support Vector Machine, Decision Tree (J48), Random Forest, Logistic Model Trees, Decision Rules (JRip) and K-Nearest Neighbor in terms of accuracy, F-measure and Area Under the Curve (AUC). According to the experimental results, a Decision Tree algorithm called Logistic Model Trees achieved better performance compared to other machine learning algorithms in terms of Accuracy, AUC and F-measure with values of 86.31, 0.90 and 0.91, respectively.

Highlights

  • IntroductionThe process of fixing bugs in the software maintenance phase has become a challenging task because the number of reported software bugs in large software systems (e.g., open-source projects) is growing massively [1]

  • Over the past years, the process of fixing bugs in the software maintenance phase has become a challenging task because the number of reported software bugs in large software systems is growing massively [1]

  • The bug reports dataset is extracted from the repository of JIRA bug tracking system related to closed-source projects developed by INTIX Company located in Amman, Jordan

Read more

Summary

Introduction

The process of fixing bugs in the software maintenance phase has become a challenging task because the number of reported software bugs in large software systems (e.g., open-source projects) is growing massively [1]. Managing a high volume of new bugs submitted daily by different reporters in these large open systems is a difficult task. This increases the amount of work done by the socalled bug triager, who assesses and analyzes these bugs within the bounds of time and resources to assign an appropriate severity level and suitable developer(s) who will fix those defected bugs [3]. Bug report systems are important software artifacts. They are leveraged for various tasks during software maintenance, such as assigning bugs to appropriate developers, assessing the severity and priority of bugs and detecting duplicate bugs. If the data in bug reports are incomplete, unclear or inaccurate, the tasks as mentioned above will lead to unpredictable results

Objectives
Methods
Results
Conclusion
Full Text
Paper version not known

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.