Document Type: Original Research Paper

Authors

1 E-Learning College, Shiraz University, Shiraz, Iran

2 Department of Computer Engineering and Information Technology, Shiraz University of Technology, Shiraz, Iran

3 Department of Computer Science and Engineering & Information Technology, Shiraz University, Shiraz, Iran

10.22061/jecei.2020.7212.370

Abstract

Background and Objectives: It is generally accepted that the highest cost in software development is associated with the software maintenance phase. In corrective maintenance, the main task is correcting the bugs found by the users. These bugs are submitted by the users to a Bug Tracking System (BTS). The bugs are evaluated by the bug triager and assigned to the developers to correct them. To find a related developer to correct the bug, recent developers’ activities and previous bug fixes must be examined. This paper presents an automated method to assign bugs to developers by identifying similarity between new bugs and previously reported bug reports.
Methods: For automatic bug assignment, four clustering techniques (i.e. Expectation-Maximization (EM), Farthest First, Hierarchical Clustering, and Simple Kmeans) are used where a tag is created for each cluster that indicates an associated developer for bug correction. To evaluate the quality of the proposed methods, the clusters generated by the methods are compared with the labels suggested by an expert triager.
Results: To evaluate the performance of the proposed method, we use real-world data of a large scale web-based system which is stored in the BTS of a software company. To select the appropriate algorithm for the clustering, the outputs of each clustering algorithm are compared to the labels suggested by the expert triager. The algorithm with closer output to the expert opinion is selected as the best algorithm. The results showed that EM and FarthestFirst clustering algorithms with 3% similarity error have the most similarity with the expert opinion.
Conclusion: the results obtained by the algorithms show that we can successfully apply them for bug assignment in real-world software development environments.

Keywords

Main Subjects

[1] G. Jeong et al., “Improving bug triage with bug tossing graphs,” in Proc. 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: 111–120, 2009.

[2] J. Anvik, L. Hiew, G. Murphy, “Who should fix this bug?,” in Proc. 28th International Conference on Software Engineering: 361–370, 2006.

[3] D. Cubranic, C. Murphy, “Automatic bug triage using text categorization,” in Proc. Sixteenth International Conference on Software Engineering, Citeseer:92–97, 2004.

[4] H. Hu, H. Zhang, J. Xuan, W. Sun, “Effective bug triage based on historical bug-fix information,” in Proc. 25th International Symposium on Software Reliability Engineering: 122–132, 2014.

[5] J. Anvik, “Automating bug report assignment,” in Proc. 28th International Conference on Software Engineering, ACM: 937–940, 2006.

[6] J. Xuan, H. Jiang, Z. Ren, J. Yan, Z. Luo, “Automatic bug triage using semi-supervised text classification,” in Proc. Intl. Conf. Software Engineering & Knowledge Engineering: 209–214, 2010.

[7] N. Bettenburg, S. Just, A. Schro¨ter, C. Weiss, R. Premraj, T. Zimmermann, “What makes a good bug report?,” in Proc. 16th ACM SIGSOFT International Symposium on Foundations of software Engineering, ACM:308–318, 2008.

[8] A. Goyal, N. Sardana, “Analytical study on bug triaging practices,” Jaypee Institute of Information Technology, Department of Computer Science and Engineering, Noida, UP, India, 2020.

[9] N. Limsettho, H. Hata, A. Monden, K. Matsumoto, “Unsupervised bug report categorization using clustering and labeling algorithm,” International Journal of Software Engineering and Knowledge Engineering, 26(07): 1027-1053, 2016.

[10] M. Alenezi, M. Kenneth, S. Banitaan, “Efficient bug triaging using text mining journal of software,” 8(9): 2185–2190, 2013.

[11] A.-C. Florea, J. Anvik, R. Andonie, “Parallel implementation of a bug report assignment recommender using deep learning,” Conference Paper inLecture Notes in Computer Science, 2017.

[12] R. Shokripour, “A time-based approach to automatic bug report assignment,” Journal of Systems and Software, 102: 109-122, 2015.

[13] R. Shokripour, Z.M. Kasirun, S. Zamani, J. Anvik, “Automatic bug assignment using information extraction methods,” in Proc. International Conference on Advanced Computer Science Application and Technologies (ACSAT): 1-7, 2012.

[14] S. Guo et al., “Developer activity motivated bug triaging: via convolutional neural network,” Neural Processing Letters, 51: 2589-2606, 2020.

[15] A. Sajedi‐Badashian, E. Stroulia, “Vocabulary and time based bug‐assignment: A recommender system for open‐source projects,” Software: Practice and Experience, 50(8): 1539- 1564, 2020.

[16] T. Zhang, B. Lee, “A hybrid bug triage algorithm for developer recommendation. Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC’13, ACM, NewYork, NY, USA: 1088–1094, 2013.

[17] W. Wu et al. “Drex:developer recommendation with k-nearest-neighbor search and expertise ranking,” in Proc. the 2011 18th Asia-Pacific Software Engineering Conference, APSEC: 389, 2011.

[18] Y. Kashiwa, “RAPTOR: Release-aware and prioritized bug-fixing task assignment optimization,” in Proc. 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME): 629-633, 2019.

[19] A. Goyal, N. Sardana, “Empirical analysis of ensemble machine learning techniques for bug triaging,” in Proc. 2019 Twelfth International Conference on Contemporary Computing (IC3): 1-6,  2019.

[20] A. Yadav , S. Singh, J. Su, “Ranking of Software developers based on expertise score for bug triaging,” Information and Software Technology, 112: 1-17, 2019.

[21] A. Otoom et al."Automated classification of software bug reports,” in Proc. the 9th International Conference on Information Communication and Management: 17–21, 2019.

[22] A. Yadav, D. Singh, “An information-theoretic approach for bug triaging,” 8th International Conference on Cloud Computing, Data Science & Engineering (Confluence), 2018.

[23] C. Choquette-Choo et al. “A multi-label, dual-output deep neural network for automated bug triaging,” 18th IEEE International Conference On Machine Learning and Applications (ICMLA), 2019.

[24] W. Zhang, S. Wang , Q. Wang, KSAP:An approach to bug report assignment using KNN search and heterogeneous proximity. Article in Information and Software Technology, 70: 68-84, 2015.

[25] S.-R. Lee, et al., “Applying deep learning based automatic bug triager to industrial projects,” ESEC/FSE 2017: in Proc. the 2017 11th Joint Meeting on Foundations of Software Engineering, 926–931, 2017.

[26] M. Sharma, V.B. Singh, “Clustering-based association rule mining for bug assignee prediction,” International Journal of Business Intelligence and Data Mining, 11(2): 130-150, 2016.

[27] S. C J, A. Mahendran, “Automated bug assignment in software maintenance using graph databases,” International Journal of Intelligent Systems and Applications, 2: 27-36, 2018.

[28] J. Lee, D. Kim, W. Jung, “Cost-Aware clustering of bug reports by using a genetic algorithm,” J. Inf. Sci. Eng., 35(1): 175-200, 2019.

[29] M.C. Abounaima et al., “The pearson correlation coefficient applied to compare multi-criteria methods: case the ranking problematic,” in  Proc. 2020 1st International Conference on Innovative Research in Applied Science, Engineering and Technology (IRASET): 1-6, 2020.