We have not compiled or tested the system on versions of UNIX other than SunOS 5.5.1. GrammaTech also provides CodeSurfer to academic researchers on very favorable terms. CodeSurfer builds a dependence-graph program representation and provides a GUI for exploring this web. The dependence graph includes forward and backward links between each assignment statement and possible uses of the values stored by that assignment. Pointer analysis is used so that indirect loads and stores through pointers are taken into account, as well as indirect function calls.
Dataflow analysis is used so that links between unrelated assignments and uses are excluded.
CodeSurfer's scripting language, which provides access to the dependence-graph program representation and the Tk widget set, is used for extensibility and for batch applications. Full information about CodeSurfer is available here , where you can find full documentation, whitepapers, pricing information, information about use by academic researchers, the site for downloading an evaluation copy. References B93 Binkley, D., Precise executable interprocedural slices. BG96 Binkley, D., and Gallagher, K., Program slicing. Advances in Computers , Vol.