Date Posted: April 21, 2009
What is Collaborative Code Review Tool?
Collaborative Code Review Tool is a code review plug-in for Eclipse that supports the code review process, particularly the "Selective Homeworkless Review" methodology.
The tool naturally integrates into the developer's working environment. It supports a distributed review environment and the various roles used in a review meeting. Reviewers can review the code at the same time, either through a virtual or a face-to-face meeting, or at different times. Review comments and Author navigation through the code are visible to all reviewers. Review comments are associated with line numbers, and the association is maintained when the code is changed by the developer inside Eclipse.
The integration with the Eclipse IDE enables easy code navigation, which is required especially when object-oriented code is reviewed.
The tool also supports a quantitative feedback mechanism that reports the effectiveness of the ongoing review effort. This feedback is updated as the review progresses, and can be utilized by the review moderator to keep the review process on track.
What is Selective Homeworkless Review?
Code review is the most effective technique for ensuring software quality.
In particular, the Selective Homeworkless Review technique enables
effective code review in time-constrained and distributed projects.
In selective homeworkless review, the artifacts for review are selected
according to quality concerns and review techniques with little or no
preparation are used. A paper describing the Selective Homeworkless Review methodology is
available at The Guide to Computing Literature.
How does it work?
Collaborative Code Review Tool extends the Eclipse IDE by adding a Code Review perspective to the workbench. A Review Explorer view presents the list of reviews and provides actions such as Create Review, Join Review, and Modify Review. Each user chooses one of the review roles: Code Owner, Scribe or Reviewer.
The Scribe and the Reviewers connect to the Owner over the network and receive the files for review, the review comments and the code navigation actions. An asynchronous review mode can be used as a preparation stage for the team meeting.
The review comments are presented in a Review Comments view and marked with comment icon in the left ruler of the source editor.
A Statistics view presents the ongoing effectiveness of the review effort and helps in keeping the review process on track.
About the technology author(s)
Moran Shochat holds a B.Sc. in Computer Science from the Technion, Israel Institute of Technology. He has eight years of software development experience in the medical devices industry. Currently he is with the Software Testing, Verification and Review Methodology Group in IBM's research lab in Haifa. He conducts research and development of techniques and tools in the areas of code reviews, code coverage analysis and mining of software project data.
Nadav Steindler holds a B.Sc. in Computer Science from UCLA. He has been working as a C++ and Java programmer for several years. Currently he is with the Software Testing, Verification and Review Methodology Group in IBM's research lab in Haifa. He develops software tools in the areas of software test and code review.
Eitan Farchi, Ph.D. has been with the IBM Haifa Research Laboratory since 1992; there he led a project to improve the performance of operating systems. He is currently involved in software testing and developing coverage-directed tools for testing concurrent and distributed programs. Dr. Farchi is a frequent speaker at software testing conferences, is the author of a tutorial on the testing of distributed components, and teaches software engineering at the University of Haifa.
