DynamoRIO is a runtime code manipulation system that supports code transformations on any part of a program, while it executes. DynamoRIO exports an interface for building dynamic tools for a wide variety of uses: program analysis and understanding, profiling, instrumentation, optimization, translation, etc. Unlike many dynamic tool systems, DynamoRIO is not limited to insertion of callouts/trampolines and allows arbitrary modifications to application instructions via a powerful IA-32/AMD64 instruction manipulation library. DynamoRIO provides efficient, transparent, and comprehensive manipulation of unmodified applications running on stock operating systems (Windows or Linux) and commodity IA-32 and AMD64 hardware.

DynamoRIO is now open-source! Its new home is http://dynamorio.org/
Online documentation: http://dynamorio.org/docs/
DynamoRIO tutorial: DynamoRIO Tutorial
Related information: http://www.govirtual.org/blogs/derek/2008/09/18/performance-comparison-of-dynamo rio-and-pin|point at new domain||||