Valgrind: a framework for heavyweight dynamic binary instrumentation. Nethercote, N. & Seward, J. SIGPLAN Not., 42(6):89\textendash100, ACM, New York, NY, USA, 2007.
Valgrind: a framework for heavyweight dynamic binary instrumentation [link]Paper  doi  abstract   bibtex   
Dynamic binary instrumentation (DBI) frameworks make it easy to build dynamic binary analysis (DBA) tools such as checkers and profilers. Much of the focus on DBI frameworks has been on performance; little attention has been paid to their capabilities. As a result, we believe the potential of DBI has not been fully exploited. In this paper we describe Valgrind, a DBI framework designed for building heavyweight DBA tools. We focus on its unique support for shadow values-a powerful but previously little-studied and difficult-to-implement DBA technique, which requires a tool to shadow every register and memory value with another value that describes it. This support accounts for several crucial design features that distinguish Valgrind from other DBI frameworks. Because of these features, lightweight tools built with Valgrind run comparatively slowly, but Valgrind can be used to build more interesting, heavyweight tools that are difficult or impossible to build with other DBI frameworks such as Pin and DynamoRIO.
@article {1250746,
	title = {Valgrind: a framework for heavyweight dynamic binary instrumentation},
	journal = {SIGPLAN Not.},
	volume = {42},
	number = {6},
	year = {2007},
	pages = {89{\textendash}100},
	publisher = {ACM},
	address = {New York, NY, USA},
	abstract = {Dynamic binary instrumentation (DBI) frameworks make it easy to build dynamic binary analysis (DBA) tools such as checkers and profilers. Much of the focus on DBI frameworks has been on performance; little attention has been paid to their capabilities. As a result, we believe the potential of DBI has not been fully exploited.

In this paper we describe Valgrind, a DBI framework designed for building heavyweight DBA tools. We focus on its unique support for shadow values-a powerful but previously little-studied and difficult-to-implement DBA technique, which requires a tool to shadow every register and memory value with another value that describes it. This support accounts for several crucial design features that distinguish Valgrind from other DBI frameworks. Because of these features, lightweight tools built with Valgrind run comparatively slowly, but Valgrind can be used to build more interesting, heavyweight tools that are difficult or impossible to build with other DBI frameworks such as Pin and DynamoRIO.},
	keywords = {dynamic binary instrumentation},
	issn = {0362-1340},
	doi = {10.1145/1273442.1250746},
	url = {http://portal.acm.org/citation.cfm?id=1250746},
	author = {Nethercote, Nicholas and Seward, Julian}
}

Downloads: 0