The RIO Project: Runtime Introspection and Optimization
News: DynamoRIO is now Open Source!
DynamoRIO's source code is now publicly available under a BSD-style license.
The new DynamoRIO home is dynamorio.org.
We are investigating the untapped potential of performing tasks at
runtime. Currently we are looking at instrumentation, optimization, and
security. Our infrastructure is called DynamoRIO and is built on Dynamo
from Hewlett-Packard Laboratories. It 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.
We just released our infrastructure, called DynamoRIO, in binary form.
It's available free for non-commercial use here.
- Derek Bruening and Saman Amarasinghe.
Maintaining Consistency and Bounding Capacity of Software Code Caches.
on Code Generation and Optimization (CGO-05), March 2005, San
- Derek Bruening.
Efficient, Transparent, and Comprehensive Runtime Code Manipulation.
Ph.D. Thesis, MIT, September 2004.
- Christopher Leger.
An API for Dynamic Partial Evaluation under DynamoRIO.
M.Eng. Thesis, MIT, June 2004.
- Iris Baron.
Dynamic Optimization of Interpreters using DynamoRIO.
S.M. Thesis, MIT, September 2003.
- Timothy Garnett.
Dynamic Optimization of IA-32 Applications Under DynamoRIO.
M.Eng. Thesis, MIT, June 2003.
- Gregory Sullivan, Derek Bruening, Iris Baron, Timothy Garnett, and
Dynamic Native Optimization of Interpreters.
Interpreters, Virtual Machines and Emulators (IVME-03), June 2003, San
- Derek Bruening, Timothy Garnett, Saman Amarasinghe.
An Infrastructure for Adaptive Dynamic Optimization.
on Code Generation and Optimization (CGO-03), March 2003, San
- Vladimir Kiriansky.
Secure Execution Environment via Program Shepherding.
M.Eng. Thesis, MIT, February 2003.
- Vladimir Kiriansky, Derek Bruening, Saman Amarasinghe.
Secure Execution Via Program Shepherding.
11th USENIX Security
Symposium, August 2002, San Francisco, California.
An earlier version was published as:
MIT/LCS Technical Memo, LCS-TM-625, February 2002.
An expanded version was published as:
Execution Model Enforcement Via Program Shepherding
MIT/LCS Technical Memo, LCS-TM-638, May 2003.
- Joshua Jacobs.
Improving Memory Performance through Runtime Optimization.
M.Eng. Thesis, MIT, May 2002.
- Derek Bruening, Evelyn Duesterwald, and Saman Amarasinghe.
Design and Implementation of a Dynamic Optimization Framework for
4th ACM Workshop on Feedback-Directed and Dynamic
Optimization (FDDO-4), December 1, 2001, Austin, Texas.
ACM and IEEE-mandated Copyright Notice
The documents listed above are included by the contributing authors
as a means to ensure timely dissemination of scholarly and
technical work on a non-commercial basis. Copyright and all rights
therein are maintained by the authors or by other copyright
holders, notwithstanding that they have offered their works here
electronically. It is understood that all persons copying this
information will adhere to the terms and constraints invoked by
each author's copyright. These works may not be reposted without
the explicit permission of the copyright holder.
We also have a collaboration with Hewlett-Packard Labs
- In the Compilers at MIT Group:
- People associated with RIO in the past:
- Chris Leger
- Gregory Sullivan
- Iris Baron
- Tim Garnett
- Joshua Jacobs