Release 1.7, patchlevel 0 (5/31/2002)
Summary
This release of CodeSurfer introduces some new features and some improvements
to the dependence-graph build process. Also, a number of fairly minor improvements
and bug fixes have been made.
Major Features
- Printing.
This version introduces the ability to print
the contents of viewers. On Windows, any installed printer can be used.
On Unix and Linux platforms, a PostScript printer is required.
- Optional Summary Edges.
A project can be built without summary
edges, which allows a user to trade functionality
for performance. Summary edges are used so that slicing can be done in linear
time. As computing summary edges can take a great deal of time, and can
consume large amounts of memory, this option allows that step to be skipped.
This is very useful for users who do not need to use the slicing queries.
When summary edges have not been computed, slicing is not interprocedurally
precise.
- Improvements to the Log window
Numerous improvements to the user interface for the Log
window have been implemented. Parts of the log that contain error messages
are hyperlinked to the source of the error. Users can also now perform searches,
save the contents to a file, and print.
- Basic Blocks.
CodeSurfer now supports creating basic
blocks of the control-flow graph. An API
to these is provided. Basic blocks are now also used to speed up the computation
of control dependence.
- Support for MS Visual Studio .NET
CodeSurfer now works with both MSVC 6.0 and MS Visual Studio .NET.
Minor improvements and Fixes
- On the Windows platform, CodeSurfer now detects installation of MSVC, and
automatically sets the MSVC environment variables.
- A new API for doing bitwise
operations on integers has been implemented.
- Extensions to CodeSurfer that require dynamic
loading now work correctly on the Windows platform.
- More checks are now done on the value of the mmap-base-address
build setting before it is accepted.
- Users can now add their own displayed
sets without having access to unencrypted STk source code.
- ASTs for all fields are
now provided. The function (ast-abs-loc-list
ast) gives programmatic access to all ABS_LOCs associated with ASTs.
- Because CodeSurfer is not fully compatible with all header files for all
versions of Linux, we now allow the user to use a set for which it is known
to work. See the Linux README for
more details.
- The pointer analysis kind is now set properly under batch mode.
- A problem with traversal of EXPRs where the body returns 'skip-children
has been fixed.
- A host of minor GUI bugs have been fixed.