| | |
Summary: The Design of Whole-Program Analysis Tools
Darren C. Atkinson and William G. Griswold
Department of Computer Science & Engineering, 0114
University of California, San Diego
San Diego, CA 92093-0114 USA
{atkinson,wgg}@cs.ucsd.edu
Abstract
Building efficient tools for understanding large software
systems is difficult. Many existing program understand-
ing tools build control-flow and data-flow representations of
the program a priori, and therefore may require prohibitive
space and time when analyzing large systems. Since much
of these representations may be unused during an analysis,
we construct representations on demand, not in advance.
Furthermore, some representations, such as the abstract
syntax tree, may be used infrequently during an analysis.
We discard these representations and recompute them as
needed, reducing the overall space required. Finally, we
permit the user to selectively trade-off time for precision
and to customize the termination of these costly analyses in
|