Posted by & filed under Announcements, Release.

With this week’s Build 529, we’ve also incremented the major release version of Understand to 2.6.  The changes released in 2.6 represent over a year or so of development, and we felt the new features big enough to warrant a version bump.

New in Understand 2.6 are:

  • 64 bit Linux installation kit. This is a native kit, and does not require 32 bit compatibility libraries.
  • UML Diagram. Class diagrams are now available for the Project and individual classes.image
  • Treemaps. A new way to visualize metrics.image
  • Codecheck. Implement coding standards and easily browse results.image

For more information on these new features. Click below to see the details.

64 Bit Linux kit.

This is a native 64 bit Unix installation, for those with 64 bit Linux systems that do not want to install the 32 bit compatibility libraries.

UML Diagram.

Implemented via a plug-in script, this feature is available on the Right click menu for any class.


and draws a UML Class Diagram for the class selected:


A global version, drawing all project classes is also available via the Graphs->Project Graphs-> menu:

image image

Graph drawing options can be found by right clicking in the “gray” area of the graph.


Available via the Metrics-> menu, Treemaps show metrics information via size of graph nodes and color gradient. Different metrics can be tied to size or color to help visualize the code:


Here node size is tied to the metric “CountLine” and color to “MaxCyclomatic” with dark blue representing the highest complexity:


So we learn that unzip.c is large, but not particularly complex, while inflate.c is large and highly complex.

By default the maps are nested by directory structure, although if you have built other architectures then they can be used as well.   Another example, using “SumCyclomatic” and “CountStmt” will show what files do a lot of work and are also complex:

    SumCyclomatic, CountStmt –  “See where work and complexity reside”



Many customers use Understand and Understand scripting to implement coding standards or to perform quality control checks on their source code.

With Understand 2.6, we’ve implemented that feature directly into a tool called “CodeCheck”, which is available from its own top level menu.


To use Codecheck, you specify what files you want to check, and then what checks to perform. It runs and then integrates the results into an easy to browse/organize results viewer:

Selecting Checks


Scripts are explained in the Rationale section and can be configure.

Results ordered by file. Note counts of violations on left.

Results ordered by violation

Violations in table, and filtered to find a .cpp/.h pair

Treemap of violations (size) and number of distinct violations (color).