Release 1.8, patchlevel 0 (3/7/2003)
Summary
This release of CodeSurfer introduces some major new features and some very
significant improvements to the dependence-graph build process. Also,
a number of fairly minor improvements and bug fixes have been made.
Note that support for the Windows 98/Me platforms has been terminated.
Major Features
- Improved Build Process
The CodeSurfer build can now be done alongside a regular build of the target
executable. Except for a small number of extra items in their symbol tables,
the object files and executables created by CodeSurfer are indistinguishable
from those produced by the compiler.
- Integration
with Microsoft Visual Studio (MSVS)
MSVS users can now build CodeSurfer projects directly through the MSVS interface.
- AST Interface
A complete Scheme interface to the program's Abstract Syntax Tree is provided.
Users with scripting can use this to create custom applications.
The scripting language has been extended with new features that support
pattern matching on ASTs.
- Gcc Extensions
CodeSurfer now supports most gcc extensions to C.
- New Help System
A brand new help system has been added, which features text searching and
an index.
- Pointer Analysis Inlining
A new option has been added to allow inlining of functions for pointer analysis.
This allows for improved precision in the dependence graph.
- Control-Flow
Graph
CodeSurfer now allows the user to navigate using the control-flow edges in the PDG.
- Better Variable
Viewing
Struct and union variables are now viewable in a hierarchical tree widget.
- Parameter
Evaluation Order
An option to specify the order of evaluation of parameters has been added.
- Imprecise Chop
A new chop operation has been added. This computes the intersection of the
forward and backward slices. Although less precise than the traditional
chop algorithm, this operation is very fast.
- Plug-ins
A new feature that allows users to extend CodeSurfer with plug-ins has been
added.
Fixes
- A problem with minimal pointer analysis not behaving as documented has
been fixed.
- An error with the computation of structure copies where the field is an
array has been corrected.
- Support for using Mozilla as the help viewer has been added.
- Some unnecessarily-generated temporary variables have been removed.