Susan Eisenbach, Chris Sadler, Vladimir Jurisic
A major challenge of maintaining object-oriented programs is to find a means of evolving software that already has a distributed client base. This should be easier for Java developers than for most, because dynamic linking has been designed into the runtime system. It turns out however that things are not so straightforward as they seem, since a given modification can leave a remote client in one of a number of states, not all of which are tolerable, let alone desirable. In this paper we attempt to delineate these states, and to consider ways of avoiding the worst of them. We describe our utility, which gives library developers a transparent version control system, ensuring that their remote clients won't break their applications.
pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.