Using a context-aware approach to recommend code reviewers: findings from an industrial case study
2020 (English)In: Proceedings - International Conference on Software Engineering, IEEE Computer Society, 2020, p. 1-10, article id 3381365Conference paper, Published paper (Refereed)
Abstract [en]
Code review is a commonly used practice in software development. It refers to the process of reviewing new code changes before they are merged with the code base. However, to perform the review, developers are mostly assigned manually to code changes. This may lead to problems such as: a time-consuming selection process, limited pool of known candidates and risk of over-allocation of a few reviewers. To address the above problems, we developed Carrot, a machine learning-based tool to recommend code reviewers. We conducted an improvement case study at Ericsson. We evaluated Carrot using a mixed approach. we evaluated the prediction accuracy using historical data and the metrical Mean Reciprocal Rank (MRR). Furthermore, we deployed the tool in one Ericsson project and evaluated how adequate the recommendations were from the point of view of the tool users and the recommended reviewers.We also asked the opinion of senior developers about the usefulness of the tool. The results show that Carrot can help identify relevant non-obvious reviewers and be of great assistance to new developers. However, there were mixed opinions on Carrot's ability to assist with workload balancing and the decrease code review lead time. © 2020 IEEE Computer Society. All rights reserved.
Place, publisher, year, edition, pages
IEEE Computer Society, 2020. p. 1-10, article id 3381365
Series
Proceedings - International Conference on Software Engineering, ISSN 0270-5257, E-ISSN 1558-1225
Keywords [en]
Balancing, Software design, Turing machines, Code changes, Context-aware approaches, Historical data, Industrial case study, Mean reciprocal ranks, Mixed approach, Prediction accuracy, Workload balancing, Codes (symbols)
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-20573DOI: 10.1145/3377813.3381365ISI: 000680655000001Scopus ID: 2-s2.0-85092597198ISBN: 9781450371230 OAI: oai:DiVA.org:bth-20573DiVA, id: diva2:1478802
Conference
42nd ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2020, Online, South Korea, 27 June 2020 through 19 July 2020
Note
open access
2020-10-232020-10-232023-03-24Bibliographically approved