@article {14802,
	title = {An API for Runtime Code Patching},
	journal = {International Journal of High Performance Computing Applications},
	volume = {14},
	year = {2000},
	month = {2000///},
	pages = {317 - 329},
	abstract = {The authors present a postcompiler program manipulation tool called Dyninst, which provides a C++ class library for program instrumentation. Using this library, it is possible to instrument and modify application programs during execution. A unique feature of this library is that it permits machine-independent binary instrumentation programs to be written. The authors describe the interface that a tool sees when using this library. They also discuss three simple tools built using this interface: a utility to count the number of times a function is called, a program to capture the output of an already running program to a file, and an implementation of conditional breakpoints. For the conditional breakpoint example, the authors show that by using their interface compared with gdb, they are able to execute a program with conditional breakpoints up to 900 times faster.},
	doi = {10.1177/109434200001400404},
	url = {http://hpc.sagepub.com/content/14/4/317.abstract},
	author = {Buck, Bryan and Hollingsworth, Jeffrey K}
}
