Hammurapi code review tool
Encyclopedia
Hammurapi is a static analysis tool for identifying potential problems in source code and collecting metrics. The tool's architecture allows to analyze source files written in different programming languages. As of version 5.6.0 only Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 is supported. There are 88 out-of-the-box Java inspectors.

The tool was named after Hammurabi
Hammurabi
Hammurabi Hammurabi Hammurabi (Akkadian from Amorite ʻAmmurāpi, "the kinsman is a healer", from ʻAmmu, "paternal kinsman", and Rāpi, "healer"; (died c...

, the father of written laws.

Hammurapi uses visitor pattern
Visitor pattern
In object-oriented programming and software engineering, the visitor design pattern is a way of separating an algorithm from an object structure on which it operates. A practical result of this separation is the ability to add new operations to existing object structures without modifying those...

 and a forward chaining
Forward chaining
Forward chaining is one of the two main methods of reasoning when using inference rules and can be described logically as repeated application of modus ponens. Forward chaining is a popular implementation strategy for expert systems, business and production rule systems...

 inference engine
Inference engine
In computer science, and specifically the branches of knowledge engineering and artificial intelligence, an inference engine is a computer program that tries to derive answers from a knowledge base. It is the "brain" that expert systems use to reason about the information in the knowledge base for...

 – “Hammurapi Rules” – to analyze code and report potential problems and metrics.

Embodiments

Hammurapi can be used as a plugin for Eclipse, Ant task, or be embedded in a Java application.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK