Quid Pro Quo: An Exploration of Reciprocity in Code Review

We explore the role of reciprocity in code review processes. Reciprocity manifests itself in two ways: 1) reviewing code for others translates to accepted code contributions, and 2) having contributions accepted increases the reviews made for others. We use vector autoregressive (VAR) models to explore the causal relation between reviews performed and accepted contributions. After fitting VAR models for 24 active open-source developers, we found evidence of reciprocity in 6 of them. These results suggest reciprocity does play a role in code review, that can potentially be exploited to increase reviewer participation.

[1]  Mark Harman,et al.  The Assessor's Dilemma: Improving Bug Repair via Empirical Game Theory , 2021, IEEE Transactions on Software Engineering.

[2]  Mark Harman,et al.  Game-theoretic analysis of development practices: Challenges and opportunities , 2020, J. Syst. Softw..

[3]  Ran Tao,et al.  Python Guide to Accompany Introductory Econometrics for Finance , 2019, SSRN Electronic Journal.

[4]  Christian Bird,et al.  Code Reviewing in the Trenches: Challenges and Best Practices , 2018, IEEE Software.

[5]  Jesús M. González-Barahona,et al.  Perceval: Software Project Data at Your Will , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[6]  Marco Aurélio Gerosa,et al.  More Common Than You Think: An In-depth Study of Casual Contributors , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[7]  Anders Milhøj,et al.  Multiple Time Series Modeling Using the SAS VARMAX Procedure , 2016 .

[8]  Georgios Gousios,et al.  Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective , 2014, ICSE.

[9]  Alberto Sillitti,et al.  A multivariate classification of open source developers , 2013, Inf. Sci..

[10]  Alberto Bacchelli,et al.  Expectations, outcomes, and challenges of modern code review , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  Thomas L. Burr,et al.  Modeling Financial Time Series With S—Plus , 2007, Technometrics.

[12]  Lutz Kilian,et al.  A Practitioner's Guide to Lag Order Selection For VAR Impulse Response Analysis , 2005 .

[13]  Skipper Seabold,et al.  Time Series Analysis in Python with statsmodels , 2011, SciPy.

[14]  Katarina Juselius,et al.  The Cointegrated VAR Model: Methodology and Applications , 2006 .