Multi-attribute dependent bug severity and fix time prediction modeling

A software bug is characterized by many features/attributes out of which some are entered during the time of bug reporting whereas others are entered during the bug fixing. Severity is an important bug attribute and critical factor in deciding how soon it needs to be fixed. During the initial period of bug reporting, its severity changes and get stabilizes over a period of time. Severity identification is a major task of triagers, whose success affects the bug fix time. The prediction of bug fix time will help in estimating the maintenance efforts and better software project management. We investigated the association among the bug attributes and built multi-attribute based classification and regression models for bug severity and fix time prediction. Bug severity and fix time prediction models have been built using the combinations of different independent bug attributes. We have used different classification and regression techniques, namely Support Vector Machine (SVM), Naive Bayes (NB), k-Nearest Neighbors (k-NN), Ordinal Regression (OR), Fuzzy Linear Regression (FLR), Fuzzy Multi Linear Regression (FMLR), Multiple Linear Regression (MLR), Support Vector Regression (SVR) and k-Nearest Neighbors Regression (k-NNR) to build the models. Our models are tested on the real world datasets from famous open source project: Mozilla. k-NN gives better performance than NB and SVM in terms of precision and f-measure for bug severity prediction. In terms of goodness of fit, SVR is better than MLR and k-NNR for bug fix time prediction. The proposed mechanism is able to predict severity and fix time for newly reported bugs. Empirical results reveal that the multi-attribute based classification and regression models work well for bug severity and fix time prediction. The two newly derived attributes Summary weight and Bug age are found to be good predictors of severity across all the used techniques. In case of bug fix time prediction, Bug age is found to be a good predictor.

[1]  Sunghun Kim,et al.  How long did it take to fix bugs? , 2006, MSR '06.

[2]  Bora Caglayan,et al.  Predicting bug-fixing time: A replication study using an open source software project , 2018, J. Syst. Softw..

[3]  David Lo,et al.  On the unreliability of bug severity data , 2016, Empirical Software Engineering.

[4]  Byungjeong Lee,et al.  Bug Severity Prediction by Classifying Normal Bugs with Text and Meta-Field Information , 2016 .

[5]  Philip J. Guo,et al.  Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[6]  M. F. Porter,et al.  An algorithm for suffix stripping , 1997 .

[7]  Mladen A. Vouk,et al.  On predicting the time taken to correct bug reports in open source projects , 2009, 2009 IEEE International Conference on Software Maintenance.

[8]  K. K. Chaturvedi,et al.  An Empirical Comparison of Machine Learning Techniques in Predicting the Bug Severity of Open and Closed Source Projects , 2012, Int. J. Open Source Softw. Process..

[9]  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).

[10]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[11]  Ingo Mierswa,et al.  YALE: rapid prototyping for complex data mining tasks , 2006, KDD '06.

[12]  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.

[13]  Emerson R. Murphy-Hill,et al.  The design of bug fixes , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[14]  Sarfraz Khurshid,et al.  Are These Bugs Really "Normal"? , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[15]  David Lo,et al.  ELBlocker: Predicting blocking bugs with ensemble imbalance learning , 2015, Inf. Softw. Technol..

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

[17]  L. Myers,et al.  Spearman Correlation Coefficients, Differences between , 2004 .

[18]  Harald C. Gall,et al.  Predicting the fix time of bugs , 2010, RSSE '10.

[19]  Liang Gong,et al.  Predicting bug-fixing time: An empirical study of commercial software projects , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[20]  Daniel M. Germán,et al.  Towards a simplification of the bug report form in eclipse , 2008, MSR '08.

[21]  Meera Sharma,et al.  The Way Ahead for Bug-fix time Prediction , 2015, QuASoQ/WAWSE/CMCE@APSEC.

[22]  Ayse Basar Bener,et al.  On the Use of Hidden Markov Model to Predict the Time to Fix Bugs , 2018, IEEE Transactions on Software Engineering.

[23]  David Lo,et al.  Information Retrieval Based Nearest Neighbor Classification for Fine-Grained Bug Severity Prediction , 2012, 2012 19th Working Conference on Reverse Engineering.

[24]  Meera Sharma,et al.  Understanding the meaning of bug attributes and prediction models , 2013, I-CARE '13.

[25]  Sanjay Misra,et al.  Bug Severity Assessment in Cross Project Context and Identifying Training Candidates , 2017, J. Inf. Knowl. Manag..

[26]  Gang Yin,et al.  Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? , 2016, Inf. Softw. Technol..

[27]  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.

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

[29]  Iulian Neamtiu,et al.  Bug-fix time prediction models: can we do better? , 2011, MSR '11.

[30]  Tao Zhang,et al.  Guiding Bug Triage through Developer Analysis in Bug Reports , 2016, Int. J. Softw. Eng. Knowl. Eng..

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

[32]  Bart Goethals,et al.  Predicting the severity of a reported bug , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[33]  Anh Tuan Nguyen,et al.  Topic-based, time-aware bug assignment , 2014, SOEN.