Understanding Why We Cannot Model How Long a Code Review Will Take: An Industrial Case Study
Code review is an effective practice for finding defects, but because it is manually intensive it can slow down the continuous integration of changes. Our goal was to understand the factors that influenced the time a change, ie a diff at Meta, would spend in review. A developer survey showed that diff reviews start to feel slow after they have been waiting for around 24 hour review. We built a review time predictor model to identify potential factors that may be causing reviews to take longer, which we could use to predict when would be the best time to nudge reviewers or to identify diff-related factors that we may need to address.
The strongest feature of the time spent in review model we built was the day of the week because diffs submitted near the weekend may have to wait for Monday for review. After removing time on weekends, the remaining features, including size of diff and the number of meetings the reviewers have did not provide substantial predictive power, thereby not being able to predict how long a code review would take.
We contributed to the effort to reduce stale diffs by suggesting that diffs be nudged near the start of the workday and that diffs published near the weekend be nudged sooner on Friday to avoid waiting the entire weekend. We use a nudging threshold rather than a model because we showed that TimeInReview cannot be accurately modelled. The NudgeBot has been rolled to over 30k developers at Meta.
Mon 14 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
11:00 - 12:30 | Empirical IResearch Papers / Industry Paper at SRC LT 51 Chair(s): Lingxiao Jiang Singapore Management University | ||
11:00 15mTalk | What Improves Developer Productivity at Google? Code Quality Industry Paper Lan Cheng Google, Emerson Murphy-Hill Google, Mark Canning Google, Ciera Jaspan Google, Collin Green Google, Andrea Knight Google, Nan Zhang Google, Liz Kammer Google DOI | ||
11:15 15mTalk | Understanding Why We Cannot Model How Long a Code Review Will Take: An Industrial Case Study Industry Paper DOI | ||
11:30 15mTalk | Are We Building on the Rock? On the Importance of Data Preprocessing for Code Summarization Research Papers Lin Shi ISCAS, Fangwen Mu Institute of Software Chinese Academy of Sciences, Xiao Chen Institute of Software at Chinese Academy of Sciences, Song Wang York University, Junjie Wang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Ye Yang Stevens Institute of Technology, Ge Li Peking University, Xin Xia Huawei, Qing Wang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI Pre-print | ||
11:45 15mTalk | Leveraging Test Plan Quality to Improve Code Review Efficacy Industry Paper Lawrence Chen Meta, Rui Abreu Meta Platforms, Tobi Akomolede Meta Platforms, Peter Rigby Concordia University; Meta, Satish Chandra Meta Platforms, Nachiappan Nagappan Facebook DOI |