Profile-Guided Context-Sensitive Program Analysis
Saumya Debray
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Abstract
Interprocedural analyses can be classified as
either context-insensitive, which tend to sacrifice precision to gain
efficiency, or context-sensitive, which are more precise but also
more expensive. This paper discusses a profile-guided approach to
interprocedural analysis that is context-sensitive, and hence more
precise, for the ``important'' call sites for a function, and
context-insensitive, and hence more efficient, for the ``unimportant''
call sites. Experiments indicate that this approach can be significantly
more efficient than a traditional context-sensitive analysis without
sacrificing much of the pragmatic value of the dataflow information
gathered.