Parallel Implementation of a Bug Report Assignment Recommender Using Deep Learning

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10614)


For large software projects which receive many reports daily, assigning the most appropriate developer to fix a bug from a large pool of potential developers is both technically difficult and time-consuming. We introduce a parallel, highly scalable recommender system for bug report assignment. From a machine learning perspective, the core of such a system consists of a multi-class classification process using characteristics of a bug, like textual information and other categorical attributes, as features and the most appropriate developer as the predicted class. We use alternatively two Deep Learning classifiers: Convolutional and Recurrent Neural Networks. The implementation is realized on an Apache Spark engine, running on IBM Power8 servers. The experiments use real-world data from the Netbeans, Eclipse and Mozilla projects.



The authors are grateful to the Mozilla Foundation for providing a dump of their Bugzilla database and to IBM Client Center, Poughkeepsie, NY, USA for allowing us to use their infrastructure.


  1. 1.
    Ahsan, S.N., Ferzund, J., Wotawa, F.: Automatic software bug triage system (bts) based on latent semantic indexing and support vector machine. In: Fourth International Conference on Software Engineering Advances, ICSEA 2009, pp. 216–221, September 2009Google Scholar
  2. 2.
    Alsheikh, M.A., Niyato, D., Lin, S., Tan, H., Han, Z.: Mobile big data analytics using deep learning and apache spark. CoRR abs/1602.07031 (2016).
  3. 3.
    Anvik, J., Hiew, L., Murphy, G.C.: Who should fix this bug? In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, NY, USA, pp. 361–370 (2006).
  4. 4.
    Anvik, J., Murphy, G.C.: Reducing the effort of bug report triage: recommenders for development-oriented decisions. ACM Trans. Softw. Eng. Methodol. 20(3), 10:1–10:35.
  5. 5.
    Banitaan, S., Alenezi, M.: Tram: an approach for assigning bug reports using their metadata. In: 2013 Third International Conference on Communications and Information Technology, pp. 215–219, June 2013Google Scholar
  6. 6.
    Bengio, Y., Ducharme, R., Vincent, P., Janvin, C.: A neural probabilistic language model. J. Mach. Learn. Res. 3, 1137–1155.
  7. 7.
    Bhattacharya, P., Neamtiu, I., Shelton, C.R.: Automated, highly-accurate, bug assignment using machine learning and tossing graphs. J. Syst. Softw. 85(10), 2275–2292 (2012)CrossRefGoogle Scholar
  8. 8.
    Cavalcanti, Y.A.C., da Mota Silveira Neto, P.A., do Carmo Machado, I., de Almeida, E.S., de Lemos Meira, S.R.: Towards understanding software change request assignment: a survey with practitioners. In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, pp. 195–206 (2013)Google Scholar
  9. 9.
    Florea, A.-C., Anvik, J., Andonie, R.: Spark-based cluster implementation of a bug report assignment recommender system. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2017. LNCS, vol. 10246, pp. 31–42. Springer, Cham (2017). doi: 10.1007/978-3-319-59060-8_4 CrossRefGoogle Scholar
  10. 10.
    Goodfellow, I., Bengio, Y., Courville, A.: Deep Learning. MIT Press, Cambridge (2016). zbMATHGoogle Scholar
  11. 11.
    Graves, A.: Supervised Sequence Labelling with Recurrent Neural Networks. Studies in Computational intelligence, New York (2012).
  12. 12.
    Le, Q.V., Mikolov, T.: Distributed representations of sentences and documents. CoRR abs/1405.4053 (2014).
  13. 13.
    Moritz, P., Nishihara, R., Stoica, I., Jordan, M.I.: SparkNet: training deep networks in spark. ArXiv e-prints, November 2015Google Scholar
  14. 14.
    Nasim, S., Razzaq, S., Ferzund, J.: Automated change request triage using alpha frequency matrix. In: Frontiers of Information Technology (FIT), pp. 298–302 (2011)Google Scholar
  15. 15.
    Nguyen, T.T., Nguyen, A.T., Nguyen, T.N.: Topic-based, time-aware bug assignment. SIGSOFT Softw. Eng. Notes 39(1), 1–4.
  16. 16.
    Oh, K.J., Lee, W.J., Lim, C.G., Choi, H.J.: Personalized news recommendation using classified keywords to capture user preference. In: 16th International Conference on Advanced Communication Technology, pp. 1137–1155 (2014)Google Scholar
  17. 17.
    Salakhutdinov, R., Mnih, A., Hinton, G.: Restricted boltzmann machines for collaborative filtering. In: Proceedings of the 24th International Conference on Machine Learning, ICML 2007, NY, USA, pp. 791–798 (2007).
  18. 18.
    Tomar, A., Godin, F., Vandersmissen, B., Neve, W.D., de Walle, R.V.: Towards twitter hashtag recommendation using distributed word representations and a deep feed forward neural network. In: 2014 International Conference on Advances in Computing, Communications and Informatics, Delhi, India, September 24–27, 2014 (2014).
  19. 19.
    Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., Manzagol, P.A.: Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. J. Mach. Learn. Res. 11, 3371–3408.
  20. 20.
    Wang, H., Wang, N., Yeung, D.: Collaborative deep learning for recommender systems. CoRR abs/1409.2944 (2014).
  21. 21.
    Wang, X., Wang, Y.: Improving content-based and hybrid music recommendation using deep learning. In: Proceedings of the 22nd ACM International Conference on Multimedia, MM 2014, NY, USA, pp. 627–636 (2014).

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Electronics and Computers DepartmentTransilvania University of BraşovBraşovRomania
  2. 2.Department of Mathematics and Computer ScienceUniversity of LethbridgeLethbridgeCanada
  3. 3.Computer Science DepartmentCentral Washington UniversityEllensburgUSA

Personalised recommendations