Blog

Archive for the ‘Understand 2.6’ Category

Highlighting Unused Entities

Tuesday, April 17th, 2012

We’ve added a new option to highlight entities that are defined but not used.

image

 

To enable this option go into Tools->Options->Editor->Advanced->Unused Entities

image

Right now this only works for functions and variables. Let us know if you find it useful, and if there are other entities you want it added for.

Latest Build – 613

Monday, February 27th, 2012

Understand 3.0 is now available. Check out the new features.  

Build Notes

Grab it at www.getunderstand.com

CodeCheck Validation

Monday, January 30th, 2012

Some customers have asked us to provide test files for validating the output of CodeCheck feature. For example, Avionics teams using DO-178B can use it for Tool Qualification.  The attached file includes a test suite for each of the CodeCheck Checks, as well as a script that uses our Perl API to automatically run each of the Checks on the corresponding test suite. Before running the script, modify the paths at the beginning to point to the appropriate location, then simply run it from the command line with uperl codecheck_validation.pl

As always, let us know if you run into any questions or problems – support@scitools.com

Codecheck Validation Tests: DOWNLOAD

Objective-C Support

Tuesday, January 17th, 2012

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 and your Objective-C code, and if you run into any problems or questions, shoot us an email – support@scitools.com

 

image

Improving Project Accuracy (C/C++)

Friday, September 16th, 2011

Usually just identifying the root of your source tree and saying "Analyze" will provide you with a accurate, useful Understand project. Sometimes, however, you need a more accurate representation of your project. Maybe you have large swaths of inactive code that should be enabled, maybe there are grayed out (unresolved) entities that do exist in the source code, or maybe the metrics don’t seem to line up. In cases like this, you will want to use some of the advanced C++ options to fine tune the parse. Here are some things that will improve the parse accuracy.

(more…)

New Python API

Monday, August 29th, 2011

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.

Getting Started

The Python API runs on your 3.x installation of Python, you can grab it from here if you need to install it.

Once you have Python installed you need to tell it where the Understand module is. The easiest way to do that is to add/modify the PYTHONPATH environment variable to include the module location, which is SciTools/bin/<System>/python. Also if you did not add Understand to the Path variable during installation, you will need to add the SciTools/bin/<System> directory to PATH.

Finally, to use the API you will need to put ‘import Understand’ in your script.

Documentation

The most up-to-date documentation will ship with Understand and can be accessed from the Python Console with:
   import understand
  help (understand)
A more readable version can be obtained with the python ‘pydoc’ command, which can generate an html version of the documentation. We also try to keep a current version of the Python documentation on the Manuals page.

Sample Scripts

The documentation includes some samples. More detailed example scripts are shipped with Understand in the SciTools/scripts/python folder.

Happy Scripting!

Clustered Call Graphs

Monday, August 29th, 2011

The new interactive Clustered Call Graphs show the function call graph, organized by file. There are several variants of this graph: Call, Call-by, Butterfly and Internal Call. They can also be accessed from the function, class, file or architecture level. These graphs can all be accessed from the Graphical View right click menu for the entity.

Cluster Call Butterfly Graph


Butterfly

Cluster Callby Graph

image

Cluster Call Graph

image

Cluster Call Internal Graph

image

(more…)

Macro Definitions – Improved!

Monday, August 29th, 2011

imageThere is a new option for identifying and defining missing macros. The new tool shows what macros are not defined as well as how and where they are referenced. This makes it easy to see which missing Macro definitions would have the largest impact on your project.

(more…)

Integrate Understand with your build system

Wednesday, July 20th, 2011

Many teams want to quickly generate Understand’s HTML reports and metrics as part of their regular build process. The new version of the command line tool ‘und’ provides a lot of options for doing exactly this. In this case, I am going to create an Understand project from the latest version of my source code, and generate the html reports and metrics for that version of the code. Since the new version of und has several different modes, I will show how this would be done in each mode.screenshot.14

(more…)

Re-Written Command Line Tool ‘Und’

Monday, June 27th, 2011

Build 571 contains a completely re-written version of ‘und’, the command line interface for Understand.

The commands have been standardized and the tool should be much easier to use. Because of the extensive changes, this new version is not backwards compatible with older versions of und. The old und will still ship and has been renamed ‘undlegacy’ – current users will need to change the name of the binary for scripts to continue to work.

In general the syntax for running commands are similar to Subversion and should be much more intuitive than previous versions.

The new version also includes a cool new interactive mode that lets you specify a database and then continually run commands in it, similar to MySQL.

The help documentation has been flushed out extensively and should be much more useful – just run und help for a complete overview of how to use this great new tool. Also this post steps through each different method of using und and demonstrates some of the most common commands: Integrate Understand with your build system.

screenshot.2