Dependable Systems Group
Home Project overview Documentation Publications Download People Links

Runtime Assembly Instrumentation Library Project
Dependable Systems Group
Department of Computer Science
University of Coimbra - Portugal


Jannuary 2005 - RAIL V0.5.7 release

What can you do with RAIL (html)

All the source code is available for download in this site. There are also several examples that explain how to use RAIL.

Please if you are insterested in experimenting with this package, please *do* send us an email to

Runtime Assembly Instrumentation Library

This project plans to implement an API that allows CLR assemblies to be manipulated and instrumented before they are loaded and executed.
In the CLR, the AppDomain class and the ResolveEventHandler event handler already provide an excellent mechanism for dynamically loading assemblies into an application domain under the control of the programmer. At the same time, the reflection capabilities of the CLR are extremely powerful. Not only it is possible to query the existing types at runtime, but is also possible to define new assemblies in memory and use Reflection.Emit to generate MSIL on-the-fly. Our plan is to fill the gap between these two concepts. The idea is to have an API that allows the programmer to intercept the class resolution process, examining and manipulating the code that exists in an assembly, before the code is actually defined on the virtual machine. This API will be called RAIL: Runtime Assembly Instrumentation Library.
By using RAIL it will be possible to specify specific transformations that must be done at an assembly before it is loaded and executed. These transformations will be specified using a high-level API, abstracting the programmer from the low-level details of MSIL and the assembly binary format. For instance, it will be possible to substitute the references to a class for references to another class, change the name and usage of constants and variables, examine and change existing methods, and so on.

Research Group

The Dependable Systems Group focuses on research on Fault Tolerance Techniques, with special emphasis on fault injection and error detection methods, and on Distributed and Parallel Systems, including MPI and mobile agents.

The DSG is part of CISUC and is hosted at the
Department of Computer Science at the University of Coimbra.


<<< Previous • Next >>

©2005 RAIL Project DSG DEIFCTUCUC HomeProject OverviewDocumentationPublicationsDownloadPeopleLinks