Release 1.4, patchlevel 0 (10/26/2000)

Platforms

This release runs on the following platforms:

  • Sparc Solaris versions 2.5.1 and above
  • Windows 98, Windows NT and Windows 2000

Summary

This release of CodeSurfer introduces several major new features, some improvements to the pointer analysis algorithms, and some bugfixes.

New features

  • Library models
    The models for the C and Math libraries have been reworked substantially to model the actual libraries much more closely.  See the Standard Libraries section for full details.
  • Building projects
    CodeSurfer now has much better compatibility with existing Makefiles. It should now allow use of most existing Makefiles to build the dependence graph. Some restrictions on the build process have been removed. For example, a source file can contribute to a build multiple times. The mechanisms for building the dependence graphs for programs has undergone a complete overhaul in order to make the build process match the semantics of the loader more precisely.  See the csurf manual page for full details.
  • Backwards CFG edges
    An option for building control-flow graph edges in the backwards direction has now been added.  See the documentation on the core API for PDG_VERTEX for details on how to access these edges.
  • Better support for the CL compiler model
    Support for the Microsoft Visual C++ compiler model CL has been greatly improved.  The model now understands the same set of command line flags that the compiler itself understands.
  • Pointer analysis algorithms
    The pointer analysis algorithms have been renamed, and a new algorithm has been introduced.  The new algorithm, based on the Steensgaard pointer analysis algorithm, is named s and has almost linear performance, but weaker precision than the Andersen pointer analysis algorithm (now named a). However, due to licensing restrictions this algorithm is not available by default. Please contact GrammaTech to arrange access.
  • Pointer analysis precision improvements
    The precision of the pointer analysis algorithms has been improved slightly.  Functions that are pointed to by function-pointer variables no longer point to themselves.

Minor changes and bug fixes

  • Bug fixes
    • A problem where the predecessor and successor commands would give erroneous results has been corrected.
    • A bug that caused crashes computing summary edges has been fixed.
    • A problem on the Win32 platforms where CodeSurfer would prevent users from editing files that were being viewed in CodeSurfer has been fixed.
  • Minor changes
    • The STk files that implement the CodeSurfer user interface have been completely reorganized.  Users who have scripts that relied on any of the functions defined in any STk file may have to revise those scripts.
    • Functions that have no explicit return statement now have a new vertex that represents the implicit return.  This is represented in property sheets and the project viewer as the closing brace of the function.
    • Some core API functions have had their return values changed slightly to be more consistent.

Free Trial | Products | Customers | Support | News | Jobs | About Us         © 2007-2008, GrammaTech, Inc. All rights reserved.