Computing Publications

Publications Home » Flexible Models for Dynamic Linking

Flexible Models for Dynamic Linking

Sophia Drossopoulou, Giovanni Lagorio, Susan Eisenbach

Conference or Workshop Paper
Joint European conference on theory and practice of software (ETAPS 2003), Warsaw, Poland
April, 2003
Lecture Notes in Computer Science
Volume 2618

Dynamic linking supports flexible code deployment: partially linked code links further code on the fly, as needed; and thus, end-users receive updates automatically. On the down side, each program run may link different versions of the same code, possibly causing subtle errors which mystify end-users.

Dynamic linking in Java and C# are similar: The same linking phases are involved, soundness is based on similar ideas, and executions which do not throw linking errors give the same result. They are, however, not identical: the linking phases are combined differently, and take place in different order. Thus, linking errors may be detected at different times in Java and C#.

We develop a non-deterministic model, which includes the behaviour of Java and C#. The non-determinism allows us to describe the design space, to distill the similarities between the two languages, and to use one proof of soundness for both. We also prove that all execution strategies are equivalent in the sense that all terminating executions which do not involve a link error, give the same result.

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