Research Article
BibTex RIS Cite

An Analysis of Artificial Neural Network for Recommending Developers to Fix Reported Bugs

Year 2021, Issue: 24, 375 - 379, 15.04.2021
https://doi.org/10.31590/ejosat.899698

Abstract

Occurrence of bugs during the production cycle of software projects is a serious concern of the present time. According to an estimate, a very large number of bugs are recorded while dealing with complex and popular software releases. To locate these bugs and to solve them in efficient manner software industries incorporate the process of bug triage in software testing. Bug triage is intended to recommend the bug reports to an appropriate developer effectively to fix them successfully. However, it becomes labor-intensive and expensive to manually allocate these bug reports to the developer. Deep learning methods have been extensively used and experimented to various domains such as medical diagnosis, earthquake prediction and many more. To handle the above said bugs concerns, many studies have been carried out in order to automate the bug triaging process. Several researchers have directed their efforts by applying deep learning methods in different settings for autonomous recommendation for developers to remove or fix their bugs. In this paper we have proposed a Convolutional Neural Network model for recommending Top 10 developers to fix the reported bugs. For better performance of the model Word2Vec and Glove embeddings are combined with the neural network. The performance of CNN+Word2vec and CNN+Glove models is calculated by averaging the accuracy for 10 developers at five distinct learning rates. The reported results demonstrate that the combination of Convolution with word2vec embedding gives better average accuracy in the testing phase.

Supporting Institution

Ankara Yildrim Beyazit University

References

  • Alshemali, B., & Kalita, J. (2020). Improving the reliability of deep neural networks in NLP: A review. Knowledge-Based Systems, 191, 105210.
  • Anvik, J., Hiew, L., & Murphy, G. C. (2006). Who should fix this bug? Paper presented at the Proceedings of the 28th international conference on Software engineering.
  • Chauhan, S., Katre, M., & Jawalkar, T. (2020). Data Reduction in Bug Triage using Supervised Machine Learning. Chen, J., He, X., Lin, Q., Xu, Y., Zhang, H., Hao, D., et al. (2019). An empirical investigation of incident triage for online service systems. Paper presented at the 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).
  • Deshmukh, J., Annervaz, K., Podder, S., Sengupta, S., & Dubash, N. (2017). Towards accurate duplicate bug retrieval using deep learning techniques. Paper presented at the 2017 IEEE International conference on software maintenance and evolution (ICSME).
  • Ertel, W. (2018). Introduction to artificial intelligence: Springer.
  • Garnham, A. (2017). Artificial intelligence: An introduction: Routledge.
  • Guo, S., Zhang, X., Yang, X., Chen, R., Guo, C., Li, H., et al. (2020). Developer activity motivated bug triaging: via convolutional neural network. Neural Processing Letters, 51(3), 2589-2606.
  • Hu, H., Zhang, H., Xuan, J., & Sun, W. (2014). Effective bug triage based on historical bug-fix information. Paper presented at the 2014 IEEE 25th International Symposium on Software Reliability Engineering.
  • Kalchbrenner, N., Grefenstette, E., & Blunsom, P. (2014). A convolutional neural network for modelling sentences. arXiv preprint arXiv:1404.2188.
  • Kumari, M., & Singh, V. (2018). An improved classifier based on entropy and deep learning for bug priority prediction. Paper presented at the International Conference on Intelligent Systems Design and Applications.
  • Lee, D.-G., & Seo, Y.-S. (2020). Improving bug report triage performance using artificial intelligence based document generation model. Human-centric Computing and Information Sciences, 10(1), 1-22.
  • Lee, S.-R., Heo, M.-J., Lee, C.-G., Kim, M., & Jeong, G. (2017). Applying deep learning based automatic bug triager to industrial projects. Paper presented at the Proceedings of the 2017 11th Joint Meeting on foundations of software engineering.
  • Lee, S.-R., Kim, H.-M., Lee, C.-G., & Lee, K.-S. (2017). Study on Automatic Bug Triage using Deep Learning. Journal of KIISE, 44(11), 1156-1164.
  • Li, X., Jiang, H., Liu, D., Ren, Z., & Li, G. (2018). Unsupervised deep bug report summarization. Paper presented at the 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC).
  • Li, Y., Hao, Z., & Lei, H. (2016). Survey of convolutional neural network. Journal of Computer Applications, 36(9), 2508-2515. Mani, S., Sankaran, A., & Aralikatte, R. (2019). Deeptriage: Exploring the effectiveness of deep learning for bug triaging. Paper presented at the Proceedings of the ACM India Joint International Conference on Data Science and Management of Data.
  • O'Shea, K., & Nash, R. (2015). An introduction to convolutional neural networks. arXiv preprint arXiv:1511.08458. Peng, X., Zhou, P., Liu, J., & Chen, X. (2017). Improving Bug Triage with Relevant Search. Paper presented at the SEKE. Ramay, W. Y., Umer, Q., Yin, X. C., Zhu, C., & Illahi, I. (2019). Deep neural network-based severity prediction of bug reports. IEEE Access, 7, 46846-46857. Russo, F., Raju, R., Clarke, C., Yang, N., Escalona, A., Tappert, C. C., et al. Software Bug Triage using Machine Learning and Natural Language Processing.
  • Saad, A., Saad, M., Emaduddin, S. M., & Ullah, R. (2019). Optimization of bug reporting system (BRS): artificial intelligence based method to handle duplicate bug report. Paper presented at the International Conference on Intelligent Technologies and Applications.
  • Sahu, K., Lilhore, U., & Agarwal, N. (2018). Survey of various data reduction methods for effective bug report analysis. International Journal of Scientific Research in Computer Science, Engineering and Information Technology. Senior, A., Heigold, G., Ranzato, M. a., & Yang, K. (2013). An empirical study of learning rates in deep neural networks for speech recognition. Paper presented at the 2013 IEEE international conference on acoustics, speech and signal processing.
  • Tetko, I. V., Livingstone, D. J., & Luik, A. I. (1995). Neural network studies. 1. Comparison of overfitting and overtraining. Journal of chemical information and computer sciences, 35(5), 826-833. Umer, Q., Liu, H., & Illahi, I. (2019). CNN-based automatic prioritization of bug reports. IEEE Transactions on Reliability, 69(4), 1341-1354.
  • Wilson, D. R., & Martinez, T. R. (2001). The need for small learning rates on large problems. Paper presented at the IJCNN'01. International Joint Conference on Neural Networks. Proceedings (Cat. No. 01CH37222).
  • Xie, Q., Wen, Z., Zhu, J., Gao, C., & Zheng, Z. (2018). Detecting duplicate bug reports with convolutional neural networks. Paper presented at the 2018 25th Asia-Pacific Software Engineering Conference (APSEC). Zhang, T., & Lee, B. (2013). A hybrid bug triage algorithm for developer recommendation. Paper presented at the Proceedings of the 28th annual ACM symposium on applied computing.
  • Zheng, S., & Yang, H. (2018). A deep learning approach to software evolution. International Journal of Computer Applications in Technology, 58(3), 175-183.
  • Zhou, J., Zhang, H., & Lo, D. (2012). Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. Paper presented at the 2012 34th International Conference on Software Engineering (ICSE).

An Analysis of Artificial Neural Network for Recommending Developers to Fix Reported Bugs

Year 2021, Issue: 24, 375 - 379, 15.04.2021
https://doi.org/10.31590/ejosat.899698

Abstract

Occurrence of bugs during the production cycle of software projects is a serious concern of the present time. According to an estimate, a very large number of bugs are recorded while dealing with complex and popular software releases. To locate these bugs and to solve them in efficient manner software industries incorporate the process of bug triage in software testing. Bug triage is intended to recommend the bug reports to an appropriate developer effectively to fix them successfully. However, it becomes labor-intensive and expensive to manually allocate these bug reports to the developer. Deep learning methods have been extensively used and experimented to various domains such as medical diagnosis, earthquake prediction and many more. To handle the above said bugs concerns, many studies have been carried out in order to automate the bug triaging process. Several researchers have directed their efforts by applying deep learning methods in different settings for autonomous recommendation for developers to remove or fix their bugs. In this paper we have proposed a Convolutional Neural Network model for recommending Top 10 developers to fix the reported bugs. For better performance of the model Word2Vec and Glove embeddings are combined with the neural network. The performance of CNN+Word2vec and CNN+Glove models is calculated by averaging the accuracy for 10 developers at five distinct learning rates. The reported results demonstrate that the combination of Convolution with word2vec embedding gives better average accuracy in the testing phase.

References

  • Alshemali, B., & Kalita, J. (2020). Improving the reliability of deep neural networks in NLP: A review. Knowledge-Based Systems, 191, 105210.
  • Anvik, J., Hiew, L., & Murphy, G. C. (2006). Who should fix this bug? Paper presented at the Proceedings of the 28th international conference on Software engineering.
  • Chauhan, S., Katre, M., & Jawalkar, T. (2020). Data Reduction in Bug Triage using Supervised Machine Learning. Chen, J., He, X., Lin, Q., Xu, Y., Zhang, H., Hao, D., et al. (2019). An empirical investigation of incident triage for online service systems. Paper presented at the 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).
  • Deshmukh, J., Annervaz, K., Podder, S., Sengupta, S., & Dubash, N. (2017). Towards accurate duplicate bug retrieval using deep learning techniques. Paper presented at the 2017 IEEE International conference on software maintenance and evolution (ICSME).
  • Ertel, W. (2018). Introduction to artificial intelligence: Springer.
  • Garnham, A. (2017). Artificial intelligence: An introduction: Routledge.
  • Guo, S., Zhang, X., Yang, X., Chen, R., Guo, C., Li, H., et al. (2020). Developer activity motivated bug triaging: via convolutional neural network. Neural Processing Letters, 51(3), 2589-2606.
  • Hu, H., Zhang, H., Xuan, J., & Sun, W. (2014). Effective bug triage based on historical bug-fix information. Paper presented at the 2014 IEEE 25th International Symposium on Software Reliability Engineering.
  • Kalchbrenner, N., Grefenstette, E., & Blunsom, P. (2014). A convolutional neural network for modelling sentences. arXiv preprint arXiv:1404.2188.
  • Kumari, M., & Singh, V. (2018). An improved classifier based on entropy and deep learning for bug priority prediction. Paper presented at the International Conference on Intelligent Systems Design and Applications.
  • Lee, D.-G., & Seo, Y.-S. (2020). Improving bug report triage performance using artificial intelligence based document generation model. Human-centric Computing and Information Sciences, 10(1), 1-22.
  • Lee, S.-R., Heo, M.-J., Lee, C.-G., Kim, M., & Jeong, G. (2017). Applying deep learning based automatic bug triager to industrial projects. Paper presented at the Proceedings of the 2017 11th Joint Meeting on foundations of software engineering.
  • Lee, S.-R., Kim, H.-M., Lee, C.-G., & Lee, K.-S. (2017). Study on Automatic Bug Triage using Deep Learning. Journal of KIISE, 44(11), 1156-1164.
  • Li, X., Jiang, H., Liu, D., Ren, Z., & Li, G. (2018). Unsupervised deep bug report summarization. Paper presented at the 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC).
  • Li, Y., Hao, Z., & Lei, H. (2016). Survey of convolutional neural network. Journal of Computer Applications, 36(9), 2508-2515. Mani, S., Sankaran, A., & Aralikatte, R. (2019). Deeptriage: Exploring the effectiveness of deep learning for bug triaging. Paper presented at the Proceedings of the ACM India Joint International Conference on Data Science and Management of Data.
  • O'Shea, K., & Nash, R. (2015). An introduction to convolutional neural networks. arXiv preprint arXiv:1511.08458. Peng, X., Zhou, P., Liu, J., & Chen, X. (2017). Improving Bug Triage with Relevant Search. Paper presented at the SEKE. Ramay, W. Y., Umer, Q., Yin, X. C., Zhu, C., & Illahi, I. (2019). Deep neural network-based severity prediction of bug reports. IEEE Access, 7, 46846-46857. Russo, F., Raju, R., Clarke, C., Yang, N., Escalona, A., Tappert, C. C., et al. Software Bug Triage using Machine Learning and Natural Language Processing.
  • Saad, A., Saad, M., Emaduddin, S. M., & Ullah, R. (2019). Optimization of bug reporting system (BRS): artificial intelligence based method to handle duplicate bug report. Paper presented at the International Conference on Intelligent Technologies and Applications.
  • Sahu, K., Lilhore, U., & Agarwal, N. (2018). Survey of various data reduction methods for effective bug report analysis. International Journal of Scientific Research in Computer Science, Engineering and Information Technology. Senior, A., Heigold, G., Ranzato, M. a., & Yang, K. (2013). An empirical study of learning rates in deep neural networks for speech recognition. Paper presented at the 2013 IEEE international conference on acoustics, speech and signal processing.
  • Tetko, I. V., Livingstone, D. J., & Luik, A. I. (1995). Neural network studies. 1. Comparison of overfitting and overtraining. Journal of chemical information and computer sciences, 35(5), 826-833. Umer, Q., Liu, H., & Illahi, I. (2019). CNN-based automatic prioritization of bug reports. IEEE Transactions on Reliability, 69(4), 1341-1354.
  • Wilson, D. R., & Martinez, T. R. (2001). The need for small learning rates on large problems. Paper presented at the IJCNN'01. International Joint Conference on Neural Networks. Proceedings (Cat. No. 01CH37222).
  • Xie, Q., Wen, Z., Zhu, J., Gao, C., & Zheng, Z. (2018). Detecting duplicate bug reports with convolutional neural networks. Paper presented at the 2018 25th Asia-Pacific Software Engineering Conference (APSEC). Zhang, T., & Lee, B. (2013). A hybrid bug triage algorithm for developer recommendation. Paper presented at the Proceedings of the 28th annual ACM symposium on applied computing.
  • Zheng, S., & Yang, H. (2018). A deep learning approach to software evolution. International Journal of Computer Applications in Technology, 58(3), 175-183.
  • Zhou, J., Zhang, H., & Lo, D. (2012). Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. Paper presented at the 2012 34th International Conference on Software Engineering (ICSE).
There are 23 citations in total.

Details

Primary Language English
Subjects Engineering
Journal Section Articles
Authors

Zariab Fatima Abro 0000-0002-8279-470X

Shafqat Ur Rehman 0000-0002-1044-5682

Khushal Das 0000-0001-8833-0888

Awinash Goswami 0000-0002-2403-7778

Publication Date April 15, 2021
Published in Issue Year 2021 Issue: 24

Cite

APA Abro, Z. F., Ur Rehman, S., Das, K., Goswami, A. (2021). An Analysis of Artificial Neural Network for Recommending Developers to Fix Reported Bugs. Avrupa Bilim Ve Teknoloji Dergisi(24), 375-379. https://doi.org/10.31590/ejosat.899698