Developer Activity Motivated Bug Triaging: Via Convolutional Neural Network

Abstract

As bugs become prevalent in software development, bug triaging has become one of the most important activities in software maintenance. To decrease the time cost in manual work, text classification techniques have been applied in automatic bug triaging. In this paper, we present a new automatic bug triaging approach which is based on convolution neural network (CNN) and developer activities. Firstly, we implement the word vector representation of the text features in bug report by using Word2vec. Then, we combine CNN with batch normalization, pooling and full connection approach to learn from the word vector representation of bug report with known fixers. In addition, we also study the recent activities of the developers which can effectively distinguish similar bug reports and get a more suitable developer recommendation list. We empirically investigate the accuracy of automatic bug triaging on three large open source projects, namely Eclipse, Mozilla and NetBeans. The experimental results show that our approach can effectively improve the performance of automatic bug triaging.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

References

  1. 1.

    Hochreiter S, Schmidhuber J (1997) Long short-term memory. Neural Comput 9(8):1735–1780

    Article  Google Scholar 

  2. 2.

    Jeong G, Kim S, Zimmermann T (2009) Improving bug triage with bug tossing graphs. In: ESEC/SIGSOFT FSE 2009, pp 111–120

  3. 3.

    Chen R, Guo S, Wang X, Zhang T (2019) Fusion of multi-RSMOTE with fuzzy integral to classify bug reports with an imbalanced severity distribution. IEEE Trans Fuzzy Syst 27(12):2406–2420

    Article  Google Scholar 

  4. 4.

    Bugzilla, https://www.bugzilla.org/. Accessed 7, 2019

  5. 5.

    JIRA, https://www.atlassian.com/software/jira/. Accessed 7, 2019

  6. 6.

    Xi S (2018) DeepTriage: a bug report dispatching method based on cyclic neural network. J Softw 29(8):2322–2335

    Google Scholar 

  7. 7.

    Anvik J, Hiew L, Murphy GC (2006) Who should fix this bug? In: ICSE 2006, pp 361–370

  8. 8.

    Xuan J, Jiang H, Yan H, Ren Z, Zou W, Luo Z, Xindong W (2015) Towards effective bug triage with software data reduction techniques. IEEE Trans Knowl Data Eng 27(1):264–280

    Article  Google Scholar 

  9. 9.

    Bhattacharya P, Neamtiu I (2010) Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. In: ICSM, pp 1–10

  10. 10.

    Tamrawi A, Nguyen TT, Al-Kofahi JM, Nguyen TN (2011) Fuzzy set and cache-based approach for bug triaging. In: SIGSOFT FSE 2011, pp 365–375

  11. 11.

    Cubranic D, Murphy GC (2004) Automatic bug triage using text categorization. In: SEKE 2004, pp 92–97

  12. 12.

    Xia X, Lo D, Ding Y, Al-Kofahi JM, Nguyen TN, Wang X (2017) Improving Automated Bug Triaging with Specialized Topic Model. IEEE Trans Softw Eng 43(3):272–297

    Article  Google Scholar 

  13. 13.

    Somasundaram K, Murphy GC (2012) Automatic categorization of bug reports using latent Dirichlet allocation. In: ISEC 2012, pp 125–130

  14. 14.

    Deng W, Zhao H, Zou L, Li G, Yang X, Daqing W (2017) A novel collaborative optimization algorithm in solving complex optimization problems. Soft Comput 21(15):4387–4398

    Article  Google Scholar 

  15. 15.

    Guo S, Chen R, Wei M, Li H, Liu Y (2018) Ensemble data reduction techniques and multi-RSMOTE via fuzzy integral for bug report classification. IEEE Access 6:45934–45950

    Article  Google Scholar 

  16. 16.

    Zhao H, Zheng J, Junjie X, Deng W (2019) Fault diagnosis method based on principal component analysis and broad learning system. IEEE Access 7:99263–99272

    Article  Google Scholar 

  17. 17.

    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: COMPSAC 2014, pp 97–106

  18. 18.

    Guo S, Chen R, Li H, Zhang T, Liu Y (2019) Identify severity bug report with distribution imbalance by CR-SMOTE and ELM. Int J Softw Eng Knowl Eng 29(2):139–175

    Article  Google Scholar 

  19. 19.

    Johnson R, Zhang T (2016) Supervised and semi-supervised text categorization using LSTM for region embeddings. In: ICML 2016, pp 526–534

  20. 20.

    Kim Y (2014) Convolutional neural networks for sentence classification. In: EMNLP 2014, pp 1746–1751

  21. 21.

    Eclipse bug database. https://bugs.eclipse.org/bugs/. Accessed 7, 2019

  22. 22.

    Mozilla bug database. https://bugzilla.mozilla.org/. Accessed 7, 2019

  23. 23.

    Netbeans bug database. https://netbeans.org/bugzilla/. Accessed 7, 2019

  24. 24.

    Deng W, Junjie X, Zhao H (2019) An improved ant colony optimization algorithm based on hybrid strategies for scheduling problem. IEEE Access 7:20281–20292

    Article  Google Scholar 

  25. 25.

    Guo S, Liu Y, Chen R, Sun X, Wang X (2019) Using an improved SMOTE algorithm to deal imbalanced activity classes in smart home. Neural Processing Letters. https://doi.org/10.1007/s11063-018-9940-3

    Article  Google Scholar 

  26. 26.

    Naguib H, Narayan N, Brügge B, Helal D (2013) Bug report assignee recommendation using activity profiles. In: MSR 2013, pp 22–30

  27. 27.

    Wu W, Zhang W, Yang Y, Wang Q (2011) DREX: developer recommendation with K-nearest-neighbor search and expertise ranking. In: Asia Pacific software engineering conference, APSEC 2011, pp 389–396

  28. 28.

    Xie Z, Zhang W, Yang Y, Wang Q (2012) DRETOM: developer recommendation based on topic models for bug resolution. In: PROMISE 2012, pp 19–28

  29. 29.

    Xuan J, Jiang H, Ren Z, Yan J, Luo Z (2017) Automatic bug triage using semi-supervised text classification. CoRR abs/1704.04769

  30. 30.

    Xuan J, Jiang H, Ren Z, Zou W (2012) Developer prioritization in bug repositories. In: ICSE 2012, pp 25–35

  31. 31.

    Deng W, Zhao H, Yang X, Xiong J, Sun M, Li B (2017) Study on an improved adaptive PSO algorithm for solving multi-objective gate assignment. Appl Soft Comput 59:288–302

    Article  Google Scholar 

  32. 32.

    Lamkanfi A, Demeyer S, Soetens QD, Verdonck T (2011) Comparing mining algorithms for predicting the severity of a reported bug. In: CSMR 2011, pp 249–258

  33. 33.

    Porter MF (2006) An algorithm for suffix stripping. Program 40(3):211–218

    Article  Google Scholar 

  34. 34.

    Zhang T, Chen J, Yang G, Lee B, Luo X (2016) Towards more accurate severity prediction and fixer recommendation of software bugs. J Syst Softw 117:166–184

    Article  Google Scholar 

  35. 35.

    Weka. https://www.cs.waikato.ac.nz/ml/weka. Accessed 8, 2019

  36. 36.

    Jia C, Yu-Qi Z, Peng S, Yan-Tao W, Wang Yu (2019) Application of deep learning to 3D object reconstruction from a single image. Acta Autom Sin 45(4):657–668

    MATH  Google Scholar 

Download references

Acknowledgements

This work is supported by the National Natural Science Foundation of China (Nos. 61902050, 61672122, 61602077, 61771087, 51879027, 51579024, 71831002), Program for Innovative Research Team in University of Ministry of Education of China (No. IRT 17R13), the Fundamental Research Funds for the Central Universities (Nos. 3132019355, 3132019501, 3132019502, JLU), Next-Generation Internet Innovation Project of CERNET (NGII20190627).

Author information

Affiliations

Authors

Corresponding author

Correspondence to Rong Chen.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Guo, S., Zhang, X., Yang, X. et al. Developer Activity Motivated Bug Triaging: Via Convolutional Neural Network. Neural Process Lett 51, 2589–2606 (2020). https://doi.org/10.1007/s11063-020-10213-y

Download citation

Keywords

  • Bug triage
  • Mining software repositories
  • Convolution neural network
  • Deep learning