git-reviewed: A Distributed Peer Review Tool & User Study

Software peer review has been considered the basis of an effective procedure for examining software artifacts, identifying defects and increasing the efficiency of software firms for decades. The process of peer reviewing allows reviewers to check their co-worker's work, which helps in determi...

Full description

Bibliographic Details
Main Author: Mukadam, Murtuza I.
Format: Others
Published: 2014
Online Access:http://spectrum.library.concordia.ca/978570/1/Mukadam_MCompSc_S2014.pdf
Mukadam, Murtuza I. <http://spectrum.library.concordia.ca/view/creators/Mukadam=3AMurtuza_I=2E=3A=3A.html> (2014) git-reviewed: A Distributed Peer Review Tool & User Study. Masters thesis, Concordia University.
Description
Summary:Software peer review has been considered the basis of an effective procedure for examining software artifacts, identifying defects and increasing the efficiency of software firms for decades. The process of peer reviewing allows reviewers to check their co-worker's work, which helps in determining if a standard for a system has been maintained or achieved by the person whose work is being reviewed. The result of this process is a high quality working product that will likely reduce further maintenance effort. There is a large number of code review tools available in the market as of today, which assist in the reviewing task. All these tools are centralized, with the reviews and discussions being stored either on a mailing list or a server. In contrast, the code that makes up a software system is increasingly being stored in a distributed version control system (e.g. Git). In an effort to determine if distributed peer review is a tenable idea, we develop a peer review tool, git-reviewed, which replicates the working model of Git by incorporating reviews into the current Git architecture. git-reviewed is a lightweight and a truly distributed peer review tool, which eliminates a centralized server or a mailing list to store the review discussions. We model our use case based on the Linux kernel, which is a large open source project. git-reviewed has been designed to keep the current development and reviewing practices followed by the Linux kernel developers within the open source environment intact. We also provide better traceability by linking the review discussions on the mailing lists and the changes made in the Git repository. git-reviewed was evaluated by software developers working on large open source projects, (e.g. Linux, PostgreSQL, Git), whose feedback helped us improve our tool and determine if distributed reviewing works in practice.