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://code.google.com/p/dynamorio/
Online documentation: http://www.burningcutlery.com/dynamorio/docs/
DynamoRIO tutorial: DynamoRIO Tutorial
Related information: Performance Comparison of DynamoRIO and Pin|point at new open-source home||||