Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The binary release of the DynamoRIO dynamic code modification system by Hewlett-Packard and MIT

1 view
Skip to first unread message

Saman Amarasinghe

unread,
Jul 3, 2002, 12:39:45 AM7/3/02
to
In the new world of software, which heavily utilizes dynamic class loading,
dynamically linked libraries, and interconnected components, the power and
reach of static analysis is diminishing. An exciting new paradigm of
dynamic program optimization -- improving the performance of a program while
it is being executed -- is emerging. However, research in this area is
difficult due to lack of tools, especially tools that are able to handle
real applications in their entirety.

A collaboration between HP Labs and MIT has produced DynamoRIO, a dynamic
code modification system for the IA-32 platform. The DynamoRIO system is
meant to be an infrastructure for not only dynamic optimization but other
applications such as program introspection and security. DynamoRIO can be
used to build tools ranging from simple profilers that instrument the code
stream to gather statistics to full-fledged dynamic optimization passes.

DynamoRIO operates on unmodified native binaries and requires no special
hardware or operating system support. It is implemented for both IA-32
Windows and Linux, and is capable of running large desktop applications,
such as Microsoft Office and Adobe photoshop.

HP and MIT are offering a free release of DynamoRIO for non-commercial use.
The release includes the DynamoRIO binaries and an interface for building
custom dynamic code modifiers. The interface supports applications such as
dynamic instrumentation and optimization, with a powerful API for
manipulating IA-32 instructions.

The release is available from:

http://cag.lcs.mit.edu/dynamorio

References:

[1] V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A transparent runtime
optimization system. In Proceedings of the ACM SIGPLAN Conference on
Programming Language Design and Implementation (PLDI'00), June 2000.

[2] Derek Bruening, Evelyn Duesterwald, and Saman Amarasinghe. Design and
Implementation of a Dynamic Optimization Framework for Windows. 4th ACM
Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4), December 1,
2001, Austin, Texas.

[3] Vladimir Kiriansky, Derek Bruening, Saman Amarasinghe. Secure Execution
Via Program Shepherding. 11th USENIX Security Symposium, August 2002, San
Francisco, California.


0 new messages