Peer Code Review / Software Inspections

Project Description

In this project we seek to improve the practice of peer code review and more formal software inspections. Some of the work in this project is closely aligned with the work on Human Errors in Software Engineering. My work on this topic consists of the following activities:
  • Analyzing peer code review practices in open source projects to understand important factors.
  • Evaluating the impact of peer code review on the formation of interpersonal impressions among teammates.
  • Conducting surveys of open source and closed source projects to analyze the practice of peer code review.
  • Developing approaches to improve the practice of peer code review and software inspection.

Recent Activities

  • Replicated a survey on peer code review practices and their impacts with a number of open source projects and with developers from Microsoft.
  • Mined data from a large number of open source project repositories to build social networks based upon peer code review interactions. We used these social networks to then analyze the impacts of peer code review on project outcomes.

Key Results

Based on our recent work, we can report the following high-level results:
  • Developers consider code reviews very important for their project, since code review not only identifies defects but also offer several other benefits such as knowledge dissemination, relationship building, better designs, and ensuring maintainable code
  • Developers spend 10-15% of their time in code reviews.
  • OSS participants are task-focused. Factors related to project contributions influence the impression they form of their peers more than other factors.
  • There is a high level of trust, reliability, perception of expertise, and friendship between OSS peers who have participated in code review for a period of time, indicating positive effects of code review on peer impressions formation.
  • Among the various type of social networks that can be constructed using data from Open Source software interactions, the network formed using code review interaction data has the best properties to support peer impression formation.
  • The impressions among OSS peers affect their future collaborations.
  • Prior history of interactions, and author’s reputation influence decisions to collaborate during code reviews.
  • The quality of code encountered during code reviews influence impressions formation. Code changes that are simple, easy to understand, and self documenting lead to higher impressions. Impressions build through code reviews impact future collaborations.
  • Core developers receive quicker feedback for their code and are more likely to have their changes accepted. Peripheral developers may have to wait significantly longer (2 - 19 times) for the review of their code to complete.

Funding Support

Related Publications

Refereed Journals

Refereed Conferences

Projects Frontpage    |     Homepage    |     List of Publications

Last Updated on July 18, 2015 by Jeffrey Carver