RSS Feed for This PostCurrent Article

Hammurapi: Another Java Code Review Tool

In this blog I have written various code review tools for Java. Here is another free Java code review tool which is free but not open source.

Hammurapi is a versatile automated code review solution. It allows you to establish code governance processes in your organization by injecting automated code review “hooks” into development and build processes. In a nutshell, you need Hammurapi 5 if you are responsible for tons of code written by somebody else.

Features as quoted from the website

  • Robustness – Hammurapi 5 doesn’t fail on source files with errors, it doesn’t fail if some inspectors throw exceptions. It stores source code errors and exceptions thrown by inspectors in the database as warnings and continues review until all source units are reviewed. Review report contains a list of warnings.
  • Performance – On Pentium 2 Ghz it takes about 7 min for Mesopotamia to parse and store 2600 java files with total size about 26 Mb. Then it takes about 10 min for Hammurapi to review these files. Hamurapi 5 was built from the ground up to work with thousands of source units. Both parsing and reviewing can be done in multiple threads.
  • Extensibility – Hammurapi is a modular solution. It is built on two other Hammurapi Group products – Mesopotamia and Hammurapi Rules. Different pieces of the solution can be independently extended or even replaced. 
  • Power – Hammurapi uses a rules engine, Hammurapi Rules,  to infer violations in the source code. Use of a rules engine allows to implement non-trivial logic in inspectors.
  • Can review sources in multiple programming languages – In modern applications, where pieces of Java or other programming language code are glued together with XML descriptors and where client-side JavaScript invokes server-side actions (AJAX, Flex), it is very important to have a holistic view of the application. Reviewing only Java or C# sources is not enough to ensure health of the application. Mesopotamia can parse and store source files written in different programming languages. Hammurapi 5 works on Mesopotamia object model and as such can review sources in multiple programming languages, perform cross-language inspections, and generate a consolidated report. *
  • Distributed reviews – Loading of sources, review and report generation can be performed on different processing nodes and/or at different time. For example, loading of source can be done as part of build process on a build machine(s), review of sources can be done on a dedicated review machine, or on a build machine during low load period (e.g. at midnight). Reports can be served from yet another machine. This approach allows to consolidate reports from multiple machines in one place.
  • Eclipse plug-in


Trackback URL


Sorry, comments for this entry are closed at this time.