CFar: A Tool to Increase Communication, Productivity, and Review Quality in Collaborative Code Review
Authors
Collaborative code review has become an integral part of the collaborative design process in the domain of software development. However, there are well-documented challenges and limitations to collaborative code review---for instance, high-quality code reviews may require significant time and effort for the programmers, whereas faster, lower-quality reviews may miss code defects. To address these challenges, we introduce CFar, a novel tool design for extending collaborative code review systems with an automated code reviewer whose feedback is based on program-analysis technologies. To validate this design, we implemented CFar as a production-quality tool and conducted a mixed-method empirical evaluation of the tool usage at Microsoft. Through the field deployment of our tool and a laboratory study of professional programmers using the tool, we produced several key findings showing that CFar enhances communication, productivity, and review quality in human--human collaborative code review.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 80%
An Exploratory Study of Sharing Strategic Programming Knowledge
CHI '22· Open-Source Collaboration & Code Review +2
- 67%
Follow the Leader: Technical and Inspirational Leadership in Open Source Software
CHI '22· Open-Source Collaboration & Code Review +2
- 60%
Characterizing Scalability Issues in Spreadsheet Software using Online Forums
CHI '18· User Research Methods (Interviews, Surveys, Observation) +1
- 60%
ResearchIME: A Mobile Keyboard Application for Studying Free Typing Behaviour in the Wild
CHI '18· User Research Methods (Interviews, Surveys, Observation) +1
- 60%
Interactive Extraction of Examples from Existing Code
CHI '18· Open-Source Collaboration & Code Review +1
- 60%
How Users Interpret Bugs in Trigger-Action Programming
CHI '19· Prototyping & User Testing +1
- 60%
Improving Crowd-Supported GUI Testing with Structural Guidance
CHI '20· Automated Driving Interface & Takeover Design +1
- 60%
Interpretable Program Synthesis
CHI '21· Explainable AI (XAI) +1
- 60%
Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code's Purpose
CHI '21· Programming Education & Computational Thinking +1
- 60%
The Voight-Kampff Machine for Automatic Custom Gesture Rejection Threshold Selection
CHI '22· Hand Gesture Recognition +1
Based on Jaccard similarity of research subtopics & professions (≥60%)