Advertisement

Crowdsourced Bug Triaging: Leveraging Q&A Platforms for Bug Assignment

  • Ali Sajedi Badashian
  • Abram Hindle
  • Eleni Stroulia
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9633)

Abstract

Bug triaging, i.e., assigning a bug report to the “best” person to address it, involves identifying a list of developers that are qualified to understand and address the bug report, and then ranking them according to their expertise. Most research in this area examines the description of the bug report and the developers’ prior development and bug-fixing activities. In this paper, we propose a novel method that exploits a new source of evidence for the developers’ expertise, namely their contributions in Stack Overflow, the popular software Question and Answer (Q&A) platform. The key intuition of our method is that the questions a developer asks and answers in Stack Overflow, or more generally in software Q&A platforms, can potentially be an excellent indicator of his/her expertise. Motivated by this idea, our method uses the bug-report description as a guide for selecting relevant Stack Overflow contributions on the basis of which to identify developers with the necessary expertise to close the bug under examination. We evaluated this method in the context of the 20 largest GitHub projects, considering 7144 bug reports. Our results demonstrate that our method exhibits superior accuracy to other state-of-the-art methods.

Notes

Acknowledgments

This work has been partially funded by IBM, the Natural Sciences and Engineering Research Council of Canada (NSERC) and the GRAND NCE.

References

  1. 1.
    Anvik, J.: Automating bug report assignment. In: Proceedings of the 28th International Conference on Software Engineering (Doctoral Symposium), ICSE 2006, pp. 937–940. ACM (2006)Google Scholar
  2. 2.
    Anvik, J., Hiew, L., Murphy, G.C.: Who should fix this bug? In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, pp. 361–370. ACM (2006)Google Scholar
  3. 3.
    Anvik, J.K.: Assisting Bug Report Triage through Recommendation. Ph.D. thesis, University of British Columbia, November 2007Google Scholar
  4. 4.
    Baysal, O., Holmes, R., Godfrey, M.W.: Revisiting bug triage and resolution practices. In: Proceedings of the User evaluation for Software Engineering Researchers (USER) Workshop at the International Conference on Software Engineering (ICSE), 2012, pp. 29–30. IEEE (2012)Google Scholar
  5. 5.
    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
  6. 6.
    Brin, S., Page, L.: The anatomy of a large-scale hypertextual web search engine. Computer networks and ISDN systems 30(1), 107–117 (1998)CrossRefGoogle Scholar
  7. 7.
    Canfora, G., Cerulo, L.: Supporting change request assignment in open source development. In: Proceedings of the 2006 ACM Symposium on Applied Computing, SAC 2006, pp. 1767–1772. ACM (2006)Google Scholar
  8. 8.
    Čubranić, D., Murphy, G.C.: Automatic bug triage using text categorization. In: SEKE 2004: Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering. Citeseer (2004)Google Scholar
  9. 9.
    Fritz, T., Ou, J., Murphy, G.C., Murphy-Hill, E.: A degree-of-knowledge model to capture source code familiarity. In: Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 385–394. ACM (2010)Google Scholar
  10. 10.
    Jeong, G., Kim, S., Zimmermann, T.: Improving bug triage with bug tossing graphs. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC/FSE 2009, pp. 111–120. ACM (2009)Google Scholar
  11. 11.
    Kleinberg, J.M.: Hubs, authorities, and communities. ACM Comput. Surv. (CSUR) 31(4es), 5 (1999)Google Scholar
  12. 12.
    Labuschagne, A., Holmes, R.: Do onboarding programs work? In: Proceedings of the 12th Working Conference on Mining Software Repositories, MSR 2015 (2015)Google Scholar
  13. 13.
    Lamkanfi, A., Demeyer, S., Soetens, Q.D., Verdonck, T.: Comparing mining algorithms for predicting the severity of a reported bug. In: 2011 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 249–258. IEEE (2011)Google Scholar
  14. 14.
    Lin, Z., Shu, F., Yang, Y., Hu, C., Wang, Q.: An empirical study on bug assignment automation using chinese bug data. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, ESEM 2009, pp. 451–455. IEEE Computer Society (2009)Google Scholar
  15. 15.
    Linares-Vásquez, M., Hossen, K., Dang, H., Kagdi, H., Gethers, M., Poshyvanyk, D.: Triaging incoming change requests: Bug or commit history, or code authorship? In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 451–460. IEEE (2012)Google Scholar
  16. 16.
    Matter, D., Kuhn, A., Nierstrasz, O.: Assigning bug reports using a vocabulary-based expertise model of developers. In: 6th IEEE International Working Conference on Mining Software Repositories, MSR 2009, pp. 131–140, May 2009Google Scholar
  17. 17.
    Mockus, A., Herbsleb, J.D.: Expertise browser: A quantitative approach to identifying expertise. In: Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, pp. 503–512. ACM (2002)Google Scholar
  18. 18.
    Naguib, H., Narayan, N., Brugge, B., Helal, D.: Bug report assignee recommendation using activity profiles. In: 2013 10th IEEE Working Conference on Mining Software Repositories (MSR). IEEE(2013)Google Scholar
  19. 19.
    Nguyen, T.T., Nguyen, A.T., Nguyen, T.N.: Topic-based, time-aware bug assignment. SIGSOFT Softw. Eng. Notes 39(1), 1–4 (2014)CrossRefGoogle Scholar
  20. 20.
    Poshyvanyk, D., Marcus, A.: Combining formal concept analysis with information retrieval for concept location in source code. In: 15th IEEE International Conference on Program Comprehension, ICPC 2007, pp. 37–48. IEEE (2007)Google Scholar
  21. 21.
    Stack Exchange Community: Is there a direct download link with a raw data dump of stack overflow? http://meta.stackexchange.com/questions/198915/is-there-a-direct-download-link-with-a-raw-data-dump-of-stack-overflow-not-a-t. Accessed on 20 Auguest 2014
  22. 22.
    Stack Exchange Inc: Stack exchange data dump. https://archive.org/details/stackexchange. Accessed 20 Auguest 2014
  23. 23.
    Stack Exchange Team: What are tags, and how should i use them? http://stackoverflow.com/help/tagging. Accessed on 17 March 2015
  24. 24.
    The GHTorrent Project: Mysql database dumps. http://GHTorrent.org/downloads/mysql-2014-08-18.sql.gz. Accessed on 20 Auguest 2014
  25. 25.
    Sajedi Badashian, A., Esteki, A., GholiPour, A., Hindle, A., Stroulia, E.: Involvement, contribution and influence in github and stack overflow. In: Proceedings of the 2014 Conference of the Center for Advanced Studies on Collaborative Research, CASCON 2014. ACM, Markham (2014)Google Scholar
  26. 26.
    Sajedi Badashian, A., Hindle, A., Stroulia, E.: Crowdsourced bug triaging. In: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 506–510. IEEE (2015)Google Scholar
  27. 27.
    Shokripour, R., Kasirun, Z., Zamani, S., Anvik, J.: Automatic bug assignment using information extraction methods. In: 2012 International Conference on Advanced Computer Science Applications and Technologies (ACSAT), pp. 144–149, November 2012Google Scholar
  28. 28.
    Shokripour, R., Anvik, J., Kasirun, Z.M., Zamani, S.: Why so complicated? simple term filtering and weighting for location-based bug report assignment recommendation. In: Proceedings of the 10th Working Conference on Mining Software Repositories, MSR 2013, pp. 2–11. IEEE Press (2013)Google Scholar
  29. 29.
    Tamrawi, A., Nguyen, T.T., Al-Kofahi, J., Nguyen, T.N.: Fuzzy set-based automatic bug triaging (nier track). In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 884–887. ACM (2011)Google Scholar
  30. 30.
    Tamrawi, A., Nguyen, T.T., Al-Kofahi, J.M., Nguyen, T.N.: 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, ESEC/FSE 2011, pp. 365–375. ACM (2011)Google Scholar
  31. 31.
    Vasilescu, B., Filkov, V., Serebrenik, A.: Stackoverflow and github: associations between software development and crowdsourced knowledge. In: 2013 International Conference on Social Computing (SocialCom), pp. 188–195. IEEE (2013)Google Scholar
  32. 32.
    Venkataramani, R., Gupta, A., Asadullah, A., Muddu, B., Bhat, V.: Discovery of technical expertise from open source code repositories. In: Proceedings of the 22nd International Conference on World Wide Web Companion, WWW 2013 Companion, International World Wide Web Conferences Steering Committee, pp. 97–98 (2013)Google Scholar
  33. 33.
    Zhang, J., Ackerman, M.S., Adamic, L.: Expertise networks in online communities: Structure and algorithms. In: Proceedings of the 16th International Conference on World Wide Web, WWW 2007, pp. 221–230. ACM (2007)Google Scholar
  34. 34.
    Zimmermann, T., Nagappan, N., Guo, P.J., Murphy, B.: Characterizing and predicting which bugs get reopened. In: 34th International Conference on Software Engineering (ICSE), 2012, pp. 1074–1083. IEEE (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Ali Sajedi Badashian
    • 1
  • Abram Hindle
    • 1
  • Eleni Stroulia
    • 1
  1. 1.University of AlbertaEdmontonCanada

Personalised recommendations