| | |
Summary: Effective Whole-Program Analysis
in the Presence of Pointers
Darren C. Atkinson and William G. Griswold
Department of Computer Science & Engineering, 0114
University of California, San Diego
San Diego, CA 92093-0114
{atkinson,wgg}@cs.ucsd.edu
Abstract
Understanding large software systems is difficult. Traditionally,
automated tools are used to assist program understanding. How-
ever, the representations constructed by these tools often require
prohibitive time and space. Demand-driven techniques can be used
to reduce these requirements. However, the use of pointers in mod-
ern languages introduces additional problems that do not integrate
well with these techniques. We present new techniques for effec-
tively coping with pointers in large software systems written in the
C programming language and use our techniques to implement a
program slicing tool.
First, we use a fast, flow-insensitive, points-to analysis before
traditional data-flow analysis. Second, we allow the user to param-
|