Posted by & filed under Build Notes.

(Build b771) – 20 Mar 2015


  • Updated MISRA 2008 rules 3-9-2, 7-1-1, 7-1-2, 9-3-3 and their All Check counter parts to be more accurate.


  • Fixed bug in und add -exclude flag where wild cards were expanded instead of being assigned to the directory exclude field.


  • Disabled tooltips in editors that don't have focus.


  • Fixed error in cluster call graphs where going from Aggregate by Arch to Aggregate by something not an arch, and then back to aggregate by original arch did not work.

  • Fixed error in cluster call graphs where collapsing the parent of the root node drew the root node anyway as a parentless node.
  • Fixed error in saving architecture cluster call graphs where graph saved an entity as the root instead of the arch.
  • Added Uml Sequence Diagrams (graph also available from API)
  • Fixed error in cluster call graphs where file clusters vanished upon expansion when aggregating by an architecture.


  • Removed prompt to close all open editor windows when project portability settings change. Fixed failure to update editor window state after files open in an editor are added to the project by rescan.


  • Fixed failure to load relative and named root paths in the replace-in-files preview window.

  • Fixed failure to launch find-in-files from find results window.


  • Fixed metrics treemap generation from Python and Perl APIs.

Posted by & filed under Announcements, Release.

We will be releasing Understand 4.0 next week 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
  • 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


Posted by & filed under Announcements, Documentation.

Build 771 adds the new UML Sequence Diagram graph.

A Sequence Diagram is an interaction diagram that shows how processes operate with one another and what is their order. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario.

A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner.


In Understand this graph is available for functions and methods that call member methods.


Posted by & filed under Announcements, Documentation.

A new version of the control flow graph has been added that allows much more interactivity. You can access this graph by right clicking on a function or method and selecting Graphical Views->Cluster Control Flow. The new graph lets you collapse and expand subsections of the graph by double clicking in the bounding box of that area. You can also hide parts of the graph that you are not interested in.

Here is the same function with the cluster control flow graph on the right, and the regular control flow on the left.

control flow graphs


Note how parts of the graph are clustered together, double clicking in that area collapses it:



This extra interactivity gives you the ability to work with much larger graphs while still only focusing on the areas that are important to you

Posted by & filed under Announcements, Documentation.

Understand now has a selection of predefined themes that let you quickly change the look and feel of the editor. These themes can be accessed under Tools->Options->Editor->Styles. The Predefined: section at the top of the page lets you select the theme you want, and you can customize the theme to your liking.

predefined theme

Here are what several of the themes look like:

Understand Theme

Understand Theme

Terminal Theme

Terminal Theme

Silver Theme

Silver Theme

Onyx Theme

Onyx Theme

Classic Theme

Classic Theme

Aqua Theme

Aqua Theme


Posted by & filed under Tips.

We have recently added a great new feature to Understand to make any of your Refactoring needs easier. To change the name of a function, method, class, etc., right click on the entity name and select ‘Refactor->Rename’.






Type in the new name that you want to change it to and either select ‘Apply Changes’ or select ‘Preview Changes’ to see everywhere that the name will be selected.



This ‘Preview’ shows what the file looks like currently and what it will look like with the changes. Notice at the bottom it also shows all the locations where the changes will be made.




There are several other options in this Refactoring Tool including an ‘Extract’ option.


Posted by & filed under Tips.

Sometimes a different type of search that provides more information can be a lot more useful than just a simple search.

Take a look at the ‘Entity Locator’, available by going to ‘View->Entity Locator’.


The Entity Locator consists of sortable columns of information. Additional columns can be added by clicking on the plus icon in the top right of the Locator, allowing for a custom view.


Each column also has quite a few options available by clicking the dimple icon or right clicking on the column header. Several options are shown in the image below, including the ability to ‘Freeze Columns’ (similar to the ability in spreadsheet applications).


In the image below, the first two columns are frozen and the other columns can be scrolled horizontally while still seeing the frozen columns.


Let us know if you have any questions and enjoy the Entity Locator.

Posted by & filed under Tips.

Sometimes you ‘inherit’ code that may not be as “pretty” as you would like it, but taking the time to fix these little things could be very time consuming. Understand helps with a ‘reindent’ option and a ‘sort’ option.

messyFunctionHere you can see that these lines are not lined up like most of us would like.

The quick fix is to highlight the text and select ‘Reindent Selection’.



The results are quick with a correctly indented piece of code.   goodFunction



Sometimes we just want a little organization and want things to be alphabetized. Highlight the text, right click and select ‘Sort Selection’ in the context menu.



The result is an alphabetized list that can make the pickiest person happy.

notSorted     sorted




Posted by & filed under Tips.

Having customized work space can be essential in improving work flow. Going beyond selecting what windows to show, Understand provides the flexibility to “release windows” and place them  where they will work the best for you! The possibilities are endless, but here are a few examples.

releasedual2     releasedual1



Above is a “dual screen” version and below is a single screen version.


To use the “released windows”, click on the icon at the top right.     releaseWindows



To release the editor windows, right click on the file name and select ‘Release Window’ in the Context Menu.





If you decide that the “released windows” is not for you, but “putting it all back” may be time consuming, there is an option under ‘Window->Predefined Windows Layouts’ to get you back quickly.

Have fun and enjoy your new work space!





Posted by & filed under Tips.

Sometimes we just want to see multiple things at once, and our editor window allows for just that!

Clicking the icon in the top right corner of the editor window provides a “split” window feature that

allows you to see the same file multiple times.

Each different section can be scrolled individually and the height can be changed if you

need to see more of one section than another.

Now it gets even more cool… using the icons at the top select the icon to ‘split vertically’.
Now you can see the source file and the companion header file that goes with it. Since the source file is quite long I still want to see different areas of the same file, so I remember to use the horizontal split that we just discussed.


Giving me a very custom view of exactly what I want to see!