Posted by & filed under Announcements, Release.

We are excited to announce the release of Understand 3.0 (build 611 and later).

We don’t like to make you wait for new features, so many of these features were already added in beta form and you may be familiar with some of them. There is an updated manual covering all of these new features, and several new floating licensing options are also available.  The upgrade to 3.0 is free as long as your maintenance is up to date and Understand 2.5 and 2.6 Licenses will also work with Understand 3.0.  Grab Understand 3.0 here

Features Added Since Understand 2.6 Release

New Floating Licensing Options

Node-Locked Floating License

A node-locked floating license is designed for a single machine that many users will be accessing, such as in a lab or a secure environment.  It is similar in concept to a Standard Floating License but no license server is needed, and it will only work on the one machine.

USB-Dongle Floating License

This license is ideal when the license needs to be shared between different people on different networks, or if there is a lot of traveling involved. The license is mailed to you on a USB drive. As long as that drive is attached to the computer, Understand will work. The license dongle can be shared between users as needed.

Dongle licenses expire after two years and will need to be replaced. There is an additional fee for new and replacement dongle licenses to offset the setup and shipping costs.

Posted by & filed under Announcements.

Structure101 has several great tools for analyzing and refactoring your code base, and they have just finished adding the ability to import Understand projects into their tools. You should definitely check it out.

As an extra incentive, they are offering a free license to the first 3 Understand users who demo one of their tools and send an exported image such as the one below of any part of their code or an Open Source project. Just send it to and tell them Kevin sent you 🙂


To be fair to another great partner, Lattix can also import your Understand projects and is a great tool for organizing and refactoring your code, so give them a look.

Posted by & filed under Documentation.

With build 596 we’ve added support to Understand for Objective-C and Objective-C++, and we would love your feedback on it.  This support is added as part of the new strict analyzer, so make sure your project is fully configured to get an accurate parse. Please point Understand at your Objective-C code, and if you run into any problems or questions, shoot us an email –



Posted by & filed under Announcements, Documentation, Tips.


Many users have asked us in the past if Understand could have better support for Templates and Overloaded functions. We are excited to announce that this is now a reality. Our engineers have worked hard to add a completely new C++ parser to Understand, which is available for Beta testing in build 586.

Our current C++ parser was written with the goal of being able to use fuzzy logic to handle incomplete, non-compiling code gracefully and as accurately as possible. It does a great job at that and will continue to be an important part of our toolset. Unfortunately that same feature caused severe difficulties in parsing templates and recognizing overloaded functions.  The new parser is more strict than the old parser and requires a more accurate project definition. If you plan on using it, please follow the instructions from this post to ensure your project is as correct as possible:  Improving Project Accuracy (C/C++)

To access the new parser, just check the new checkbox on the Languages screen when creating a new project or in the Project Configuration dialog.

We welcome and appreciate your feedback and comments on this new parser – please send it to us at

Posted by & filed under Announcements, Documentation, Tips.

Key Bindings can be accessed via Tools->Options->Key Bindings  this page lets you search for key binding, either by name or by the actual keystrokes. This page also has all of the key bindings in one place for easy browsing. There is also a separate page for each Component(Category) of key bindings in the navigation pane.

We hope these options will make life easier for those who rely heavily on keyboard navigation.


Posted by & filed under Announcements.

We are happy to announce we have partnered with Bangalore based Meteonic to better serve our growing customer base in India. Meteonic has years of experience in the static analysis industry and will do an excellent job with Understand.  As always, our goal is to provide you the best software value, and the best customer support you have ever experienced. They join our growing list of localized partners who help us provide faster support to our international customer base.

In India? Give them a ring:

Tel: +91-9980070704, +91-080-40874900

Posted by & filed under Documentation, Tips.

After printing the Class Dependencies Report (Reports->Dependency->Class Dependencies), we see some headers, with relating numbers that might be confusing as to what exactly they mean. The Dependency Browser can be very useful in seeing the actual dependencies and what they relate to, so I am going to use the Java sample project (getopt) that comes with Understand, the csv file, and the Dependency Browser, to explain the dependencies shown. 
The Dependency Browser shows the Class: GetoptDemo on the left side, and it depends on Getopt and LongOpt (shown on the right of the Dependency Browser, and also in the ‘To Class’ column of the csv file).  In Getopt there are 13 References, and LongOpt there are 12 References.  Both of which are shown in the References column and on the right side of the Dependency Browser.


Read more »

Posted by & filed under Announcements, Documentation.

python-logo[1]Understand now fully supports Python access to its underlying database! The new Python API allows you to write your own scripts that can create custom reports, generate your own metrics and in general make Understand deliver exactly what you want it to.

Complete instructions for setting up and using the API are here:

Getting Started with the Python API

Happy Scripting!