Blog

Archive for the ‘Scitools Announcements’ Category

Understand 3.0

Monday, April 30th, 2012

We are excited to announce the release of Understand 3.0 (build 611 and later). 

We don’t like to make you wait for new features, so many of these features were already added in beta form and you may be familiar with some of them. There is an updated manual covering all of these new features, and several new floating licensing options are also available.  The upgrade to 3.0 is free as long as your maintenance is up to date and Understand 2.5 and 2.6 Licenses will also work with Understand 3.0.  Grab Understand 3.0 here

Features Added Since Understand 2.6 Release

New Floating Licensing Options

Node-Locked Floating License

A node-locked floating license is designed for a single machine that many users will be accessing, such as in a lab or a secure environment.  It is similar in concept to a Standard Floating License but no license server is needed, and it will only work on the one machine.

USB-Dongle Floating License

This license is ideal when the license needs to be shared between different people on different networks, or if there is a lot of traveling involved. The license is mailed to you on a USB drive. As long as that drive is attached to the computer, Understand will work. The license dongle can be shared between users as needed.

Dongle licenses expire after two years and will need to be replaced. There is an additional fee for new and replacement dongle licenses to offset the setup and shipping costs.

Indian Distributor

Tuesday, 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

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…)

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

Parse Improvement Tool

Tuesday, April 5th, 2011

Improve Parse With Understand 2.6 Build 560 we’ve added a powerful new tool for creating C/C++ projects. The Parse Improvement Tool helps you quickly find missing include paths for your project which will lead to more accurate parsing and project information. Previously Understand relied on you knowing exactly where the include files were and specifying the path. Now there is a tool to help you find those missing files.

(more…)

What’s new in Understand 2.6?

Monday, September 13th, 2010

With this week’s Build 529, we’ve also incremented the major release version of Understand to 2.6.  The changes released in 2.6 represent over a year or so of development, and we felt the new features big enough to warrant a version bump.

New in Understand 2.6 are:

  • 64 bit Linux installation kit. This is a native kit, and does not require 32 bit compatibility libraries.
  • UML Diagram. Class diagrams are now available for the Project and individual classes.image
  • Treemaps. A new way to visualize metrics.image
  • Codecheck. Implement coding standards and easily browse results.image

For more information on these new features. Click below to see the details.

(more…)

Understand powers metrics in recent IEEE Software article

Wednesday, March 10th, 2010

Dr. A. Gunes Koru and Dr. Khaled El Emam’s latest paper in IEEE Software, titled “The Theory of Relative Dependency: Higher Coupling Concentration in Smaller Modules”, turns conventional thoughts on where to test upside down by showing that smaller modules, not larger or more complex modules, can provide more effective testing payback in terms of defects eliminated:

Abstract:

Recent studies have repeatedly found that smaller modules are proportionally more defect-prone. In this article, the authors formulate and test a hypothesis stating that smaller modules are proportionally more coupled, given that dependencies caused by coupling have been consistently associated with defect-proneness. Strong evidence supports this hypothesis. Furthermore, refactoring exacerbates this effect. On the basis of this study’s highly consistent results, the authors state the empirically based theory of relative dependency. That is, in large-scale software systems, smaller modules will be proportionally more dependent compared to larger ones. These findings have two implications for practice. First, we now have an empirically supported mechanism explaining the observations that defect concentration is higher in smaller modules. Practitioners can use this mechanism as evidence while seeking resources and support to revise or amend their organizations’ quality assurance and quality control practices. Second, particularly for the projects that refactor extensively, such as those using agile methods, focusing defect detection activities on smaller modules will increase their efficiency and effectiveness even more.

They used Understand to generate the C++ measurements of many large open source projects.  We donate licenses of Understand to worthy research projects frequently. We’ve e-mailed many times with Dr. Koru to support his efforts and are pleased his work was accepted by IEEE.

The team extensively used the DIT (Depth Inheritance Tree) and CBO (Coupling Between Objects) that Understand provides.

We’ve noted a few ideas for product enhancements from reading their article.

Understand 2.5

Tuesday, March 9th, 2010

image

This weekend we released Understand 2.5 (build 507).  Its main changes include:

  • Instant Search – a new feature which permits instant searching in even the largest bodies of code. Indexing starts after parsing ends. It operates in the background without holding up any other activities. When complete the search box in the upper right instantly answers your queries.
  • Dependency Graphs -  these replace our old dependency graphs with new layout, saving, and cool clustering, save, undo, and redo options. They use a much updated layout engine, which we will roll into our other graphs and use to create new ones in the coming months.
  • Simplified LicensingUnderstand 2.5 includes all languages and all features. The only licensing difference, in terms of price, is the use of floating or specific developer licenses.  Understand 2.5 does use a new license – your old one will not run it permanently. Instead, it will operate for 30 days, giving you time to request a replacement license if you are under maintenance. This is done directly from Understand or via our website.
  • Pricing -  we’ve removed all levels and language variants. Understand 2.5 has it all. This will be our path going forward with new features as well.  The new price is a little higher and the only differentiation is if you need a Single Developer or Floating License.   If you are under maintenance you can update to Understand 2.5 without any cost. Nor will the higher price affect your maintenance going forward. It will remain 18% of your purchase price annually.
  • TrackBack Removed – this will be missed by many users, but we needed to focus on core analysis capabilities.
    Take heart, the engineer who wrote much of it will be taking it open source very soon. Look for an announcement here. To be notified by e-mail send a request to support@scitools.com.
  • Menu Revamping – menus were moved about and standardized to be more in common with most applications. Additionally, edit menu items are now contextual with editor and graph operations. As an application ages, menus become complex and suffer from bloat. We wanted to simplify and reduce clutter.
  • License Manager GUI with Improved Diagnostics – our old license manager does not need to be updated. If it is updated, or for new installations, a new License Manager GUI simplifies operation. Additionally, the server and clients have many more diagnostics embedded to diagnose any licensing manager problems.
  • And many hundreds of bug fixes and minor improvements.

We know change can make winners and losers. We’ve tried to make every user a winner with Understand 2.5. If we failed for you, let us know how, and we will try to sort it out and make you as happy as we can.