Understanding Modern Code Review in Open Source Projects from Social Aspects: Review Processes, Social Structures, and Fairness Issues

Xin Yang (1361209)


software development teams improve the quality of software products during the development cycle. Due to the distributed collaborations in Open Source Software (OSS) developments, modern code review techniques conducted in OSS projects differ from the traditional code review that based on formal inspection meetings. The effectiveness of code reviews is heavily relied on human involvement and social interactions between developers. However, few studies have been done from the human and social aspect. In this work, we use a multi-case study methodology to research the human and social aspects of modern code review in OSS projects. First, we examine the review processes of OSS projects and retrieve review histories from five big-scale and successful projects. We establish a complete method to obtain code review data from Gerrit review repositories. Second, we investigate review processes from the communications and interactions among code review participants. We analyze the social relationship between patch authors and reviewers by conducting social networks from the data we retrieved. Three, we study fairness in the context of the code review process. Furthermore, we investigated the behaviors of reviewers that might lead to unfair code review practices. The primary contribution of this work is the understanding modern code review from social aspects. We find that: (1) Social structure of code review community is essential to evaluate the performance of developers. (2) Reviewers' behaviors strongly affect the review process and outcomes. (3) Fairness issues exist in code review process and should not be ignored.