Sophia Drossopoulou, Giovanni Lagorio, and Susan
Eisenbach
Flexible models for dynamic linking
In Programming Languages & Systems, 12th European Symp. Programming, volume 2618 of Lecture Notes in Computer Science, pages
38-53 Springer, 2003
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.
[ bib |
.pdf ]
Back
This file has been generated by
bibtex2html 1.43