DOI QR코드

DOI QR Code

Systematic Review of Bug Report Processing Techniques to Improve Software Management Performance

  • Received : 2019.02.01
  • Accepted : 2019.04.18
  • Published : 2019.08.31

Abstract

Bug report processing is a key element of bug fixing in modern software maintenance. Bug reports are not processed immediately after submission and involve several processes such as bug report deduplication and bug report triage before bug fixing is initiated; however, this method of bug fixing is very inefficient because all these processes are performed manually. Software engineers have persistently highlighted the need to automate these processes, and as a result, many automation techniques have been proposed for bug report processing; however, the accuracy of the existing methods is not satisfactory. Therefore, this study focuses on surveying to improve the accuracy of existing techniques for bug report processing. Reviews of each method proposed in this study consist of a description, used techniques, experiments, and comparison results. The results of this study indicate that research in the field of bug deduplication still lacks and therefore requires numerous studies that integrate clustering and natural language processing. This study further indicates that although all studies in the field of triage are based on machine learning, results of studies on deep learning are still insufficient.

Keywords

Bug Report;Clustering;Duplication Detection;Information Retrieval;Machine Learning;Priority;Severity;Software Developer Assignment;Software Management;Triage

Acknowledgement

Supported by : National Research Foundation of Korea (NRF)

References

  1. S. Just, R. Premraj, and T. Zimmermann, "Towards the next generation of bug tracking systems," in Proceedings of 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, Herrsching am Ammersee, Germany, 2008, pp. 82-85.
  2. N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim, "Duplicate bug reports considered harmful. really?," in Proceedings of 2008 IEEE International Conference on Software Maintenance, Beijing, China, 2008, pp. 337-345.
  3. T. Dal Sasso and M. Lanza, "In* bug: visual analytics of bug repositories," in Proceedings of 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMRWCRE), Antwerp, Belgium, pp. 415-419.
  4. A. Hora, N. Anquetil, S. Ducasse, M. Bhatti, C. Couto, M. T. Valente, and J. Martins, "Bug maps: a tool for the visual exploration and analysis of bugs," in Proceedings of 2012 16th European Conference on Software Maintenance and Reengineering, Szeged, Hungary, 2012, pp. 523-526.
  5. M. D'Ambros, "Supporting software evolution analysis with historical dependencies and defect information," in Proceedings of 2008 IEEE International Conference on Software Maintenance, Beijing, China, 2008, pp. 412-415.
  6. Life cycle of a bug [Online]. Available: https://www.bugzilla.org/docs/2.18/html/lifecycle.html.
  7. P. Knab, B. Fluri, H. C. Gall, and M. Pinzger, "Interactive views for analyzing problem reports," in Proceedings of 2009 IEEE International Conference on Software Maintenance, Edmonton, Canada, 2009, pp. 527-530.
  8. Y. Takama and T. Kurosawa, "Application of monitoring support visualization to bug tracking systems," in Proceedings of 2013 IEEE International Symposium on Industrial Electronics, Taipei, Taiwan, 2013, pp. 1-5.
  9. T. Dal Sasso, A. Mocci, and M. Lanza, "What makes a satisficing bug report?," in Proceedings of 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS), Vienna, Austria, 2016, pp. 164-174.
  10. J. Anvik, L. Hiew, and G. C. Murphy, "Coping with an open bug repository," in Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange, San Diego, CA, 2005, pp. 35-39.
  11. J. Anvik, L. Hiew, and G. C. Murphy, "Who should fix this bug?," in Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, 2006, pp. 361-370.
  12. Bug report: BE-268 in JIRA [Online]. Available: https://jira.hyperledger.org/projects/BE/issues/BE-268?filter=allopenissues
  13. MantisBT, "Bug report: projects and category (not global categories)," 2013 [Online]. Available: https://mantisbt.org/bugs/view.php?id=15501.
  14. Bug report: Bug 1449567 in Bugzilla [Online]. Available: https://bugzilla.mozilla.org/show_bug.cgi?id=1449567
  15. A. Alipour, A. Hindle, and E. Stroulia, "A contextual approach towards more accurate duplicate bug report detection," in Proceedings of 2013 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA, 2013, pp. 183-192.
  16. A. T. Nguyen, T. T. Nguyen, T. N. Nguyen, D. Lo, and C. Sun, "Duplicate bug report detection with a combination of information retrieval and topic modeling," in Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, Essen, Germany, 2012, pp. 70-79.
  17. C. Sun, D. Lo, X. Wang, J. Jiang, and S. C. Khoo, "A discriminative model approach for accurate duplicate bug report retrieval," in Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town, South Africa, 2010, pp. 45-54.
  18. P. Runeson, M. Alexandersson, and O. Nyholm, "Detection of duplicate defect reports using natural language processing," in Proceedings of the 29th International Conference on Software Engineering, Minneapolis, MN, 2007, pp. 499-510.
  19. C. Sun, D. Lo, S. C. Khoo, and J. Jiang, "Towards more accurate retrieval of duplicate bug reports," in Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, Lawrence, KS, 2011, pp. 253-262.
  20. N. Jalbert and W. Weimer, "Automated duplicate detection for bug tracking systems," in Proceedings of 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN), Anchorage, AK, 2008, pp. 52-61.
  21. D. M. Blei, A. Y. Ng, and M. I. Jordan, "Latent Dirichlet allocation," Journal of Machine Learning Research, vol. 3, pp. 993-1022, 2003.
  22. S. S. Baek, G. S. Yang, J. W. Lee, and B. J. Lee, "Detecting duplicate bug reports for reducing developers' workload," in Proceedings of the 2016 KISS Conference, 2016, pp. 634-636.
  23. S. J. Dommati, R. Agrawal, R. M. Reddy G, and S. S. Kamath, "Bug classification: feature extraction and comparison of event model using naive Bayes approach," 2013 [Online]. Available: https://arxiv.org/abs/1304.1677.
  24. J. Zou, L. Xu, M. Yang, X. Zhang, J. Zeng, and S. Hirokawa, "Automated duplicate bug report detection using multi-factor analysis," IEICE Transactions on Information and Systems, vol. 99, no. 7, pp. 1762-1775, 2016.
  25. W. Maalej and H. Nabil, "Bug report, feature request, or simply praise? On automatically classifying app reviews," in Proceedings of 2015 IEEE 23rd International Requirements Engineering Conference (RE), Ottawa, Canada, 2015, pp. 116-125.
  26. A. Sureka and P. Jalote, "Detecting duplicate bug report using character n-gram-based features," in Proceedings of 2010 Asia Pacific Software Engineering Conference, Sydney, Australia, 2010, pp. 366-374.
  27. S. Banitaan and M. Alenezi, "Tram: an approach for assigning bug reports using their metadata," in Proceedings of 2013 3rd International Conference on Communications and Information Technology (ICCIT), Beirut, Lebanon, 2013, pp. 215-219.
  28. V. Guana, F. Rocha, A. Hindle, and E. Stroulia, "Do the stars align? Multidimensional analysis of Android's layered architecture," in Proceedings of the 9th IEEE Working Conference on Mining Software Repositories, Zurich, Switzerland, 2012, pp. 124-127.
  29. A. Hindle, N. A. Ernst, M. W. Godfrey, and J. Mylopoulos, "Automated topic naming to support cross-project analysis of software maintenance activities," in Proceedings of the 8th Working Conference on Mining Software Repositories, Honolulu, HI, 2011, pp. 163-172.
  30. D. Han, C. Zhang, X. Fan, A. Hindle, K. Wong, and E. Stroulia, "Understanding android fragmentation with topic analysis of vendor-specific bugs," in Proceedings of 2012 19th Working Conference on Reverse Engineering, Kingston, Canada, 2012, pp. 83-92.
  31. K. Aggarwal, F. Timbers, T. Rutgers, A. Hindle, E. Stroulia, and R. Greiner, "Detecting duplicate bug reports with software engineering domain knowledge," in Proceedings of 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, Montreal, Canada, 2015, pp. 211-220.
  32. L. Hiew, "Assisted detection of duplicate bug reports," M.S. thesis, University of British Columbia, Vancouver, Canada, 2006.
  33. R. P. Gopalan and A. Krishna, "Duplicate bug report detection using clustering," in Proceedings of 2014 23rd Australian Software Engineering Conference, Milsons Point, Australia, 2014, pp. 104-109.
  34. J. Chang and D. Blei, "Relational topic models for document networks," in Proceedings of the 12th International Conference on Artificial Intelligence and Statistics, Clearwater, FL, 2009, pp. 81-88.
  35. M. J. Lin, C. Z. Yang, C. Y. Lee, and C. C. Chen, "Enhancements for duplication detection in bug reports with manifold correlation features," Journal of Systems and Software, vol. 121, pp. 223-233, 2016. https://doi.org/10.1016/j.jss.2016.02.022
  36. Y. Tian, C. Sun, and D. Lo, "Improved duplicate bug report identification," in Proceedings of 2012 16th European Conference on Software Maintenance and Reengineering, Szeged, Hungary, 2012, pp. 385-390.
  37. X. Wang, D. Lo, J. Jiang, L. Zhang, and H. Mei, "Extracting paraphrases of technical terms from noisy parallel software corpora," in Proceedings of the ACL-IJCNLP 2009 Conference Short Papers, Singapore, 2009, pp. 197-200.
  38. J. A. Suykens and J. Vandewalle, "Least squares support vector machine classifiers," Neural Processing Letters, vol. 9, no. 3, pp. 293-300, 1999. https://doi.org/10.1023/A:1018628609742
  39. S. Tong and E. Chang, "Support vector machine active learning for image retrieval," in Proceedings of the 9th ACM International Conference on Multimedia, Ottawa, Canada, 2001, pp. 107-118.
  40. H. Zhang, A. C. Berg, M. Maire, and J. Malik, "SVM-KNN: discriminative nearest neighbor classification for visual category recognition," in Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, New York, NY, 2006, pp. 2126-2136.
  41. A. McCallum and K. Nigam, "A comparison of event models for naive Bayes text classification," in Proceedings of AAAI-98 Workshop on Learning for Text Categorization, Madison, WI, 1998, pp. 41-48.
  42. D. D. Lewis, "Naive (Bayes) at forty: the independence assumption in information retrieval," in Machine Learning: ECML-98. Heidelberg: Springer, 1998, pp. 4-15.
  43. A. Y. Ng and M. I. Jordan, "On discriminative vs. generative classifiers: a comparison of logistic regression and naive Bayes," Advances in Neural Information Processing Systems, vol. 15, pp. 841-848, 2002.
  44. I. Rish, "An empirical study of the naive Bayes classifier," in Proceedings of IJCAI 2001 Workshop on Empirical Methods in Artificial Intelligence, Seattle, WA, 2001, pp. 41-46.
  45. J. Anvik and G. C. Murphy, "Reducing the effort of bug report triage: recommenders for developmentoriented decisions," ACM Transactions on Software Engineering and Methodology, vol. 20, no. 3, article no. 10, 2011.
  46. A. McCallum, "Multi-label text classification with a mixture model trained by EM," 1999 [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.888.
  47. D. Cubranic and G. Murphy, "Automatic bug triage using text categorization," in Proceedings of the 16th International Conference on Software Engineering & Knowledge Engineering, Banff, Canada, 2004, pp. 92-97.
  48. P. Bhattacharya and I. Neamtiu, "Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging," in Proceedings of 2010 IEEE International Conference on Software Maintenance, Timisoara, Romania, 2010, pp. 1-10.
  49. J. Kanwal and O. Maqbool, "Bug prioritization to facilitate bug report triage," Journal of Computer Science and Technology, vol. 27, no. 2, pp. 397-412, 2012. https://doi.org/10.1007/s11390-012-1230-3
  50. X. Peng, P. Zhou, J. Liu, and X. Chen, "Improving bug triage with relevant search," in Proceedings of the 29th International Conference on Software Engineering and Knowledge Engineering, Pittsburgh, PA, 2017, pp. 123-128.
  51. J. Xuan, H. Jiang, Z. Ren, and W. Zou, "Developer prioritization in bug repositories," in Proceedings of 2012 34th International Conference on Software Engineering (ICSE), Zurich, Switzerland, 2012, pp. 25-35.
  52. J. Xuan, H. Jiang, Y. Hu, Z. Ren, W. Zou, Z. Luo, and X. Wu, "Towards effective bug triage with software data reduction techniques," IEEE Transactions on Knowledge and Data Engineering, vol. 27, no. 1, pp. 264-280, 2014.
  53. G. Yang and B. Lee, "Predicting bug severity by utilizing topic model and bug report meta-field," KIISE Transactions on Computing Practices, vol. 21, no. 9, pp. 616-621, 2015. https://doi.org/10.5626/KTCP.2015.21.9.616
  54. G. Yang, T. Zhang, and B. Lee, "An emotion similarity based severity prediction of software bugs: a case study of open source projects," IEICE Transactions on Information and Systems, vol. 101, no. 8, pp. 2015-2026, 2018.
  55. W. Zhang, S. Wang, and O. Wang, "KSAP: an approach to bug report assignment using KNN search and heterogeneous proximity," Information and Software Technology, vol. 70, pp. 68-84, 2016. https://doi.org/10.1016/j.infsof.2015.10.004
  56. M. L. Zhang and Z. H. Zhou, "ML-KNN: a lazy learning approach to multi-label learning," Pattern Recognition, vol. 40, no. 7, pp. 2038-2048, 2007. https://doi.org/10.1016/j.patcog.2006.12.019
  57. X. Xia, D. Lo, X. Wang, and B. Zhou, "Accurate developer recommendation for bug resolution," in Proceedings of 2013 20th Working Conference on Reverse Engineering (WCRE), Koblenz, Germany, 2013, pp. 72-81.
  58. W. Wu, W. Zhang, Y. Yang, and Q. Wang, "Drex: developer recommendation with k-nearest-neighbor search and expertise ranking," in Proceedings of 2011 18th Asia-Pacific Software Engineering Conference, Ho Chi Minh, Vietnam, 2011, pp. 389-396.
  59. X. Xie, W. Zhang, Y. Yang, and Q. Wang, "Dretom: developer recommendation based on topic models for bug resolution," in Proceedings of the 8th International Conference on Predictive Models in Software Engineering, Lund, Sweden, 2012, pp. 19-28.
  60. A. Tamrawi, T. T. Nguyen, J. M. Al-Kofahi, and T. N. Nguyen, "Fuzzy set and cache-based approach for bug triaging," in Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, Szeged, Hungary, 2011, pp. 365-375.
  61. T. Zhang, J. Chen, G. Yang, B. Lee, and X. Luo, "Towards more accurate severity prediction and fixer recommendation of software bugs," Journal of Systems and Software, vol. 117, pp. 166-184, 2016. https://doi.org/10.1016/j.jss.2016.02.034
  62. H. M. Wallach, "Topic modeling: beyond bag-of-words," in Proceedings of the 23rd International Conference on Machine Learning, Pittsburgh, PA, 2006, pp. 977-984.
  63. J. Yang, Y. G. Jiang, A. G. Hauptmann, and C. W. Ngo, "Evaluating bag-of-visual-words representations in scene classification," in Proceedings of the International Workshop on Workshop on Multimedia Information Retrieval, Augsburg, Germany, 2007, pp. 197-206.
  64. B. Sriram, D. Fuhry, E. Demir, H. Ferhatosmanoglu, and M. Demirbas, "Short text classification in twitter to improve information filtering," in Proceedings of the 33rd International ACM SIGIR Conference on Research and Development in Information Retrieval, Geneva, Switzerland, 2010, pp. 841-842.
  65. S. Mani, A. Sankaran, and R. Aralikatte, "DeepTriage: exploring the effectiveness of deep learning for bug triaging," 2018 [Online]. Available: https://arxiv.org/abs/1801.01275.
  66. A. S. Badashian, A. Hindle, and E. Stroulia, "Crowdsourced bug triaging," in Proceedings of 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), Bremen, Germany, 2015, pp. 506-510.
  67. L. Jonsson, M. Borg, D. Broman, K. Sandahl, S. Eldh, and P. Runeson, "Automated bug assignment: ensemble-based machine learning in large scale industrial contexts," Empirical Software Engineering, vol. 21, no. 4, pp. 1533-1578, 2016. https://doi.org/10.1007/s10664-015-9401-9
  68. D. H. Wolpert, "Stacked generalization," Neural Networks, vol. 5, no. 2, pp. 241-259, 1992. https://doi.org/10.1016/S0893-6080(05)80023-1
  69. N. Li, Z. Li, Y. Nie, X. Sun, and X. Li, "Predicting software black-box defects using stacked generalization," in Proceedings of 2011 6th International Conference on Digital Information Management, Melbourn, Australia, 2011, pp. 294-299.
  70. A. Amamra, C. Talhi, J. M. Robert, and M. Hamiche, "Enhancing smartphone malware detection performance by applying machine learning hybrid classifiers," in Computer Applications for Software Engineering, Disaster Recovery, and Business Continuity. Heidelberg: Springer, 2012, pp. 131-137.
  71. R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani, "A time-based approach to automatic bug report assignment," Journal of Systems and Software, vol. 102, pp. 109-122, 2015. https://doi.org/10.1016/j.jss.2014.12.049
  72. R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani, "Why so complicated? Simple term filtering and weighting for location-based bug report assignment recommendation," in Proceedings of 2013 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA, 2013, pp. 2-11.
  73. S. Wang, W. Zhang, and Q. Wang, "FixerCache: unsupervised caching active developers for diverse bug triage," in Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2014.
  74. W. Wen, T. Yu, and J. H. Hayes, "Colua: automatically predicting configuration bug reports and extracting configuration options," in Proceedings of 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, Canada, 2016, pp. 150-161.
  75. P. Bhattacharya, M. Iliofotou, I. Neamtiu, and M. Faloutsos, "Graph-based analysis and prediction for software evolution," in Proceedings of 2012 34th International Conference on Software Engineering (ICSE), Zurich, Switzerland, 2012, pp. 419-429.
  76. G. Erkan and D. R. Radev, "Lexrank: graph-based lexical centrality as salience in text summarization," Journal of Artificial Intelligence Research, vol. 22, pp. 457-479, 2004. https://doi.org/10.1613/jair.1523
  77. P. Liu, J. Wang, A. K. Sangaiah, Y. Xie, and X. Yin, "Analysis and Prediction of Water Quality Using LSTM Deep Neural Networks in IoT Environment," Sustainability, vol. 11, no. 7, 2058, 2019. https://doi.org/10.3390/su11072058