Skip to main content
Log in

A survey on bug prioritization

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

Daily large number of bug reports are received in large open and close source bug tracking systems. Dealing with these reports manually utilizes time and resources which leads to delaying the resolution of important bugs. As an important process in software maintenance, bug triaging process carefully analyze these bug reports to determine, for example, whether the bugs are duplicate or unique, important or unimportant, and who will resolve them. Assigning bug reports based on their priority or importance may play an important role in enhancing the bug triaging process. The accurate and timely prioritization and hence resolution of these bug reports not only improves the quality of software maintenance task but also provides the basis to keep particular software alive. In the past decade, various studies have been conducted to prioritize bug reports using data mining techniques like classification, information retrieval and clustering that can overcome incorrect prioritization. Due to their popularity and importance, we survey the automated bug prioritization processes in a systematic way. In particular, this paper gives a small theoretical study for bug reports to motivate the necessity for work on bug prioritization. The existing work on bug prioritization and some possible problems in working with bug prioritization are summarized.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. www.atlassian.com/software/jira.

  2. www.bugzilla.org.

  3. www.mendeley.com.

References

  • Abdelmoez W et al (2012) Bug fix-time prediction model using Naïve Bayes classifier. In: 22nd International conference on computer theory and applications, IEEE, October, pp 167–172. doi:10.1109/ICCTA.2012.6523564

  • Alenezi M, Banitaan S (2013) Bug reports prioritization: which features and classifier to use? In: 12th International conference on machine learning and applications, IEEE, pp 112–116. doi:10.1109/ICMLA.2013.114

  • Anvik J et al (2005) Coping with an open bug repository technical report UBC-CS-TR-2005-20. In: Proceedings of the OOPSLA workshop on eclipse technology eXchange. ACM, pp 1–5

  • Anvik J et al (2006) Who should fix this bug? In: Proceedings of the 28th international conference on software engineering, pp 361–370

  • Anvik J, Murphy GC (2011) Reducing the effort of bug report triage. ACM Trans Softw Eng Methodol 20(3):1–35. doi:10.1145/2000791.2000794

    Article  Google Scholar 

  • Behl D et al (2014) A bug mining tool to identify and analyze security bugs using Naive Bayes and TF-IDF. In: International conference on reliability optimization and information technology, IEEE, pp 294–299. doi:10.1109/ICROIT.2014.6798341

  • Bennett K, Rajlich V (1999) Software maintenance and evolution: a roadmap. In: Proceeding ICSE’00 proceedings of the conference on the future of software engineering, pp 73–87

  • Bhattacharya P, Neamtiu I, Shelton CR (2012) Automated, highly-accurate, bug assignment using machine learning and tossing graphs. J Syst Softw 85(10):2275–2292. doi:10.1016/j.jss.2012.04.053

    Article  Google Scholar 

  • Brereton P et al (2007) Lessons from applying the systematic literature review process within the software engineering domain. J Syst Softw 80:571–583. doi:10.1016/j.jss.2006.07.009

    Article  Google Scholar 

  • Chapin N (2000) Software maintenance Types-A fresh view. In: International conference on software maintenance, pp 247–252. doi:10.1109/ICSM.2000.883056

  • Chaturvedi KK, Singh VB (2012) Determining bug severity using machine learning techniques. In: CSI sixth international conference on software engineering, IEEE, pp 1–6. doi:10.1109/CONSEG.2012.6349519

  • Chawla I, Singh SK (2014) Automatic bug labeling using semantic information from LSI. In: Seventh international conference on contemporary computing, IEEE, pp 376–381. doi:10.1109/IC3.2014.6897203

  • Cubranic M (2004) Automatic bug triage using text categorization. In: International conference of software engineering and knowledge engineering, pp 1–6

  • Dommati SJ et al (2012) Bug classification: feature extraction and comparison of event model using Naïve Bayes approach. In: International conference on recent trends in computer and information engineering, pp 8–12

  • Garcia HV, Shihab E (2014) Characterizing and predicting blocking bugs in open source projects categories and subject descriptors. In: Proceedings of the 11th working conference on mining software repositories, pp 72–81

  • Giger E et al (2010) Predicting the fix time of bugs. In: Proceedings of the 2nd international workshop on recommendation systems for software engineering—RSSE. ACM Press, New York, NY, USA, pp 52–56. doi:10.1145/1808920.1808933

  • Goyal N et al (2015) Advances in intelligent informatics, advances in intelligent systems and computing, vol 320. Springer International Publishing, Cham. doi:10.1007/978-3-319-11218-3

    Google Scholar 

  • Guo PJ et al (2010) Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, pp 495–504

  • Herraiz I et al (2008) Towards a simplification of the bug report form in eclipse. In: Proceedings of the international working conference on mining software repositories, pp 145–148

  • Hooimeijer P, Weimer W (2007) Modeling bug report quality categories and subject descriptors. In: Proceedings of the twenty-second IEEE/ACM international conference on automated software engineering, pp 34–43

  • Jalbert N, Weimer W (2008) Automated duplicate detection for bug tracking systems. In: IEEE international conference on dependable systems and networks With FTCS and DCC (DSN) pp 52–61. doi:10.1109/DSN.2008.4630070

  • Jaweria Kanwal OM (2010) Managing open bug repositories through bug report prioritization using SVMs. In: Proceedings of the 4th international conference on open-source systems and technologies, ICOSST, pp 1–7

  • Jeong G, Kim S, Zimmermann T (2009) Improving bug triage with bug tossing graphs. In: Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, pp 111–120

  • Jianhong Z et al (2010) A neural network based approach for modeling of severity of defects in function based software systems. In: International conference on electronics and information engineering, vol 2(Iceie), pp V2-568–V2-575. doi:10.1109/ICEIE.2010.5559743

  • Kanwal J, Maqbool O (2012) Bug prioritization to facilitate bug report triage. J Comput Sci Technol 27(2):397–412. doi:10.1007/s11390-012-1230-3

    Article  Google Scholar 

  • Karaboga D, Ozturk C (2011) A novel clustering approach: Artificial Bee Colony (ABC) algorithm. Appl Soft Comput 11(1):652–657. doi:10.1016/j.asoc.2009.12.025

    Article  Google Scholar 

  • Kaur M, Garg SK (2014) Survey on clustering techniques in data mining for software engineering. Int J Adv Innov Res 3(4):238–243

    Google Scholar 

  • Kim S, Ernst MD (2007a) Prioritizing warning categories by analyzing software history. In: Fourth international workshop on mining software repositories, pp 27–27. doi:10.1109/MSR.2007.26

  • Kim S, Ernst MD (2007b) Which warnings should I fix first? Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering—ESEC-FSE, p 45. doi:10.1145/1287624.1287633

  • Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Engineering 2:1051. doi:10.1145/1134285.1134500

    Google Scholar 

  • Kremenek T, Engler D (2003) Z-ranking: using statistical analysis to counter the impact of static analysis approximations. In: Static analysis. doi:10.1007/3-540-44898-5_16

  • Lamkanfi A et al (2010) Predicting the severity of a reported bug. In: 7th IEEE working conference on mining software repositories, IEEE, pp 1–10. doi:10.1109/MSR.2010.5463284

  • Lamkanfi A et al (2011) Comparing mining algorithms for predicting the severity of a reported bug. In: 15th European conference on software maintenance and reengineering, pp 249–258. doi:10.1109/CSMR.2011.31

  • Lazar A et al (2014) Generating duplicate bug datasets. In: Proceedings of the 11th working conference on mining software repositories, pp 392–395. doi:10.1145/2597073.2597128

  • Menzies T, Marcus A (2008) Automated severity assessment of software defect reports. In: IEEE international conference on software maintenance, pp 346–355. doi:10.1109/ICSM.2008.4658083

  • Mishra S, Kumar S (2015) Survey on types of bug reports and general classification techniques in data mining. Int J Comput Sci Inf Technol 6(2):1578–1583

    Google Scholar 

  • Nagwani NK, Verma S (2011) Software bug classification using suffix tree clustering (STC) algorithm. Int J Comput Sci Technol 4333:36–41

    Google Scholar 

  • Nagwani NK, Verma S (2012) CLUBAS: an algorithm and Java based tool for software bug classification using bug attributes similarities. J Softw Eng Appl 5(6):436–447. doi:10.4236/jsea.2012.56050

    Article  Google Scholar 

  • Naseem R et al (2013) Cooperative clustering for software modularization. J Syst Softw 86(8):2045–2062. doi:10.1016/j.jss.2013.03.080

    Article  Google Scholar 

  • Nigam A et al (2012) Classifying the bugs using multi-class semi supervised support vector machine. In: International conference on pattern recognition, informatics and medical engineering, pp 393–397. doi:10.1109/ICPRIME.2012.6208378

  • Pawlak Z et al (1995) Rough sets. Commun ACM 38(11):88–95. doi:10.1145/219717.219791

    Article  Google Scholar 

  • Podgurski A et al (2003) Automated support for classifying software failure reports. In: Proceedings of 25th international conference on software engineering, vol 6, pp 465–475. doi:10.1109/ICSE.2003.1201224

  • Punitha K, Chitra S (2013) Software defect prediction using software metrics—a survey. In: International conference on information communication and embedded systems, pp 2–5

  • Rus V et al (2009) Towards architecture-centric collaborative software development. In: Zhurnal Eksperimental’noi i Teoreticheskoi Fiziki

  • Saha RK et al (2014) An empirical study of long lived bugs. In: Software evolution week—IEEE conference on software maintenance, reengineering, and reverse engineering, IEEE, pp 144–153. doi:10.1109/CSMR-WCRE.2014.6747164

  • Sharma M et al (2012) Predicting the priority of a reported bug using machine learning techniques and cross project validation. In: 12th International conference on intelligent systems design and applications (ISDA), IEEE, pp 539–545. doi:10.1109/ISDA.2012.6416595

  • Somasun D, Murphy GC (2012) Automatic categorization of bug reports using latent Dirichlet allocation. In: Proceedings of the 5th India software engineering conference, pp 125–130. doi:10.1145/2134254.2134276

  • Thung F et al (2012) When would this bug get reported? In: 28th IEEE international conference on software maintenance, IEEE, pp 420–429. doi:10.1109/ICSM.2012.6405302

  • Tian Y et al (2012) Information retrieval based nearest neighbor classification for fine-grained bug severity prediction. In: 19th Working conference on reverse engineering, pp 215–224. doi:10.1109/WCRE.2012.31

  • Tian Y et al (2013) DRONE: predicting priority of reported bugs by multi-factor analysis. In: IEEE International conference on software maintenance, IEEE, pp 200–209. doi:10.1109/ICSM.2013.31

  • Vans AM (1999) Program understanding behavior during corrective maintenance of large-scale software. Int J Hum Comput Stud 51:31–70

    Article  Google Scholar 

  • Xia X et al (2014) An empirical study of bug report field reassignment. In: Software evolution week—IEEE conference on software maintenance, reengineering, and reverse engineering, IEEE, pp 174–183. doi:10.1109/CSMR-WCRE.2014.6747167

  • Xuan J et al (2012) Developer prioritization in bug repositories. In: 34th International conference on software engineering (ICSE), IEEE, pp 25–35. doi:10.1109/ICSE.2012.6227209

  • Yang G et al (2014) Towards Semi-automatic bug triage and severity prediction based on topic model and multi-feature of bug reports. In: IEEE 38th annual computer software and applications conference, IEEE, pp 97–106. doi:10.1109/COMPSAC.2014.16

  • Yu L et al (2010) Predicting defect priority based on neural networks. Adv Data Min Appl Lect Notes Comput Sci 6441:356–367

    Article  Google Scholar 

  • Zanetti MS et al (2013) Categorizing bugs with social networks: a case study on four open source software communities. In: 35th International conference on software engineering, IEEE, pp 1032–1041. doi:10.1109/ICSE.2013.6606653

  • Zhang J et al (2015) A survey on bug-report analysis. Sci China Inf Sci 58(2):1–24. doi:10.1007/s11432-014-5241-2

    Article  Google Scholar 

  • Zhang T, Lee B (2013) A hybrid bug triage algorithm for developer recommendation. In: Proceedings of the 28th annual ACM symposium on applied computing, p 1088. doi:10.1145/2480362.2480568

Download references

Acknowledgments

Authors whose names appear on the submission have contributed sufficiently to the scientific work and therefore share collective responsibility and accountability for the results.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jamal Uddin.

Ethics declarations

Informed consent

Consent to submit has been received explicitly from all co-authors, as well as from the responsible authorities—tacitly or explicitly—at the institute/organization where the work has been carried out, before the work is submitted.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Uddin, J., Ghazali, R., Deris, M.M. et al. A survey on bug prioritization. Artif Intell Rev 47, 145–180 (2017). https://doi.org/10.1007/s10462-016-9478-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10462-016-9478-6

Keywords

Navigation