Advertisement

Multi-attribute dependent bug severity and fix time prediction modeling

  • Meera Sharma
  • Madhu Kumari
  • V. B. SinghEmail author
Original Article

Abstract

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), Naïve 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.

Keywords

Prediction model Bug severity Bug fix time Summary weight Bug age 

Notes

References

  1. Abdelmoez W, Kholief M, Elsalmy FM (2012) Bug fix time prediction model using naıve bayes classifier. In: 2012 22nd international conference on computer theory and applications (ICCTA). IEEE, pp 167–172Google Scholar
  2. Akbarinasaji S, Caglayan B, Bener A (2018) Predicting bug-fixing time: a replication study using an open source software project. J Syst Softw 136:173–186CrossRefGoogle Scholar
  3. Anbalagan P, Vouk M (2009) On predicting the time taken to correct bug reports in open source projects. In: IEEE international conference on software maintenance, 2009. ICSM 2009. IEEE, pp 523–526Google Scholar
  4. Bhattacharya P, Neamtiu I (2011) Bug-fix time prediction models: can we do better? In: Proceedings of the 8th working conference on mining software repositories. ACM, pp 207–210Google Scholar
  5. Chaturvedi K, Singh V (2012) An empirical comparison of machine learning techniques in predicting the bug severity of open and closed source projects. Int J Open Source Softw Process (IJOSSP) 4(2):32–59CrossRefGoogle Scholar
  6. Giger E, Pinzger M, Gall H (2010) Predicting the fix time of bugs. In: Proceedings of the 2nd international workshop on recommendation systems for software engineering. ACM, pp 52–56Google Scholar
  7. Guo PJ, Zimmermann T, Nagappan N, Murphy B (2010) Characterizing and predicting which bugs get fixed: an empirical study of microsoft windows. In: 2010 ACM/IEEE 32nd international conference on software engineering, vol 1. IEEE, pp 495–504Google Scholar
  8. Habayeb M, Murtaza SS, Miranskyy A, Bener AB (2017) On the use of hidden markov model to predict the time to fix bugs. IEEE Trans Softw Eng 44(12):1224–1244CrossRefGoogle Scholar
  9. Herraiz I, German DM, Gonzalez-Barahona JM, Robles G (2008) Towards a simplification of the bug report form in Eclipse. In: MSR’08: Proceedings of the 2008 international working conference on mining software repositories. ACM, pp 145–148Google Scholar
  10. Jin K, Dashbalbar A, Yang G, Lee JW, Lee B (2016) Bug severity prediction by classifying normal bugs with text and meta-field information. Adv Sci Technol Lett 129:19–24CrossRefGoogle Scholar
  11. Kim S, Whitehead Jr EJ (2006) How long did it take to fix bugs? In: Proceedings of the 2006 international workshop on mining software repositories. ACM, pp 173–174Google Scholar
  12. Lamkanfi A, Demeyer S, Giger E, Goethals B (2010) Predicting the severity of a reported bug. In: 2010 7th IEEE working conference on mining software repositories (MSR 2010). IEEE, pp 1–10Google Scholar
  13. Lamkanfi A, Demeter S, Soetens QD, Verdonck T (2011) Comparing mining algorithms for predicting the severity of a reported bug. In: 15th European conference on software maintenance and reengineering (CSMR). IEEE, pp 249–258Google Scholar
  14. Menzies T, Marcus A (2008) Automated severity assessment of software defect reports. In: IEEE International conference on software maintenance, 2008. ICSM 2008. IEEE, pp 346–355Google Scholar
  15. Mierswa I, Wurst M, Klinkenberg R, Scholz M, Euler T (2006) Yale: rapid prototyping for complex data mining tasks. In: Proceedings of the 12th ACM SIGKDD international conference on knowledge discovery and data mining. ACM, pp 935–940Google Scholar
  16. Mockus A, Fielding RT, Herbsleb JD (2002) Two case studies of open source software development: apache and mozilla. ACM Trans Softw Eng Methodol (TOSEM) 11(3):309–346CrossRefGoogle Scholar
  17. Murphy-Hill E, Zimmermann T, Bird C, Nagappan N (2013) The design of bug fixes. In: 2013 35th international conference on software engineering (ICSE). IEEE, pp 332–341Google Scholar
  18. Myers L, Sirois MJ (2014) Spearman correlation coefficients, differences between. In: Balakrishnan N, Colton T, Everitt B, Piegorsch WW, Ruggeri F, Teugels JL (eds) Wiley StatsRef: statistics reference online. Wiley, New YorkGoogle Scholar
  19. Nguyen TT, Nguyen AT, Nguyen TN (2014) Topic-based, time-aware bug assignment. ACM SIGSOFT Softw Eng Notes 39:1–4CrossRefGoogle Scholar
  20. Porter MF (1980) An algorithm for suffix stripping. Program 14(3):130–137CrossRefGoogle Scholar
  21. Saha RK, Lawall J, Khurshid S, Perry DE (2015) Are these bugs really normal? In: Proceedings of the 12th working conference on mining software repositories. IEEE Press, pp 258–268Google Scholar
  22. Sharma M, Kumari M, Singh V (2013) Understanding the meaning of bug attributes and prediction models. In: Proceedings of the 5th IBM collaborative academia research exchange workshop. ACM, p 15Google Scholar
  23. Sharma M, Kumari M, Singh VB (2015) The way ahead for bug-fix time prediction. In 3rd international workshop on quantitative approaches to software quality, p 33Google Scholar
  24. Singh VB, Misra S, Sharma M (2017) Bug severity in cross project context and identifying training candidates. J Inf Knowl Manag 16(1):1750005.  https://doi.org/10.1142/s0219649217500058 CrossRefGoogle Scholar
  25. Tian Y, Lo D, Sun C (2012) Information retrieval based nearest neighbor classification for fine-grained bug severity prediction. In: 2012 19th working conference on reverse engineering. IEEE, pp 215–224Google Scholar
  26. Tian Y, Ali N, Lo D, Hassan AE (2016) On the unreliability of bug severity data. Empir Softw Eng 21(6):2298–2323CrossRefGoogle Scholar
  27. UCLA A (2007) Introduction to sas. UCLA: Academic Technology Services, Statistical Consulting Group. http://www.ats.ucla.edu/stat/sas/notes2/. Accessed 24, Nov 2007
  28. Weiss C, Premraj R, Zimmermann T, Zeller A (2007) How long will it take to fix this bug? In: Proceeding of the working conference on mining software repositories (MSR ‘07). IEEE Computer Society, Washington, DC, USA, pp 1–8Google Scholar
  29. Xia X, Lo D, Shihab E, Wang X, Yang X (2015) Elblocker: predicting blocking bugs with ensemble imbalance learning. Inf Softw Technol 61:93–106CrossRefGoogle Scholar
  30. Yang G, Zhang T, Lee B (2014) Towards semi-automatic bug triage and severity prediction based on topic model and multi-feature of bug reports. In: 2014 IEEE 38th annual computer software and applications conference (COMPSAC). IEEE, pp 97–106Google Scholar
  31. Yu Y, Wang H, Yin G, Wang T (2016) Reviewer recommendation for pull-requests in GitHub: what can we learn from code review and bug assignment? Inf Softw Technol 74:204–218CrossRefGoogle Scholar
  32. Zhang H, Gong L, Versteeg S (2013) Predicting bug-fixing time: an empirical study of commercial software projects. In: Proceedings of the 2013 international conference on software engineering. IEEE Press, pp 1042–1051Google Scholar
  33. Zhang T, Yang G, Lee B, Chan AT (2015) Predicting severity of bug report by mining bug repository with concept profile. In: Proceedings of the 30th annual ACM symposium on applied computing. ACM, pp 1553–1558Google Scholar
  34. Zhang T, Chen J, Yang G, Lee B, Luo X (2016a) Towards more accurate severity prediction and fixer recommendation of software bugs. J Syst Softw 117:166–184CrossRefGoogle Scholar
  35. Zhang T, Yang G, Lee B, Chan AT (2016b) Guiding bug triage through developer analysis in bug reports. Int J Softw Eng Knowl Eng 26(03):405–431CrossRefGoogle Scholar

Copyright information

© The Society for Reliability Engineering, Quality and Operations Management (SREQOM), India and The Division of Operation and Maintenance, Lulea University of Technology, Sweden 2019

Authors and Affiliations

  1. 1.Swami Shraddhanand CollegeUniversity of DelhiDelhiIndia
  2. 2.Delhi College of Arts and CommerceUniversity of DelhiDelhiIndia

Personalised recommendations