Release 1.9, patchlevel 2
Official release date: 01/14/2004.
Summary
This release of CodeSurfer is an update to CodeSurfer 1.9p1 that adds a few
minor features and fixes a handful of bugs as described below.
What's new in CodeSurfer 1.9p2
There are the following new features in this release:
- The log viewer now provides hyperlinks to locations in source
code specified by the native compiler (gcc, gpp, cl).
- The graph nodes shown in the CodeSurfer Graph Viewer are now
separately colored, which makes them more clearly visible, and
their color is customizable. Also, the nodes now show
expansion/collapse buttons (+, -) on both sides, which allows one
to navigate graphs by gradually expanding subgraphs and collapsing
the already traversed ones.
- Several VxWorks models have been added to the CodeSurfer
library models.
API/Representation Changes
- The internal representation of abs-locs in the pointer analysis
module has been made more compact, leading to a 10% - 30%
improvement in the space consumption.
Fixes
The following bugs have been fixed since 1.9p1:
- CodeSurfer used to terminate when a Path Inspector license was
not found. It now displays an error message instead.
- Double clicking on certain selection boxes (such as the
configuration selection box, in the Visual Studio project
importers) used to be disabled. It now has the expected effect,
equivalent to pressing "Ok".
- Fixed Core API bug whereby abs-loc-heap-type would give an
error "INTERNAL ERROR: AST KEY SIZE DOES NOT MATCH BASE64
STRINGS IN .cfgs FILE" for a #heap variable that was a bit
field.
- The C++ samples that come with DirectX 8.0 used to crash the
pointer analysis module.
- Visual Studio .NET's path configuration file is not always
created by Visual Studio. This used to confuse the CodeSurfer
Controller.
- The DSP importer now ignores the precompiled header options,
since then may break the build.
- Improved the file name and directory validation for "New
Project" and "Rename Project".
- The AST pattern '(or (c:< :1 ?i) (c:> :2 ?i))' would not
match a 'c:>' AST; it now will. The pattern (c:= :1 ?i :2 ?i)
still only matches if the lhs and the rhs of the assignment
match.
- Fixed a bug that was causing CodeSurfer (and the
subordinate Microsoft compiler) to improperly handle the arguments
/I, /D, /FI, /Fr, /FR in some special circumstances.
- (Win32 bugfix): Using the "load" function to load
DLLs that depended on each other would sometimes result in multiple
copies of some of those DLLs being mapped into the process's
address space. The function now reuses the handle of the
existing
(mapped) modules, if any, before attempting to load
new modules.
Documentation
The following changes have been made to the documentation.
- The manual has been updated to reflect the new graph viewer
improvements.