Blog

Archive for the ‘Understand 2.0’ Category

New Feature: Browse Mode in the 2.0 Editor

Monday, July 28th, 2008

The Understand 2.0 editor’s “Browse Mode” makes all entities in the editor behave like links in a web browser. With a single click you can visit and update the Information Browser.

In both 1.4 and 2.0 the usual way of exploring/learning about code in the editor is via the Right Click context menu. For instance, if I want to learn about allocstrAppend() I right click on it:

2008-07-28 21.35

(more…)

Documentation: Understand 2.0 GUI command line

Thursday, July 24th, 2008

The Understand 2.0GUI has command line options that may prove useful to you automation and personal efficiency reasons.

To see the options, just start Understand with “-help”:

%understand -help

2008-07-24 22.56

(more…)

FAQ: Snapshots ( what are they and working them into your workflow )

Thursday, July 24th, 2008

2008-07-24 13.31

I’ve just realized that while I’ve written a bunch of posts referring to snapshots and using snapshots, I’ve never explained what they are and how they can fit into a software engineer’s workflow. Hence the “missing piece of the puzzle” clip art above.

Q: What are snapshots?

A: A snapshot is a binary store included within an Understand database. A database can hold be any number of snapshots. Each contains three things:

  1. a complete Understand database containing analysis (parse) information
  2. all source, including any include files, needed to rebuild that analysis
  3. certain cached information used to speed up working with them (metrics and file information)

Q: What are snapshots used for?

A: They are used throughout Understand 2.0 to provide details and metrics about what has changed in source code between two points of time.  The “Change”, “Metrics”, and “Estimate” menus all use snapshots intensively.

“Change” will tell you what has changed at the semantic level. For instance, what classes or types changed, versus just what files/lines changed.

“Metrics” can tell you the number of semantic changes – classes removed, changed, added, so forth.

(more…)

New Feature: Watched Dirs automatically update projects for new/removed files

Thursday, July 24th, 2008

A frequent complaint of Understand 1.4 users was that unless their project was syncronized to an MSVC project it was difficult to keep Understand projects up to date about new files and especially hard to keep files removed from a project from showing up again when adding new code.

Understand 2.0 addresses this with the “Watched Dir” concept. By default any directory you add is a “watched dir”.

Understand 2.0 scans all project “watched dir” for new/removed files and the project file list updated automatically.  Importantly, any modifications you have manually made – either by removing or by changing file filters is remembered.  In 2.0 you only have to remove a file once it won’t come back unless you add it specifically.

You can trigger a rescan  with the Project->Rescan button:

2008-07-24 08.05

Or automatically on a schedule with the Project scheduler available in Project->Configure Project:

2008-07-24 08.06

(more…)

New Feature: Entity Explorer – quick exploration of calls and othe relationships

Thursday, July 24th, 2008

It is very common to walk a call, call by, or class hierarchy tree seeing what is “going on”.  You can do this in the Information Browser, or in the various graph views we have provided for years.

A new way in Understand 2.0 is the Entity Explorer window.  It permits keyboard based fast exploring of reference hiearchies with syncronized source and informatoin updates.

To see this just click on any entity that has relationships. For instance, a function, and choose “Explorer”.  It will list the reference hiearchies availble to explore:

2008-07-24 00.24

(more…)

New Feature: Search in the Information Browser

Wednesday, July 23rd, 2008

Have you ever looked at a call tree and wondered “is somefunction()” in there?

B453, which you can download now,  introduces a new “incremental search” feature to the Information Browser that makes answering questions like that a snap.

To use it hit select where you want to start searching from and then hit the Ctrl-F key while in the IB or click on the 2008-07-23 23.46 icon.

That brings up a search box on the bottom of the IB:

2008-07-23 23.48

(more…)

Documentation: How to get metrics with Understand 2.0

Friday, July 11th, 2008

Metrics have always been very tightly coupled with software engineering. Love them or hate them, there is usually no avoiding them. In Understand 2.0 we’ve significantly increased our ability to provide useful metrics about your project. 

The metrics capabilities vary depending on what version of Understand you are using: Understand Engineer provides high level project metrics, Understand Pro lets you explore and export project and entity level metrics, and Understand Analyst lets you do all that, create custom graphs, and even compare how metrics are changing over time (trend analysis). 

All of this Metrics capability is accessed through the new Metrics menu.

Engineer

Pro

Analyst
image image image

(more…)

Tip: Making a snapshot from an alternate project source directory

Thursday, July 10th, 2008

I was working hard on doing nothing on the 4th of July holiday and didn’t do a Build Metrics post about B450. Now I’m ready to do that and I find that I forgot to make an Understand 2.0 snapshot of the source for B450.

I have a couple options:

  1. Check out B450 source to an alternate location and make a snapshot from it.
  2. Look up the revision tag time for B450 and use TrackBack to make a snapshot.

I’ll choose #1 just for an example. Next time, I’ll show #2.

First, I’ll check my SVN e-mail log to see when B450 was tagged:

2008-07-10 05.10

(more…)

Welcome Understand 2.0

Thursday, July 3rd, 2008

At the beginning of July we released Understand 2.0. It represented the culmination of about 3 years of work where we maintained and improved Understand 1.4 while simultenously developing a brand new version of Understand.

Our goal for 2.0 was to make a tool that is a “must have” if you are maintaining code (and who isn’t??). 

(more…)

Tip: Backup your Understand 2.0 projects

Wednesday, July 2nd, 2008

Understand 2.0 projects contain a lot more user provided information than 1.4 projects. Things like Architecture, Snapshots, Metrics comparison data,  and Maintenance estimates take effort to create and would hurt if lost.

I urge you to back up your Understand 2.0 databases regularly, especially if you are using any of the above features. A simple copy will do, and the copied database will compress.

In B450 we have introduced a Project Scheduler. It  can be used to automatically update project files, project parses and build snapshots. In the the next build or two we will add Understand database back up to this scheduler.  Longer term we plan to also have reports, metrics updates and script/script set runs scheduled as well.