This is the home page of Hammurapi 6. The previous version of Hammurapi - 5.7.0 - is here.
Automated code quality governance reduces TCO for software intensive systems by enforcing development guidelines and detecting potential problems with minimal overhead for the development organization.
Hammurapi is a code review framework, which allows to build different code review solutions. Code is not necessary a source file written in some programming language, it can be anything that can be represented as an object model - database schema obtained from JDBC connection metadata, XML files, JMS or J2EE server configuration obtained through administration API, … you name it.
The picture above shows steps in the code review process. The process takes source code as input and produces a code quality report as output. Sections below describe each step in the process.
This step in the process takes source code (e.g. .java files) and constructs object model (e.g. abstract semantic graph in the case of Java) which is more suitable for analysis than “raw” sources.
Parsing is performed by Language modules. Language module is a Java library.
During the review step the source model is traversed and individual model elements are inspected for compliance with development guidelines. Inspection is performed by Java classes called inspectors. Inspectors are organized into inspector sets. Inspectors report observations. There are four types of observations:
cyclomatic complexity = 10During this step the model, inspector set, and observations are rendered by Reporters to produce a report. In the standalone embodiment the report produced in HTML format, in the plug-in embodiment some observations types (Violations and Warnings) are reported using IDE API's.