RAIL: code instrumentation for .NET

  • Authors:
  • Bruno Cabral;Paulo Marques;Luís Silva

  • Affiliations:
  • University of Coimbra, Coimbra, Portugal;University of Coimbra, Coimbra, Portugal;University of Coimbra, Coimbra, Portugal

  • Venue:
  • Proceedings of the 2005 ACM symposium on Applied computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code instrumentation is a mechanism that allows modules of programs to be completely rewritten at runtime. With the advent of virtual machines, this type of functionality is becoming more interesting because it allows the introduction of new functionality after an application has been deployed, easy implementation of aspect-oriented programming, performing security verifications, dynamic software upgrading, among others.The Runtime Assembly Instrumentation Library (RAIL) is one of the first frameworks to implement code instrumentation in the .NET platform. It specifically addresses the limitations that exist between the reflection capabilities of .NET and its code emission functionalities. RAIL gives the programmer an object-oriented vision of the code of an application, allowing assemblies, modules, classes, references and even intermediate code to be easily manipulated.This paper addresses the design of an implementation of RAIL along with the difficulties and lessons learned while building a framework for code instrumentation in .NET.