Computational reflection in class based object-oriented languages
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Language-independent aspect-oriented programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
An easy-to-use toolkit for efficient Java bytecode translators
Proceedings of the 2nd international conference on Generative programming and component engineering
Automatic program transformation with JOIE
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Hi-index | 0.00 |
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 and 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 learnt in building a framework for code instrumentation in.NET.