Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3345629.3345637acmotherconferencesArticle/Chapter ViewAbstractPublication PagespromiseConference Proceedingsconference-collections
research-article

Reviewer Recommendation using Software Artifact Traceability Graphs

Published: 18 September 2019 Publication History

Abstract

Various types of artifacts (requirements, source code, test cases, documents, etc.) are produced throughout the lifecycle of a software. These artifacts are often related with each other via traceability links that are stored in modern application lifecycle management repositories. Throughout the lifecycle of a software, various types of changes can arise in any one of these artifacts. It is important to review such changes to minimize their potential negative impacts. To maximize benefits of the review process, the reviewer(s) should be chosen appropriately.
In this study, we reformulate the reviewer suggestion problem using software artifact traceability graphs. We introduce a novel approach, named RSTrace, to automatically recommend reviewers that are best suited based on their familiarity with a given artifact. The proposed approach, in theory, could be applied to all types of artifacts. For the purpose of this study, we focused on the source code artifact and conducted an experiment on finding the appropriate code reviewer(s). We initially tested RSTrace on an open source project and achieved top-3 recall of 0.85 with an MRR (mean reciprocal ranking) of 0.73. In a further empirical evaluation of 37 open source projects, we confirmed that the proposed reviewer recommendation approach yields promising top-k and MRR scores on the average compared to the existing reviewer recommendation approaches.

References

[1]
John Anvik. 2006. Automating bug report assignment. In Proceeding of the 28th international conference on Software engineering - ICSE '06.
[2]
John Anvik, Lyndon Hiew, and Gail C. Murphy. 2006. Who should fix this bug?. In Proceeding of the 28th international conference on Software engineering - ICSE '06.
[3]
Vipin Balachandran. 2013. Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation. Proceedings - International Conference on Software Engineering (2013), 931--940.
[4]
Santiago Dueñas, Valerio Cosentino, Gregorio Robles, and Jesus M. Gonzalez-Barahona. 2018. Perceval: Software project data at your will. In Proceedings of the 40th International Conference on Software Engineering Companion Proceeedings - ICSE '18, Vol. s8-I. ACM Press, New York, New York, USA, 1--4.
[5]
Tim Hegeman and Alexandru Iosup. 2018. Survey of Graph Analysis Applications. (2018). http://arxiv.org/abs/1807.00382
[6]
Gaeul Jeong, Sunghun Kim, and Thomas Zimmermann. 2009. Improving code review by predicting reviewers and acceptance of patches. Research on Software (2009). http://rosaec.snu.ac.kr/publish/2009/techmemo/ROSAEC-2009-006.pdf
[7]
Jing Jiang, Jia Huan He, and Xue Yuan Chen. 2015. CoreDevRec: Automatic Core Member Recommendation for Contribution Evaluation. Journal of Computer Science and Technology 30, 5 (2015), 998--1016.
[8]
Huzefa Kagdi, Malcom Gethers, Denys Poshyvanyk, and Maen Hammad. 2012. Assigning change requests to software developers. Journal of software: Evolution and Process (2012).
[9]
Mik Kersten. 2018. A cambrian explosion of DevOps tools. IEEE Software 35, 2 (2018), 14--17.
[10]
Jungil Kim and Eunjoo Lee. 2018. Understanding review expertise of developers: A reviewer recommendation approach based on latent Dirichlet allocation. Symmetry 10, 4 (2018), 5--7.
[11]
John Boaz Lee, Akinori Ihara, Akito Monden, and Ken Ichi Matsumoto. 2013. Patch reviewer recommendation in OSS projects. Proceedings - Asia-Pacific Software Engineering Conference, APSEC 2 (2013), 1--6.
[12]
Jakub Lipčák and Bruno Rossi. 2018. A Large-Scale Study on Source Code Reviewer Recommendation. In 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), IEEE.
[13]
Jakub Lipčák and Bruno Rossi. 2018. Rev-rec Source - Code Reviews Dataset (SEAA2018). (2018).
[14]
Laura MacLeod, Michaela Greiler, Margaret Anne Storey, Christian Bird, and Jacek Czerwonka. 2018. Code Reviewing in the Trenches: Challenges and Best Practices. IEEE Software (2018).
[15]
Hoda Naguib, Nitesh Narayan, Bernd Brügge, and Dina Helal. 2013. Bug report assignee recommendation using activity profiles. In IEEE International Working Conference on Mining Software Repositories.
[16]
Ali Ouni, Raula Gaikovina Kula, and Katsuro Inoue. 2017. Search-based peer reviewers recommendation in modern code review. Proceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016 (2017), 367--377.
[17]
Zhenhui Peng, Jeehoon Yoo, Meng Xia, Sunghun Kim, and Xiaojuan Ma. 2018. Exploring How Software Developers Work with Mention Bot in GitHub. Proceedings of the Sixth International Symposium of Chinese CHI (2018), 152--155.
[18]
Mohammad Masudur Rahman, Chanchal K. Roy, and Jason A. Collins. 2016. CoRReCT. Proceedings of the 38th International Conference on Software Engineering Companion - ICSE '16 (2016).
[19]
Per Runeson and Martin Höst. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering (2009).
[20]
Caitlin Sadowski, Emma Söderberg, Luke Church, Michal Sipko, and Alberto Bacchelli. 2018. Modern code review. Proceedings of the 40th International Conference on Software Engineering Software Engineering in Practice - ICSE-SEIP '18 (2018), 181--190.
[21]
Emre Sülün. 2019. Suggesting Reviewers of Software Artifacts using Traceability Graphs. In Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 19), August 26-30, 2019, Tallinn, Estonia. ACM, New York, NY, USA.
[22]
Patanamon Thongtanunam, Chakkrit Tantithamthavorn, Raula Gaikovina Kula, Norihiro Yoshida, Hajimu Iida, and Ken Ichi Matsumoto. 2015. Who should review my code? A file location-based code-reviewer recommendation approach for Modern Code Review. 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015 - Proceedings (2015), 141--150.
[23]
Eray Tüzün, Bedir Tekinerdogan, Yagup Macit, and Kursat Ince. 2019. Adopting integrated application lifecycle management within a large-scale software company: An action research approach. Journal of Systems and Software 149 (2019), 63--82.
[24]
Xin Xia, David Lo, Xinyu Wang, and Xiaohu Yang. 2015. Who should review this change?: Putting text and file location analyses together for more accurate recommendations. 2015 IEEE 31st International Conference on Software Maintenance and Evolution, ICSME 2015 - Proceedings (2015), 261--270.
[25]
Zhenglin Xia, Hailong Sun, Jing Jiang, Xu Wang, and Xudong Liu. 2017. A hybrid approach to code reviewer recommendation with collaborative filtering. SoftwareMining 2017 - Proceedings of the 2017 6th IEEE/ACM International Workshop on Software Mining, co-located with ASE 2017 (2017), 24--31.
[26]
Cheng Yang, Xun hui Zhang, Ling bin Zeng, Qiang Fan, Tao Wang, Yue Yu, Gang Yin, and Huai min Wang. 2018. RevRec: A two-layer reviewer recommendation algorithm in pull-based development model. Journal of Central South University 25, 5 (2018), 1129--1143.
[27]
Xin Yang. 2014. Social Network Analysis in Open Source Software Peer Review. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering.
[28]
Yue Yu, Huaimin Wang, Gang Yin, and Tao Wang. 2016. Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? Information and Software Technology 74 (2016), 204--218.
[29]
Motahareh Bahrami Zanjani, Huzefa Kagdi, and Christian Bird. 2016. Automatically Recommending Peer Reviewers in Modern Code Review. IEEE Transactions on Software Engineering 42, 6 (2016), 530--543.
[30]
Wei Qiang Zhang, Li Ming Nie, He Jiang, Zhen Yu Chen, and Jia Liu. 2014. Developer social networks in software engineering: construction, analysis, and applications. Science China Information Sciences 57, 12 (2014), 1--23.
[31]
Thomas Zimmermann and Nachiappan Nagappan. 2008. Predicting defects using network analysis on dependency graphs. Proceedings of the 13th international conference on Software engineering - ICSE '08 (2008), 531.

Cited By

View all
  • (2024)Source code expert identificationInformation and Software Technology10.1016/j.infsof.2024.107445170:COnline publication date: 1-Jun-2024
  • (2023)Modern Code Reviews—Survey of Literature and PracticeACM Transactions on Software Engineering and Methodology10.1145/358500432:4(1-61)Online publication date: 26-May-2023
  • (2023)Generation-based Code Review Automation: How Far Are We?2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC)10.1109/ICPC58990.2023.00036(215-226)Online publication date: May-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PROMISE'19: Proceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering
September 2019
103 pages
ISBN:9781450372336
DOI:10.1145/3345629
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 September 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code review
  2. modern code review
  3. pull-request review
  4. reviewer recommendation
  5. software traceability
  6. suggesting reviewers

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

PROMISE'19

Acceptance Rates

Overall Acceptance Rate 98 of 213 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Source code expert identificationInformation and Software Technology10.1016/j.infsof.2024.107445170:COnline publication date: 1-Jun-2024
  • (2023)Modern Code Reviews—Survey of Literature and PracticeACM Transactions on Software Engineering and Methodology10.1145/358500432:4(1-61)Online publication date: 26-May-2023
  • (2023)Generation-based Code Review Automation: How Far Are We?2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC)10.1109/ICPC58990.2023.00036(215-226)Online publication date: May-2023
  • (2023)A community detection approach based on network representation learning for repository miningExpert Systems with Applications: An International Journal10.1016/j.eswa.2023.120597231:COnline publication date: 30-Nov-2023
  • (2023)Using knowledge units of programming languages to recommend reviewers for pull requests: an empirical studyEmpirical Software Engineering10.1007/s10664-023-10421-929:1Online publication date: 29-Dec-2023
  • (2022)Identifying Source Code File ExpertsProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546243(125-136)Online publication date: 19-Sep-2022
  • (2022)How Developers Modify Pull Requests in Code ReviewIEEE Transactions on Reliability10.1109/TR.2021.309315971:3(1325-1339)Online publication date: Sep-2022
  • (2022)When traceability goes awryJournal of Systems and Software10.1016/j.jss.2022.111389192:COnline publication date: 1-Oct-2022
  • (2022)Cleaning ground truth data in software task assignmentInformation and Software Technology10.1016/j.infsof.2022.106956149:COnline publication date: 1-Sep-2022
  • (2022)Analyzing developer contributions using artifact traceability graphsEmpirical Software Engineering10.1007/s10664-022-10129-227:3Online publication date: 1-May-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media