Posted by & filed under Build Notes.

(Build b861) – 21 Oct 2016


  • Fixed a bug in MISRA 2012 rule 8.7 and All Check script noExternalLinkageUnlessExternal.upl where the check would fail on an entity that did not have a parent.

  • Potential fix to a CodeCheck crash when interrupting/stopping an analysis.
  • Fixed a bug in MISRA 2012 rule 8.4 and All Check script compatibleDeclarationVisibleWhenExternalLinkageIsDefined.upl where the check would fail on an entity that did not have a parent.
  • CodeCheck Ignores Violation fix to allow commas in the notes field during an export/import. Also fixed an issue in the export when Check names contain quotes.


  • Fixed a spelling error in Tools – Options – User Interface – Command Window Font.

  • Fixed several Python API issues in the new Mac app bundle layout.


  • Fixed an issue where duplicate names were not showing on the graph or table correctly (showing 0 on the table and combined on the graph).

Posted by & filed under Announcements.

In an effort to make our APIs more consistent a few of the API files have been moved around with build 858. Your code may need to be updated to reflect these changes.


udb.h,, udb_api.dll and udb_api.lib have all been moved to bin\<OS>\C

Python API

The bin\pc-win64\python folder has been capitalized to bin\<OS>\Python

Custom Perl API

The Understand Perl library files have been moved up a level from bin\<OS>\Perl\STI\Maintain to bin\<OS>\Perl\STI
This will only affect users that are using the perl API with their own custom install of Perl 5.10.0, not those running scripts inside of Understand or using the uperl executable.

Posted by & filed under Announcements, Documentation.

Do you ever wonder how many licenses are really being used? Are engineers saying they don’t have any licenses available when they need them? We have added Floating License Tracking to make answering these questions a little easier. After upgrading the License Manager to build 793 or later, the server administrator can choose a location to save the log file, and start logging right from the License Manager GUI.


Once the logging is enabled take a look at the different graphs that are available by selecting the ‘Reporting’ tab. If your license file consists of different major versions of Understand, they will be color coded and divided up accordingly.


License Usage by Month



License Usage by Week



License Usage Daily

Notice that these graphs also show the number of times that a license was denied, meaning that all of the licenses were already in use when an engineer tried to get a license. This can help a team know if they need more licenses and help determine how many are needed.


If you like to see the raw data, or just want to see some more details, take a look at the log table that is available under the Reporting->Log Table tab. If you still want more data than this, let us know and we can give you details about how to get even more with a little custom work.


Log Table

Posted by & filed under Announcements, Documentation.

Great news, if your team uses floating licenses you now have the option to checkout a license when you travel!

When this feature is enabled by your server administrator a new section will appear in the Help->Licensing dialog in Understand while you are connected to the license server:

ToGo Client

Simply select the number of days you want to keep the license and hit the “Checkout” button. At that point you can disconnect from the network and you will have an Understand license on your machine until the time expires or, if you get back to the office early, you can hit the “Checkin” button.

togo checkin


This feature, which we are calling “ToGo” is disabled by default and needs to first be enabled on the floating license server with the Instructions below; you will also need Understand 4.0 build 790 or later.

License Manager Setup

1. First, make sure the license manager is running build 790 or later. You can get the license build from

2. Next look for the ToGo line in your license.dat file and change the number from 0 to the maximum number of days you want users to be able to keep a license. If the line doesn’t exist you can type it in manually before the “Server:” Line

togo license file

3. Start and stop the license server and it should be all done, Enjoy!

Posted by & filed under Tips.

When using Understand it is possible to get to a point when you have quite a few windows open and want to be able to “browse” through the windows quicker and easier. The Window Selector is the perfect choice for this.

To open the Window Selector, choose ‘View->Window Selector. Notice that it shows several graphs and a number of source files in the list. I can easily click on any of these or use my keyboard to access them, and quickly see the file or graph that I am interested in.


Notice that the list does not show me the Entity Filter, Information Browser, or any of the Understand windows that I may also want to choose from. To change that, simply click on the Show: drop down arrow and select the option that best suits your needs. For me, I like to see ‘All Windows’, which then gives me the view shown below on the right.


There are also options available to be specific about how the items are sorted, how short or long the Filename is, and even a ‘Filter’ field at the bottom of the window.

Hopefully the Window Selector will make browsing your open windows and documents a little easier.


On a side note…there is a simplified version of the Window Selector that can be accessed quickly with the keyboard shortcut ‘Ctrl+Tab’. This temporarily opens a separate window that acts the same as the Window Selector but without all the options. The window closes when a file is selected.

Posted by & filed under Tips.

If you find yourself frequently adding boilerplate text, changing the same kind of text, or repeating something over and over again in the editor, macros may be your new best friend. You can record your actions in the editor, and then save them and replay them at whatever location you want. This is much more than copy and paste, you can record arrow key movements, keyboard shortcuts, deleting, actual typed text, and much more. Then you can add keyboard shortcuts to each of those recorded macros. Give it a shot!



Posted by & filed under Announcements, Release.

We will be releasing Understand 4.0 with build 772. An updated license is required, which is free as long as your maintenance is up-to-date. To check the status of your maintenance or request the updated license, please email us at

We like to add new features to Understand as soon as they are finished, that way you don’t have to wait. So, as with our previous releases, Understand 4.0 is a collection of new and existing features. Below is a list of the features that have been added since Understand 3.1 was released, or that will be included in 4.0:

  • UML Sequence Diagrams
  • Eclipse Plugin
  • Refactoring Tools
  • Editor Themes
    • The Understand Theme is now selected by default if you haven’t modified the styles
    • Entities are much more visible in the default theme
  • Control Flow Cluster Graphs
  • Relationship Graphs
  • Cluster Graphs Customization Options
    • These options are accessible via the Tools Menu under Options->Graphs->Cluster Graph Styles
  • MISRA 2012  Support in Codecheck
  • Various metrics added for supported languages
  • Java API
    • A minimalistic but functional Java API was added while creating the Eclipse plugin
    • The documentation is in the install folder under doc\manuals\java
  • Java 8 Support
  • Entity Locator Overhaul 
  • Editor Macro Support
  • C++11 and C++13 Support
  • Visual Studio 2012/2013 C++ and C# project files
  • Licensing Changes
    • All licenses now show the Maintenance Expiration Date
    • Single Developer Licenses are now tied to a specific email address