A Survey of Program Instrumentation Tools
To understand the behavior of today's complex CPUs, it is necessary to make detailed measurements of the behavior of programs on these architectures. A variety of approaches have been used to build toolkits for this purpose. I will concentrate on toolkits that enable users to instrument or edit program executables to measure fine-grain events; these toolkits include Digital's Atom, Sun Microsystem's Shade/Spixtools, and BIT, a Java bytecode instrumentation toolkit. I will also describe commonly available detailed simulation-based tools, such as Simplescalar, SimOS and Simics.