Blog

Latest Build – 599

January 29th, 2012

Beta support for Objective-C and Objective-C++ in this build, give us your feedback on it!

Build Notes

Grab it at www.getunderstand.com

CodeCheck Validation

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

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

Running CodeCheck from the Command Line

January 11th, 2012

CodeCheck can be set up to run from the command line using Und if that is your preferred work environment, or if you are looking to automate the task. To see all of the options available in Und, run und help. For specific documentation on each option run und help optionName.

To run CodeCheck from the command line, first you will need to export the CodeCheck configuration file from the Understand GUI that has the checks you wish to run selected.

 

codeCheck

 

Once that is saved to a file, the command line option is

und codecheck C:\path\to\configuration.ini C:\path\to\OutputDir  

Where configuration.ini is my saved configuration file and the results are saved to the OutputDir. 

New Address

December 20th, 2011

We moved our main office this week. 

We are still in scenic St George, near Zion National Park and less than two hours from Vegas. If you are in the area feel free to stop by and visit us!

Our new address is:

Scientific Toolworks, Inc.
249 East Tabernacle, Suite 200
St George, UT 84770

Hiking

C++ Template and Overload Support (Beta)

October 12th, 2011

screenshot.15

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 support@scitools.com

New Key Binding Options

October 12th, 2011

We’ve made a few changes to how keyboard shortcuts are managed with build 586.

Key Bindings can still be accessed via Tools->Options->Key Bindings  but this page now 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. The other change was to add a separate page for each Component(Category) of key bindings in the navigation pane.

While these are relatively small changes, we hope they will make life easier for those who rely heavily on keyboard navigation.

keybindings

Indian Distributor

October 4th, 2011

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:

Meteonic
www.meteonic.com
Tel: +91-9980070704, +91-080-40874900
moumita@meteonic.com

Improving Project Accuracy (C/C++)

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.

Read the rest of this entry »

Class Dependencies Report

September 14th, 2011

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.

dependenciesReferences

Read the rest of this entry »