Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
132 tokens/sec
GPT-4o
28 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Code Reviewer Recommendation Based on a Hypergraph with Multiplex Relationships (2401.10755v1)

Published 19 Jan 2024 in cs.SE

Abstract: Code review is an essential component of software development, playing a vital role in ensuring a comprehensive check of code changes. However, the continuous influx of pull requests and the limited pool of available reviewer candidates pose a significant challenge to the review process, making the task of assigning suitable reviewers to each review request increasingly difficult. To tackle this issue, we present MIRRec, a novel code reviewer recommendation method that leverages a hypergraph with multiplex relationships. MIRRec encodes high-order correlations that go beyond traditional pairwise connections using degree-free hyperedges among pull requests and developers. This way, it can capture high-order implicit connectivity and identify potential reviewers. To validate the effectiveness of MIRRec, we conducted experiments using a dataset comprising 48,374 pull requests from ten popular open-source software projects hosted on GitHub. The experiment results demonstrate that MIRRec, especially without PR-Review Commenters relationship, outperforms existing stateof-the-art code reviewer recommendation methods in terms of ACC and MRR, highlighting its significance in improving the code review process.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (43)
  1. D. Badampudi, M. Unterkalmsteiner, and R. Britto, “Modern Code Reviews—Survey of Literature and Practice,” ACM Transactions on Software Engineering and Methodology, vol. 32, no. 4, pp. 1-61, 2023.
  2. X. Yang, R. G. Kula, N. Yoshida, and H. Iida, “Mining the modern code review repositories: a dataset of people, process and product,” in Proceedings of the 13th International Conference on Mining Software Repositories (MSR), pp. 460-463, 2016.
  3. S. Ruangwan, P. Thongtanunam, A. Ihara, and K. Matsumoto, “The impact of human factors on the participation decision of reviewers in modern code review,” Empirical Software Engineering, vol. 24, no. 2, pp. 973-1016, 2018.
  4. D. Kong, Q. Chen, L. Bao, C. Sun, X. Xia, and S. Li, “Recommending Code Reviewers for Proprietary Software Projects: A Large Scale Study,” in Proceedings of the 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 630-640, 2022.
  5. M. Chouchen, A. Ouni, M. W. Mkaouer, R. G. Kula, and K. Inoue, “WhoReview: A multi-objective search-based approach for code reviewers recommendation in modern code review,” Applied Soft Computing, vol. 100, 106908, 2021.
  6. E. Doğan, E. Tüzün, K. A. Tecimer, and H. A. Güvenir, “Investigating the Validity of Ground Truth in Code Reviewer Recommendation Studies,” in Proceedings of the 13th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1-6, 2019.
  7. G. Zhao, D. A. da Costa, and Y. Zou, “Improving the pull requests review process using learning-to-rank algorithms,” Empirical Software Engineering, vol. 24, no. 4, pp. 2140-2170, 2019.
  8. P. C. Rigby, and C. Bird, “Convergent contemporary software peer review practices,” in Proceedings of the 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 202-212, 2013.
  9. J Tsay, L. Dabbish, and J. Herbsleb, “Let’s Talk About It: Evaluating Contributions through Discussion in GitHub,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pp. 144-154, 2014.
  10. A. Lee, J. C. Carver, and A. Bosu, “Understanding the Impressions, Motivations, and Barriers of One Time Code Contributors to FLOSS Projects: A Survey,” in Proceedings of the 39th IEEE/ACM International Conference on Software Engineering (ICSE), pp. 187-197, 2017.
  11. V. Balachandran, “Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation,” in Proceedings of the 35th International Conference on Software Engineering (ICSE), pp. 931-940, 2013.
  12. P. Thongtanunam, C. Tantithamthavorn, R. G. Kula, N. Yoshida, H. Iida, and K.-i. Matsumoto, “Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review,” in Proceedings of the 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 141-150, 2015.
  13. A. Ouni, R. G. Kula, and K. Inoue, “Search-Based Peer Reviewers Recommendation in Modern Code Review,” in Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 367-377, 2016.
  14. Z. Li, S. Lu, D. Guo, N. Duan, S. Jannu, G. Jenks, D. Majumder, J. Green, A. Svyatkovskiy, S. Fu, and N. Sundaresan, “Automating code review activities by large-scale pre-training,” in Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 1035-1047, 2022.
  15. M. B. Zanjani, H. Kagdi, and C. Bird, “Automatically Recommending Peer Reviewers in Modern Code Review,” IEEE Transactions on Software Engineering, vol. 42, no. 6, pp. 530-543, 2016.
  16. T. Hirao, S. McIntosh, A. Ihara, and K. Matsumoto, “The review linkage graph for code review analytics: a recovery approach and empirical study,” in Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 578-589, 2019.
  17. P. Thongtanunam, and A. E. Hassan, “Review Dynamics and Their Impact on Software Quality,” IEEE Transactions on Software Engineering, vol. 47, no. 12, pp. 2698-2712, 2021.
  18. Y. Yu, H. Wang, G. Yin, and T. Wang, “Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment?,” Information and Software Technology, vol. 74, pp. 204-218, 2016.
  19. H. Ying, L. Chen, T. Liang, and J. Wu, “EARec:Leveraging Expertise and Authority for Pull-Request Reviewer Recommendation in GitHub,” in Proceedings of the 3rd International Workshop on CrowdSourcing in Software Engineering (CSI-SE), pp. 29-35, 2016.
  20. E. Sülün, E. Tüzün, and U. Doğrusöz, “RSTrace+: Reviewer suggestion using software artifact traceability graphs,” Information and Software Technology, vol. 130, pp. 106455, 2021.
  21. X. Xie, X. Yang, B. Wang, and Q. He, “DevRec: Multi-Relationship Embedded Software Developer Recommendation,” IEEE Transactions on Software Engineering, vol. 48, pp. 4357-4379, 2022.
  22. G. Rong, Y. Zhang, L. Yang, F. Zhang, H. Kuang, and H. Zhang, “Modeling review history for reviewer recommendation:A Hypergraph Approach,” in Proceedings of the 44th International Conference on Software Engineering (ICSE), pp. 1381-1392, 2022.
  23. Pull request reviews in GitHub: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews
  24. J. Krüger, J. Wiemann, W. Fenske, G. Saake, and T. Leich, “Do you remember this source code?,” in Proceedings of the 40th International Conference on Software Engineering (ICSE), pp. 764-775, 2018.
  25. G. Navarro, “A guided tour to approximate string matching,” ACM Computing Surveys, vol. 33, no. 1, pp. 31-88, 2001.
  26. H. A. Çetin, E. Doğan, and E. Tüzün, “A review of code reviewer recommendation studies: Challenges and future directions,” Science of Computer Programming, vol. 208, pp. 102652, 2021.
  27. Replication Package of the Paper: https://github.com/cufeinfor/MIRRec
  28. C. Hannebauer, M. Patalas, S. Stünkel, and V. Gruhn, “Automatically recommending code reviewers based on their expertise: an empirical comparison,” in Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 99-110, 2016.
  29. S. Asthana, R. Kumar, R. Bhagwan, C. Bird, C. Bansal, C. Maddila, S. Mehta, and B. Ashok, “WhoDo: Automating Reviewer Suggestions at Scale,” in Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 937-945, 2019.
  30. M. Fejzer, P. Przymus, and K. Stencel, “Profile based recommendation of code reviewers,” Journal of Intelligent Information Systems, vol. 50, no. 3, pp. 597-619, 2017.
  31. M. M. Rahman, C. K. Roy, and J. A. Collins, “CoRReCT: Code Reviewer Recommendation in GitHub Based on Cross-Project and Technology Experience,” in Proceedings of the 38th International Conference on Software Engineering (ICSE), pp. 222-231, 2016.
  32. S. Rebai, A. Amich, S. Molaei, M. Kessentini, and R. Kazman, “Multi-objective code reviewer recommendations: balancing expertise, availability and collaborations,” Automated Software Engineering, vol. 27, no. 3-4, pp. 301-328, 2020.
  33. W. H. A. Al-Zubaidi, P. Thongtanunam, H. K. Dam, C. Tantithamthavorn, and A. Ghose, “Workload-aware reviewer recommendation using a multi-objective search-based approach,” in Proceedings of the 16th ACM International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE), pp. 21-30, 2020.
  34. Z. Xia, H. Sun, J. Jiang, X. Wang, and X. Liu, “A Hybrid Approach to Code Reviewer Recommendation with Collaborative Filtering,” in Proceedings of the 6th International Workshop on Software Mining (SoftwareMining), pp. 24-31, 2017.
  35. A. Strand, M. Gunnarson, R. Britto, and M. Usman, “Using a context-aware approach to recommend code reviewers,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 1-10, 2020.
  36. A. Chueshev, J. Lawall, R. Bendraou, and T. Ziadi, “Expanding the Number of Reviewers in Open-Source Projects by Recommending Appropriate Developers,” in Proceedings of the 36th IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 499-510, 2020.
  37. X. Xia, D. Lo, X. Wang, and X. Yang, “Who Should Review This Change?: Putting Text and File Location Analyses Together for More Accurate Recommendations,” in Proceedings of the 31st IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 261-270, 2015.
  38. X. Ye, Y. Zheng, W. Aljedaani, and M. W. Mkaouer, “Recommending pull request reviewers based on code changes,” Soft Computing, vol. 25, no. 7, pp. 5619-5632, 2021.
  39. J. Jiang, Y. Yang, J. He, X. Blanc, and L. Zhang, “Who should comment on this pull request? Analyzing attributes for more accurate commenter recommendation in pull-based development,” Information and Software Technology, vol. 84, pp. 48-62, 2017.
  40. J. Jiang, J.-H. He, and X.-Y. Chen, “CoreDevRec: Automatic Core Member Recommendation for Contribution Evaluation,” Journal of Computer Science and Technology, vol. 30, no. 5, pp. 998-1016, 2015.
  41. X. Xie, B. Wang, and X. Yang, “SoftRec: Multi-Relationship Fused Software Developer Recommendation,” Applied Sciences, vol. 10, no. 12, pp. 4333, 2020.
  42. Z. Liao, Z. Wu, Y. Li, Y. Zhang, X. Fan, and J. Wu, “Core-reviewer recommendation based on Pull Request topic model and collaborator social network,” Soft Computing, vol. 24, no. 8, pp. 5683-5693, 2019.
  43. J. Zhang, C. Maddila, R. Bairi, C. Bird, U. Raizada, A. Agrawal, Y. Jhawar, K. Herzig, and A. van Deursen, “Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations at Microsoft,” in Proceedings of the 45th IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 162-172, 2023.

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com