1.4 (Build b444) - 04 May 2008
1.4 (Build b443) - 27 Apr 2008
General
Parsing
- Handle misformed line endings of CR-CR-LF as single lines instead of double lines.
1.4 (Build b442) - 17 Apr 2008
General
1.4 (Build b441) - 07 Apr 2008
Parsing
- Changed count of 'MaxNesting' to not increase the nesting level for 'else if'. The counting method for 'else if' is now the same as in c/c++.
1.4 (Build b440) - 31 Mar 2008
1.4 (Build b439) - 31 Mar 2008
1.4 (Build b438) - 24 Mar 2008
1.4 (Build b437) - 17 Mar 2008
Understand
- Support source files with '[' and ']' characters in the names.
1.4 (Build b436) - 10 Mar 2008
1.4 (Build b435) - 2 Mar 2008
Understand
- Fix Windows 2000 SP4 crashes introduced in build 432.
1.4 (Build b434) - 25 Feb 2008
1.4 (Build b433) - 18 Feb 2008
General
- Understand 2.0 is now available for public Beta! To download go to http://www.scitools.com and click the beta button on the far right. We would love your feedback.
Scripts
1.4 (Build b432) - 11 Feb 2008
Scripts
- Fixed bug where import and package statements did not count as Declarative Statements for files.
- Fixed bug where constructor declarations were not being counted as 'Declarative Statements'.
Perl/C APIs
- Fix uperl Draw() crash on linux
1.4 (Build b431) - 5 Feb 2008
General
- On windows the applications are now installed in the pc-win32 subdirectory instead of pc-win95.
Understand
- Add spacing options for graphs.
- Fixed bug in parser where annotations used as element values in another annotation caused syntax errors.
- Fixed crash on 'parse changed files'.
Scripts
- Fix $lexeme->inactive() call.
1.4 (Build b430) - 24 Dec 2007
1.4 (Build b429) - 17 Dec 2007
1.4 (Build b428) - 10 Dec 2007
Understand
1.4 (Build b427) - 3 Dec 2007
1.4 (Build b426) - 19 Nov 2007
General
- There will be no build this week due to the Thanksgiving holiday. Thank you.
Understand
1.4 (Build b425) - 5 Nov 2007
General
- Understand 2.0 is almost ready for Beta, and we are looking for volunteers to help us test it in the last stages of the Alpha. If you are interested, send us an email at support@scitools.com.
Understand
- Use dec/hex hover setting for macros
- Fixed bug where types visited in the ExternalsUsed->Types Info Browser field were not highlighted.
1.4 (Build b424) - 29 Oct 2007
1.4 (Build b423) - 22 Oct 2007
Understand
- Fix dynamic Calls in Info Browser; fix OverridenBy in Info Browser
1.4 (Build b422) - 15 Oct 2007
General
- If you've installed build 420 or 421, please download and install this build to resolve some issues with the TrackBack integration. There was an error about sockets that appeared when backing up large files, and in some scenarios TrackBack could take a large percentage of CPU time when it was running in the background. These issues have both been fixed and we apologize for any problems they may have caused. If you uninstalled TrackBack because of these issues we urge you to try it again.
- Added new FAQ item to website Is there any way that Understand for C/C++ can follow function calls via pointers?
1.4 (Build b421) - 8 Oct 2007
Understand
- Control Flowchart: Add Overview mode that hides all text on the graph. Rename "Assembly" option to "Display Assembly"
- Control Flowchart: Fixed issue where no condition in a loop exit caused an error
1.4 (Build b420) - 1 Oct 2007
General
- TrackBack now included with Understand
As part of our ongoing Maintenance, we are happy to announce that we are bundling a version of TrackBack together with Understand. TrackBack watches and backs up every change made in your source code. TrackBack is different from a CM tool in that it requires no checkin. TrackBack watches all changes and can tell you a complete history. It acts as an "undo" button - but for work done hours or days ago.
The version included with Understand works just with Understand. However, a separately purchased version can work outside of Understand as well. Learn more about TrackBack at http://www.scitools.com/products/trackback/product.php
1.4 (Build b419) - 17 Sep 2007
General
-
Attention U.S. Navy project Understand Users:
We have been working on a Navy sponsored SBIR R&D effort for about 2 years now. Some of our recent advances to Understand and TrackBack were spun out of this R&D. Understand 2.0 (which will soon be beta tested) and also new products Change, Measure, and Impact will also spin out of this R&D in the near future.
We now have been nominated for a Commercial Pilot Program (CPP), which is awarded to companies with high commercialization potential of technologies of use to the Navy (and other services). It is quite an honor, something like 20 companies out of around 2000 have made it this far.
How you can help… If you are working on a Navy program (either as a Navy civilian employee or at a prime contractor) then the PEO who nominated us would appreciate additional affirmation that our technology is helping Navy projects. E-mail Ken Nelson (nelson@scitools.com) to learn more about this and who to contact at the Navy SBIR office.
1.4 (Build b418) - 10 Sep 2007
1.4 (Build b417) - 3 Sep 2007
Understand
- Fixed a crash that occurred when reloading flowchart with nested switch statements.
1.4 (Build b416) - 27 Aug 2007
Understand
- Bug fix: find in files in regex mode was not ignoring grayed out options.
- The report generated index.html had unneeded tags at end of the file.
- Allow include directories to support mapped drives at the top level.
- Fix display of backslashes in graphs.
- Copy-to-clipboard of perl graphs (Control Flow) will have a white background now.
1.4 (Build b415) - 13 Aug 2007
1.4 (Build b414) - 6 Aug 2007
Understand
- $CurEntityScope macro added.
Scripts
- Added Gui::scope() perl method.
1.4 (Build b413) - 30 Jul 2007
Understand
- Control Flow: Added option to display entity name in the start node.
- Bug fix: Search and replace in a selection could hang app if selection ended with a replace.
- Added display variable initialization values.
1.4 (Build b412) - 23 Jul 2007
Understand
- External Editor now get column in range of 1..n, previous versions 0..n-1 which is much less common behaviour.
1.4 (Build b411) - 13 Jul 2007
Understand
- The column number was not being passed correctly to a user defined editor, it was always 0.
- Control Flow - collapse an empty case into the next case in a switch statement if collapse is on.
1.4 (Build b410) - 22 Jun 2007
Understand
- The control flow graph uses uses ellipses instead of diamonds for looping structures.
- Made change to calculate values for 'final' integer variables.
1.4 (Build b409) - 11 Jun 2007
Understand
- Fixed bug where an 'implements' of an interface nested inside another interface did not always work correctly and could result in a missing type warning.
Scripts
- Added 'instances' option to acjf_dead_code.pl to cause subprograms from generic instantiations to be analyzed. By default these entities are never considered as dead-code.
1.4 (Build b408) - 11 Jun 2007
Understand
- Changed behavior so that adding graphic entity filters while graph filters are off will not cause graphs to be reloaded.
1.4 (Build b407) - 4 June 2007
General
- We are getting near to the first alpha release of our 2.0 version of Understand, which will include the ability to analyze sources from multiple languages at once. We are still sorting out the intricacies of linking names between different languages, as this is highly compiler dependent. If you use multiple languages together we would appreciate getting details from you about which compilers you use, along with any relevant options that affect mixed language linking. As examples of the kind of information we are trying to find, some compilers require that you add "_" or other symbols to the front or end of your external symbols, or make them all lowercase, etc. Please send your linking details to support@scitools.com.
Understand
- Fixed bug where types declared in project files and nested more that one level deep were not located in the dependency-determination phase.
1.4 (Build b406) - 28 May 2007
Understand
- Bug fix: Typing in the editor when the cursor is scrolled off screen now jumps to the text that is being edited.
1.4 (Build b405) - 21 May 2007
Parsing
- Fixed bug where refresh could miss some dependant files.
Understand
- Fixed svg graph export for text containing reserved characters like & or <
Scripts
- Added $ent->parsetime() to the api, which returns the last parse time of a file in the database.
1.4 (Build b404) - 29 April 2007
Scripts
- Changed the $ent->ib() call name from Callbys to Called By for consistency.
1.4 (Build b403) - 21 April 2007
Understand
- Crash fix: changing tab size or project tab size with a file open could lead to a later crash while editing or undoing changes
- Change Control Flow graph to allow situations where a control structure is inside of a longer statement
License Manager
1.4 (Build b402, b401) - 14 April 2007
Understand
1.4 (Build b400) - 7 April 2007
Understand
1.4 (Build b399) - 31 Mar 2007
Understand
1.4 (Build b398) - 25 Mar 2007
Scripts
- Categorize the scripts and add sorting to the Perl API page on www.scitools.com
1.4 (Build b397) - 17 Mar 2007
1.4 (Build b396) - 10 Mar 2007
Understand
- For all HTML reports, turn off document title setting for files since it was frequently displaying incorrectly.
1.4 (Build b395) - 3 Mar 2007
1.4 (Build b394) - 27 Feb 2007
1.4 (Build b393) - 18 Feb 2007
Understand
- Fixed an issue where canceling a graphic print could crash Understand if the window was closed.
1.4 (Build b392) - 12 Feb 2007
Understand
- Bookmarks now disabled when there is no project open.
- Added a new print option to turn off the title header when printing a graphic.
- Fixed crash when aborting a database open.
License Manager
- Fixed issue introducted in build 391 that caused almhostid to throw an error on Windows 2000.
1.4 (Build b391) - 5 Feb 2007
Scripts
- Add option to display multiple calls in optional GV Invocation graph.
Perl/C APIs
- Added method $ent->value() to return the value associated with enumerators, initialized variables and macros.
- Add tabstop parameter to $ent->lexer() method to set the size of the tab for the lexer.
License Manager
- Added better support for multiple NICs on win32 platforms, almhostid will generate multiple IDs if there are multiple network cards and allow the user to select the most permanent card.
1.4 (Build b390) - 29 Jan 2007
1.4 (Build b389) - Jan 23 2007
1.4 (Build b388) - 15 Jan 2007
Understand
- Fixed issue introduced in b386 that caused Understand to not run in Solaris.
- Fixed bug in java path counting where the path count stopped at the first 'try' statement.
1.4 (Build b386) - 3 Jan 2007
General
- Announcing TrackBack, a brand-new software development tool from Scitools. TrackBack is a new kind of personal change management tool. It watches and backs up all changes in your source tree so you can:
* Protect yourself between CM check-ins.
* Instantly see what changed, how it changed and when.
* Recover all or parts of changes – from multiple versions of a file over time.
We’ve received great responses from our beta testers. One told us, "You don't realize how useful TrackBack is until you have it." Another said, “I think you’ve identified a legitimate hole in the multitude of tools available, i.e. the gap between in-process code saving and periodic submission to a Version Control System.”
Learn more and download at http://www.scitools.com/trackback
- We apologize for the lack of build notes over the past two months, our mail system crashed and reimplementing it with a new tool was much more difficult than we anticipated.
- These build notes reflect all changes from build 381 to build 386.
Understand
- Fixed crash that occurred when the user canceled a long 'open database' operation.
- Fixed crash that occurred if floating license users did not immediately open a database.
- Pressing Order/Pricing link with no database caused a crash, this is resolved.
- Fixed crash when changing certain user preferences when no database was open.
- If the Find dialog comes back with "not found",Understand now returns the focus back to find dialog instead of the file.
- Fixed crash on report generation for database that has been created but never parsed.
- Using find in files sometimes caused a crash if no project was open - resolved.
- Adjusted single page graphics to scale correctly when printing.
- Fixed an issue where the undo buffer was corrupted by a Search and Replace action inside a selected block.
- Fixed bug where local variables with same name declared in different blocks of a method were sometimes mixed up with one another.
- Fixed typo in java abstract public enumeration type definition. It was defined as 'enul' instead of 'enum'.
Scripts
- _no_define_declare.pl - fixed case where an entity has no references, can be caused by include files not being added to the source list.
- cj_highcomplexity.pl script - correctly handle odd case where "define in" reference can't be found
1.4 (Build b376) - 13 Oct 2006
General
- Build Notice Problems... Notices since Build 365 - Build 373 were lost online due to build log script problems. I will re-do those and publish them to our build note archive.
- Real Time Embedded Shows - We will be in the DC area presenting Understand at two real time embedded shows. You can see us and a few dozen other vendors demoing our wares at no cost. Details below:
- Tuesday - 17 Oct - Patuxent River, MD - http://rtecc.com/paxriver/
- Thursday - 19 Oct - Herndon, VA - http://rtecc.com/tysonscorner/
Understand
- Removed serialVersionUID from unused object report. This is used by the Java runtime system to keep track of versions of serializable classes.
Scripts
- _no_define_declare.pl - fixed case where an entity has no references, can be caused by include files not being added to the source list.
1.4 (Build b375) - 6 Oct 2006
General
Understand
- Crash fix - uncommon path lead to crash in file view when pasting in text
- Crash fix: coding error, C files with https or ftp in a comment could have lead to a crash
Scripts
- C/C++ API: changed 'defined' to be a preprocessor token, not an identifier token.
1.4 (Build b374) - 29 Sep 2006
General
Understand
- Changed database version number. Existing projects will be re-parsed automatically.
- Added: Java export metrics option, Show Parameter Profiles
- Added repjava command line option -metrics_parameters [on/off] to control whether or not parameter profiles are included as part of method names in the metrics file. By default, parameter profiles are not included.
1.4 (Build b373) - 29 Sep 2006
General
Understand
- Crash Fix: trying to undock search results window during search could have caused a crash
1.4 (Build b365) - 5 Aug 2006
Parsing
- Changed database version. Old projects will be re-parsed automatically.
- Fixed bug where strict complexity was incorrect for methods with switch statements.
- Added count semicolon (CountSemicolon) metric.
Understand
- Multi-language version of Understand could crash on database open if a valid license wasn't found for one of the languages being analyzed.
- Bug Fix: X-Windows only. Print to page size for graphics was not fitting to page for last 2 releases.
Scripts
- Renamed c_delta.pl to acjf_delta.pl since it is compatible with Ada, Java and FORTRAN.
1.4 (Build b364) - 14 July 2006
Understand
- Fixed bug in re-painting... on loading or updating main filter list there often appeared an un-painted rect area
- Stopped annoying main window painting rect area from flickering on project open
- Changed -ib command line command not to send error as it is always processed.
- Added new entity right click menu items, Copy Name and Copy Fullname
1.4 (Build b363) - 7 July 2006
Parsing
- Changed format of database unique names for entities for all languages/tools.
Understand
- Bug fix: on X-Windows choosing help from the tool configuration dialog would have caused a crash.; Floating help windows have been removed in favor of putting text into command output windows to avoid X-11 issues and native window issues such as MS-Windows copy text
- Bug Fix: Printing graphics to a single fit page would not work correctly if the user had zoomed into the current graphic
- Added new option for find in files out put; show file names as relative, if project files only search relative to project. otherwise relative the starting search dir
- Fixed rounded-rectangle nodes output in SVG exported graphs.
1.4 (Build b362) - 30 June 2006
Parsing
- Fixed crash parsing class files with an unexpected value for a constant pool tag. These files are now identified as 'corrupted' and skipped.
Understand
- Bug Fix: invoking source file Option "copy as html" with no selection could have caused an application crash.
- Added to interactive reports options a file text box that enables file browsing.
- Flow Charts (Control Flow Diagrams):
- Change the way the flowchart displays Switch statements, instead of displaying them as If/Then structures it now shows more of an "Octopus" version of the switch with each case having it's own arm. Also added a default fallthrough if no default is specified.
- Fixed issue where Nested Switch statements cause the wrong condition text to be passed to the outer loop
- Fixed issue where Fallthroughs were not happening correctly.
- Fix bug where one line Case statements were causing Understand to hang.
- Fixed a bug where the default condition in a switch was not displayed correctly if there was a space between DEFAULT and the colon.
1.4 (Build b361) - 16 Jun 2006
Understand
- Fixed crash in erasing of Locator Window
- Fixed X-Windows only printing bug: choosing the setup button from the print dialog could have led to a crash
- Bug Fix: Various issues with the User Tools Configuration dialog.
Perl/C APIs
- ajcf_unused.pl - updated to have a "-kind" argument which permits you to specify what kind of thing you want to check is unused. Added when customer requested to find unused "enumerators".
1.4 (Build b360) - 6 June 2006
Understand
- DB format changed. Projects will be re-parsed automatically.
- Bug Fix: Search output, if 1 occurrence was found in the last file listed the number given as found would be one off.
- Fixed Visio generation of rounded rectangle nodes, which were being shown as rectangles, to show as ovals.
1.4 (Build b359) - 3 June 2006
Parsing
- Fixed bug in java where 'class extends tree' was incomplete in html.
Understand
- Bug Fix: Graphic views, selecting open nodes from entity menu would pop up an uneeded guage for a short process
- Fixed crash (SGI Irix specific), when right-click on graph node and choose 'Open Node'.
1.4 (Build b358) - 26 May 2006
Parsing
- Added parse error messages to command line output.
Understand
- Bookmarks: New Main global boomkark menu item under search to clear all bookmarks in the entire project
- Bug fix: Bookmarks window was not processing any keyboard shortcuts
- Bug Fix: running a graphics Perl script could have caused a crash on a database reparse.
- Changed UPL plugin scripts to be managed by case insensitive name.
- Fixed bug in control flow chart exception parsing.
- Fixed crash on command line 'undjava -version'.
1.4 (Build b357) - 19 May 2006
Understand
- Bug Fix: Opening a recent project could have crashed at startup during 'opening previous files' phase if the project being opened had opened source files previously.
- Bug in B356 where the newly introduced feature to turn off capture of Understand perl script output would not remember it state
- Fixed bug preventing multiple clusters in plugin graphs.
- Control Flow Graph Fix: Avoid overrunning the end of the function if a parse error occurred
License Manager
- Add the ability for Checkins to record the amount of time that the license was checked out.
1.4 (Build b356) - 12 May 2006
Parsing
- Control flow graphs:
- Fixed bug in goto label parsing.
- Fixed bug in node collapsing that could have caused the plugin to hang.
Understand
- Fixed possible crash on database error or missing license.
- Bug Fix: Tool configuration dialog panels, use of the move up or down buttons could have led to a crash or corrupted tools.
- Bug Fix: B353-355 Find and Find in Files in non regex mode would not yield proper results if a ( or ) was part of the search string
Perl/C APIs
- Uperl: added new option for i-reports to force initial options window to always display, never display, or allow the user to choose.
1.4 (Build b355) - 5 May 2006
Understand
- Fixed potential crash in graphics re-layout when adjusting graphs with edge connector right click menus.
- Changed "Run an understand script" so that capturing output is now optional.
- User Tool configuration change: user tools that are Understand scripts can now optionally turn off output and show of command results window
- Crash fix: some uses of right click menu in History toolbar button may have crashed.
- Fixed bug in Control-Flow diagram when collapsing blocks containing array initialization (e.g. int foo[] = {1,2,3}).
1.4 (Build b354) - 28 Apr 2006
General
- Fixed crashes on exit in Unix versions.
1.4 (Build b353) - 21 Apr 2006
Understand
- Fixed initial option values in Interactive Reports.
- Bug Fixes with regex searching: some regex strings searches yielded in-correct results. Now regex searches highlight matches in find and find in files
Perl/C APIs
- Fixed $ent->ib() which was crashing when no options were passed.
1.4 (Build b352) - 14 Apr 2006
General
- Software Technology Conference, 1-4 May 2006
We will be attending the Software Technology Conference in Salt Lake City, UT. If you will be attending, please drop by our booth. We have 25 complimentary exhibit passes, so if you are in Utah and want to attend then please e-mail us for passes.
Ken Nelson will also give a short talk that he has tenatively titled "Novel uses for Static Analysis Tools". He has a few uses in mind drawn from customers he has dealt with over the years, but if you have an interesting non-typical use for Understand and don't mind being mentioned please e-mail him (nelson@scitools.com).
Understand
- General fix up of erase events to avoid potential crashes.
- Control Flow Graphs - Added option to collapse simple sequential nodes.
Scripts
- Don't strip -debug from UPerl command line
1.4 (Build b351) - 7 Apr 2006
General
- IMPORTANT:
With this build we move our Solaris, SGI and HPUX ports to Solaris 8, IRIX 6.5, and HP-UX 11i. This means that the search path to the bin directory containing new binaries for B351 and later for these operating systems has changed:
bin/hp700-hpux_11i
bin/sgi-irix_6.5
bin/sun4-solaris_8
Please be sure to change your search paths to reflect the new location. If you don't and the old installations remain you will continue to run old software even if you update.
Understand
- Bug Fix: Left click of a graphic node opens source but may have not opened to corrent line/column.
- Bug Fix: Installing a plugin script via the drag/drop installation would crash. B350 only
- Bug fix: When showing graphical views in the window maximized mode, a left click in the window would not give focus to that window
Perl/C APIs
- Ada : Made change to store enumeration literal representation clause information. The specified value is now stored as free text and can be accessed with $ent->freetext("InitValue") (in the PERL API);
1.4 (Build b350) - 31 Mar 2006
General
- Supported Platform Notices... With the next build (build 351) we will make changes to our supported platforms:
- HP-UX 10.20 binaries will no longer be released. HP-UX 11i will be the new HP-UX platform.
- Solaris 2.5.1 binaries will no longer be released. Solaris 8 and later will be the new supported Solaris platform.
- Compaq (formerly Digital) Alpha OSF will no longer be a supported platform.
We are making these changes so that we can advance the GUI and other portions of our tools using new toolkits and technologies that will not run on these older platforms.
We don't want to cause anybody undue hardship. If these changes do, please contact us.
Parsing
- Fixed syntax errors on 8 bit characters as part of identifiers. The syntax errors could result in invalid metric values.
Understand
- Ctrl-Enter is equavalent to double click in the Entity Filter window lists.
- Added "Cancel" option to dialog warning of attempting parse, running of a script, running of an external command, or user tool, without having saved all modified files.
- Added Flowchart as new type of graphical view.
Perl/C APIs
- Changed entity->draw() to generate a graph, regardless of if an error occurred in parsing the option string. An error message is still returned.
1.4 (Build b349) - 14 Mar 2006
Understand
- Bug fix: if option to show float text as status text was selected and a command results window was docked, app could have crashed at startup.
- Bug Fix: B346/7 Locator Window did refresh on reparse without a resize.
- Bug Fix: Docking redocking or undocking an empty Information broswer could have caused an application crash
1.4 (Build b348) - 17 Mar 2006
Understand
- Bug Fix: Find in File * regex searches could have hung application
- Bug Fix: When File titles shown as project relative, shown file titles were not updated after a project parse.
- Bug fix: locator filename column option to show as short/rel/long was not being shown
- Fixed bug where no 'endref' relation was created for the end of constructors.
1.4 (Build b347) - 10 Mar 2006
Understand
- Fixed comment collection, broken in build 346.
1.4 (Build b346) - 3 Mar 2006
General