Affiliation:
1. Queen's University, Kingston, Canada
2. Ubisoft, Montréal, Canada
Abstract
During code reviews, an essential step in software quality assurance, reviewers have the difficult task of understanding and evaluating code changes to validate their quality and prevent introducing faults to the codebase. This is a tedious process where the effort needed is highly dependent on the code submitted, as well as the author’s and the reviewer’s experience, leading to median wait times for review feedback of 15-64 hours. Through an initial user study carried with 29 experts, we found that re-ordering the files changed by a patch within the review environment has potential to improve review quality, as more comments are written (+23%), and participants’ file-level hot-spot precision and recall increases to 53% (+13%) and 28% (+8%), respectively, compared to the alphanumeric ordering. Hence, this paper aims to help code reviewers by predicting which files in a submitted patch need to be (1) commented, (2) revised, or (3) are hot-spots (commented or revised). To predict these tasks, we evaluate two different types of text embeddings (i.e., Bag-of-Words and Large Language Models encoding) and review process features (i.e., code size-based and history-based features). Our empirical study on three open-source and two industrial datasets shows that combining the code embedding and review process features leads to better results than the state-of-the-art approach. For all tasks, F1-scores (median of 40-62%) are significantly better than the state-of-the-art (from +1 to +9%).
Publisher
Association for Computing Machinery (ACM)
Reference60 articles.
1. [n. d.]. ChatGPT introduction. https://openai.com/blog/chatgpt Accessed: 2023-09-24
2. [n. d.]. CountVectorizer Python library. https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html Accessed: 2023-09-24
3. [n. d.]. Hugging Face website. https://huggingface.co/ Accessed: 2023-09-24
4. [n. d.]. Replication package. https://zenodo.org/records/10783562 Accessed: 2023-09-28
5. [n. d.]. Sentence Transformer. https://huggingface.co/sentence-transformers Accessed: 2023-09-24