We had covered Top 5+ Open Source UML Tools, Code Coverage tools for C/C++, Static Code Analysis Tools, Code Profilers for C/C++. Code review is another tool which has been a difficult task for developers for a long time. This is basically due to the lack of quality tools available forcing developers to perform code reviews via emails. There are open source code review tools available to assist the developers to perform code review process effectively.
Here are the top 5 open source code review tools that assist the author; reviewer and the company to efficiently manage the code review process.
1. Review board:
Review board is a web based tool designed using django and python. Review board helps project and companies to kep track of pending code changes and makes the code-review process much effortless and concise. Though Review board was primarily developed for use in VMware, it is designed to be generic enough to be used for any project. Currently it supports source code repositories like – SVN, CVS, Perforce, Git, Bazaar, and Mercurial. Read more here
Yahoo is one of the users of review-board.
Review board has changed the way we review code changes, enforce high quality coding standards and styles, and generally mentor new developers. Every time you visit search.yahoo.com you use code that has been reviewed on Review board. We’re great fans of your work!
– Yahoo! Web Search
Codestriker is a web application designed using GCI-Perl script supporting online code reviews. Codestriker has integration points for CVS, Subversion, ClearCase, Perforce and Visual SourceSafe. There are plug-in in the architecture to provide support to other source code management and bug tracking systems. It also supports few metrics for project management purpose.
David Sitsky is the original author and an active member of Codestriker. Jason Remillard is the other active developer who has done significant contributions to the project.. Numerous authors submit changes to the Codestriker project and they are detailed via changelog file. Read more here
Groogle is another web based peer code review tool aimed at easing the code review process. Groogle supports integration with Subversion source code repository. It provides various other features like:
- Highlighting Syntax for a wide variety of languages.
- Supports comparison of entire repository tree for identify added/removed and modified files in subdirectories
- Like other tools it supports diff for individual files with a graphicial representation
- Sends email notifications to notify review participants when the review status changes
- Provides optional integration against a wide range of existing authentication mechanisms.
- Groogle is released in both RPM and tarball format and can be easily deployed on any Linux system. Read more here
Rietveld is a new tool from Guido van Rossum (Python’s Benevolent Dictator For Life). It’s based on the Mondrian tool he wrote for Google and is somewhat similar to Review board . It is a web app and is hosted on the Google App Engine. It uses the popular web framework django with App Engine and supports projects using Subversion repository. Currently, any project hosted on Google Code can use Rietveld and used the python Subversion server. It is yet to provide support for other Subversion servers. Read more here.
JCR or jcodereview is a web application that is primarily designed to review Java code and provide some special smarts for reviewing Java code. It can be used for any other source code review as well other than Java.
JCR is intended to assist:
- Reviewers. All changes to code are highlighted, and syntax highlighting works for most languages. Code extracts are shown for context when adding comments. If reviewing Java code, references to other classes within the file are clickable, so that you can drill into the detail if required. After review comments have been made, those comments can themselves be reviewed, and the required actions decided on and tracked
- Project owners. Review projects are easy to create and configure, and don’t require any integration with your source code management (SCM) system
- Process bigots. Details of all comments are held in the database, along with any actions required, and whether they’ve been completed. Status reports can be viewed at any time, and also show how much review activity took place on each file (to make sure they were all reviewed)
- Architects and developers. As well as viewing the comments made for a project, it’s possible to see details of all review projects and comments for a specified file – good for finding code that would benefit from refactoring.
JCR is targeted for large-scale and more formal reviews unlike all the tools described above (Review board, Rietveld and Codestriker). Read more here
Jupiter: Lastly, Jupiter is another code review tool you may want to consider. Jupiter is a code review plug-in tool for the Eclipse IDE which is under active development. Read more here