CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

XREF: Static analysis cross-referencing tool for Common Lisp.

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)

Version: 27-FEB-91 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: Mailing List: Author(s): Mark Kantrowitz Keywords: Authors!Kantrowitz, CMU, Cross-Referencing, Lisp!Tools, Static Analysis, XREF References: 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