CMU Artificial Intelligence Repository
XREF: Static analysis cross-referencing tool for Common
XREF is a portable static analysis cross referencing tool for Common
Lisp. It determines the callers of functions and variables and is
useful for mapping out the structure of a program. XREF is similar to
the Symbolics Who-Calls and Xerox Masterscope programs. It includes an
interface to Joe Bates' PostScript graphing tool (psgraph.lisp).
When you change a function or variable definition, it can be useful to
know its callers, in order to update each of them to the new
definition. Similarly, having a graphic display of the structure
(e.g., call graph) of a program can help make undocumented code more
understandable. This static code analyzer facilitates both
capabilities. The database compiled by xref is suitable for viewing
by a graphical browser. (Note: the reference graph is not necessarily
a DAG. Since many graphical browsers assume a DAG, this will lead to
infinite loops. Some code which is useful in working around this
problem is included, as well as a sample text-indenting outliner and
an interface to Bates' PSGraph PostScript Graphing facility.)
CMU Lisp Repository (home location)
Requires: Common Lisp
Ports: Portable. Tested in CMU CL, MCL, Allegro CL and Lucid CL.
Copying: Copyright (c) 1990 by Mark Kantrowitz.
Use, copying, modification, and distribution permitted.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Bug Reports: email@example.com
Mailing List: firstname.lastname@example.org
Author(s): Mark Kantrowitz
Authors!Kantrowitz, CMU, Cross-Referencing, Lisp!Tools,
Static Analysis, XREF
Documentation of the tools written by Mark Kantrowitz (Metering,
Defsystem, Source Compare, User Manual, and Xref) appears in
Mark Kantrowitz, "Portable Utilities for Common Lisp, User Guide and
Implementation Notes", Tech Report CMU-CS-91-143, School of Computer
Science, Carnegie Mellon University, May 1991.
which is available as lang/lisp/code/tools/mkantdoc.tar.gz.
Some documentation is also available at the top of the source file.
Last Web update on Mon Feb 13 10:30:56 1995