Computing Publications

Publications Home » Flexible Bytecode for Linking in .NET

Flexible Bytecode for Linking in .NET

Alex Buckley, Michelle Murray, Susan Eisenbach, Sophia Drossopoulou

Conference or Workshop Paper
ETAPS Workshop on Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE 2005)

Dynamic linking in modern execution environments like .NET is considerably more sophisticated than in the days of C shared libraries on UNIX. One aspect of this sophistication is that .NET assemblies embed type information about dynamically linked resources.

This type information implicitly represents compile-time assumptions about the resources available at run-time. However, at run-time, different resources may actually be available. For example, the execution environment on a mobile phone might provide fewer, simpler classes than on a desktop PC.

We have designed and implemented a "flexible" dynamic linking scheme that supports the run-time selection of .NET assemblies and classes. This enables a regime of "compile once, run anywhere". We describe the scheme's integration with the .NET linking infrastructure, review important design decisions and report on experiences with the "Rotor" shared source version of .NET.

Compilation and Dynamic Linking
Software Maintenance
Distributed Software Engineering
PDF of full publication (423 kilobytes)
(need help viewing PDF files?)
BibTEX file for the publication
Conditions for downloading publications from this site. built & maintained by Ashok Argent-Katwala.