Paper
C. Rose and K. Flanagan. Complete instruction traces from incomplete
address traces (CITCAT). Computer Architecture News, 24(5):1-8,
December 1996.
Abstract
Instruction traces are useful tools for studying many aspects of computer
systems, but they are difficult to gather without perturbing the systems
being traced. In the past, researchers have collected instruction trces
through various techniques, including single-stepping, instruction
inlining, hardware monitoring, and processor simulation. These
approaches, however, fail to produce accurate traces because they
interfere with the processor's normal excecution.
Because processors are deterministic machines, their behavior can be
predicted if their initial states are external inputs are known. We have
developed a technique, called "CITCAT," which exploits this fact to
generate nearly perfect instruction traces through trace-driven
simulation. CITCAT combines the best features of instruction inlining,
hardware minitoring, and processor simulation to produce long, accurate
instruction traces without perturbing the system being traced. Because
CITCAT instruction traces are computed, rather than stored, this hybrid
technique delivers not just accurate traces, but also an extremely
efficient trace compression algorithm.