Emotion Based Automated Priority Prediction for Bug Reports

Issue tracking systems allow users to report bugs. Bug reports often contain product name, product component, description, and severity. Based on such information, triagers often manually prioritize the bug reports for investigation. However, manual prioritization is time consuming and cumbersome. DRONE is an automated state-of-the-art approach that recommends the priority level information of the bug reports. However, its performance for all levels of priorities is not uniform and may be improved. To this end, in this paper, we propose an emotion-based automatic approach to predict the priority for a report. First, we exploit natural language processing techniques to preprocess the bug report. Second, we identify the emotion-words that are involved in the description of the bug report and assign it an emotion value. Third, we create a feature vector for the bug report and predict its priority with a machine learning classifier that is trained with history data collected from the Internet. We evaluate the proposed approach on Eclipse open-source projects and the results of the cross-project evaluation suggest that the proposed approach outperforms the state-of-the-art. On average, it improves the F1 score by more than 6%.

[1]  Yoram Singer,et al.  BoosTexter: A Boosting-based System for Text Categorization , 2000, Machine Learning.

[2]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[3]  John Anvik,et al.  Assisting bug report triage through recommendation , 2007 .

[4]  Rozaida Ghazali,et al.  A survey on bug prioritization , 2017, Artificial Intelligence Review.

[5]  Ram Mohana Reddy Guddeti,et al.  Bug Classification: Feature Extraction and Comparison of Event Model using Naïve Bayes Approach , 2013, ArXiv.

[6]  Dawson R. Engler,et al.  Z-Ranking: Using Statistical Analysis to Counter the Impact of Static Analysis Approximations , 2003, SAS.

[7]  Onaiza Maqbool,et al.  Bug Prioritization to Facilitate Bug Report Triage , 2012, Journal of Computer Science and Technology.

[8]  Gerardo Canfora,et al.  Supporting change request assignment in open source development , 2006, SAC.

[9]  Chadd C. Williams,et al.  Automatic mining of source code repositories to improve bug finding techniques , 2005, IEEE Transactions on Software Engineering.

[10]  Mario Linares Vásquez,et al.  Auto-completing bug reports for Android applications , 2015, ESEC/SIGSOFT FSE.

[11]  Ye Yang,et al.  DRETOM: developer recommendation based on topic models for bug resolution , 2012, PROMISE '12.

[12]  Fang Wu,et al.  Predicting Defect Priority Based on Neural Networks , 2010, ADMA.

[13]  Bin Wang,et al.  Automated support for classifying software failure reports , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[14]  Serge Demeyer,et al.  Comparing Mining Algorithms for Predicting the Severity of a Reported Bug , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[15]  Tao Zhang,et al.  Predicting severity of bug report by mining bug repository with concept profile , 2015, SAC.

[16]  Khairullah Khan,et al.  A Review of Machine Learning Algorithms for Text-Documents Classification , 2010 .

[17]  Steven Bird,et al.  NLTK: The Natural Language Toolkit , 2002, ACL 2006.

[18]  Muhammad Zubair Asghar,et al.  A Unified Framework for Creating Domain Dependent Polarity Lexicons from User Generated Reviews , 2015, PloS one.

[19]  He Jiang,et al.  Developer prioritization in bug repositories , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[20]  Tao Zhang,et al.  Towards Semi-automatic Bug Triage and Severity Prediction Based on Topic Model and Multi-feature of Bug Reports , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[21]  Fazal Masud Kundi,et al.  Medical opinion lexicon: an incremental model for mining health reviews , 2014 .

[22]  David Lo,et al.  DRONE: Predicting Priority of Reported Bugs by Multi-factor Analysis , 2013, ICSM.

[23]  Michel R. V. Chaudron,et al.  Automated prediction of defect severity based on codifying design knowledge using ontologies , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[24]  Chris F. Kemerer,et al.  Software complexity and software maintenance: A survey of empirical research , 1995, Ann. Softw. Eng..

[25]  Tao Zhang,et al.  Towards more accurate severity prediction and fixer recommendation of software bugs , 2016, J. Syst. Softw..

[26]  Tao Xie,et al.  An approach to detecting duplicate bug reports using natural language and execution information , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[27]  Shadi Banitaan,et al.  Bug Reports Prioritization: Which Features and Classifier to Use? , 2013, 2013 12th International Conference on Machine Learning and Applications.

[28]  K. K. Chaturvedi,et al.  Determining Bug severity using machine learning techniques , 2012, 2012 CSI Sixth International Conference on Software Engineering (CONSEG).

[29]  Steven Bird,et al.  NLTK: The Natural Language Toolkit , 2002, ACL.

[30]  M. Kholief,et al.  Bug fix-time prediction model using naïve Bayes classifier , 2012, 2012 22nd International Conference on Computer Theory and Applications (ICCTA).

[31]  Kerstin Denecke,et al.  Using SentiWordNet for multilingual sentiment analysis , 2008, 2008 IEEE 24th International Conference on Data Engineering Workshop.

[32]  Josef Steinberger,et al.  Creating Sentiment Dictionaries via Triangulation , 2011, Decis. Support Syst..

[33]  Tim Menzies,et al.  Automated severity assessment of software defect reports , 2008, 2008 IEEE International Conference on Software Maintenance.