Understand 6.3 (build 1130)

Graph Updates - A prominent feature of Understand, graphs are frequently utilized to bring your code to life through unique visual representation. Updates to Understand's graph feature include the addition of Data Flow and Variable Tracker graphs, improvements to graph styles and display options, including an enhanced legend, comment and annotation options for individual nodes, and the ability to add Metric Overlays to graphs.

Data Flow Graph

With our Data Flow diagrams, you can visualize what functions and objects interact with a given entity. Read more

Variable Tracker Graphs

Use the Variable Tracker Graph to help track down your latest bug by seeing all the possible values of a variable.

Customizing Graphs and Adding Metric Overlays

From changing edge and node styles to adding metric color scaling, it's easy to make Understand's graphs completely yours. Walk me through it

Background CodeCheck - One of the most popular features of Understand, CodeCheck is continuously being improved by our engineers. These checks can already be run automatically, but Understand 6.3 takes it to the next level. Background CodeCheck verifies your code each time you save a file, so there is nearly continuous verification of your code as you build out your project. Learn how to add Background checks to your project.

Violation Browser - An easy way to view the violations of your project, use the Violation Browser to view and jump to any violation in your code. This feature allows you to view violations at the file, directory, and project levels, so you can make the right correction to the right violation every time.

Automated Dependency Rules - Understand allows you to write your own dependency rules and check them against your code. With version 6.3, it's easy to identify the dependencies in your code and display them automatically each time you open your project. You already know what your code should look like, now you can visualize exactly what your code does look like. Stop adding unwanted dependencies.

Automatic Architectures

Automatic architecture plugins are Python scripts that get run every time you open your Understand project. They allow you to easily create your own architectures that are automatically updated. What can that be used for? Well, anything you want!

Here are a few ideas:

  • Query version control to make an architecture of your most often modified files to identify churn.
  • Automatically partition your files based on folder structure or file names
  • Make an architecture that quickly separates 3rd party libraries from your team's code

AUTOSAR Support - Along with MISRA and Effective C++, we are excited to add AUTOSAR to the list of standards that Understand's CodeCheck feature supports. Understand has static analysis checkers for 94% of the AUTOSAR checks that can be automated, which is one of the best rates in the industry. Explore AUTOSAR

SARIF Import - This feature allows for communication between various static analysis tools. If you get your code violation data from another source, save the information as a SARIF file, and import the data into Understand to investigate and find solutions to those errors.

Spell Checking - Spelling errors in your comments are now a thing of the past. Understand now identifies misspelled words and lets you select the correct spelling. You can also add the word to your custom dictionary. Additionally, there is an option to verify that strings are correctly spelled. As a bonus, entity names are automatically taken into account and not reported. We're starting with English, but let us know if you want support for other language dictionaries. Learn more.

Background Analysis - There is a new option to automatically analyze your project every time you save. With this option set, the analysis now happens in the background so you can keep using Understand during the analysis phase.

Support for C# 11 - With the release of Understand 6.3, we have added support for the latest version of the C# language.

Minor Metric Changes - We added a new metric, CyclomaticStrictModified and made a minor change in how the cyclomatic complexity is calculated with the C++ Strict Parser. It is now more accurate and consistent with the other languages. See the Build Notes for more details.

Jenkins Plugin - Our new plugin provides an easy interface to run Understand from Jenkins, creating and analyzing projects, inspecting your code for violations, and exporting useful metrics about your code. Violations can easily be sent to Warnings Next Generation for easy reporting and issue tracking.

Extras A few more things that have been added since Version 6.2 was released:

  • Support for Keil Project Files
  • MPLAB XC32 compiler support
  • MPLAB XC16 compiler support
  • Support for CUDA files in C++ strict parser