Analysis of Input-Dependent Program Behavior Using Active Profiling
Xipeng Shen, Chengliang Zhang, Chen Ding, Michael L. Scott, Sandhya
Dwarkadas, Mitsunori Ogihara
ABSTRACT
Utility programs, which perform similar and largely independent
operations on a sequence of inputs, include such common applications
as compilers, interpreters, and document parsers; databases;
and compression and encoding tools. The repetitive behavior of
these programs, while often clear to users, has been difficult to
capture automatically. We present an active profiling technique
in which controlled inputs to utility programs are used to expose
execution phases, which are then marked, automatically, through
binary instrumentation, enabling us to exploit phase transitions in
production runs with arbitrary inputs. We demonstrate the effectiveness
and programmability of active profiling via experiments
with six utility programs from the SPEC benchmark suite; compare
to code and interval phases; and describe applications of active profiling
to memory management and memory leak detection.
Download the paper in
pdf format.
Copyright notice