Safe Upgrading without Restarting

  • Authors:
  • Miles Barr;Susan Eisenbach

  • Affiliations:
  • -;-

  • Venue:
  • ICSM '03 Proceedings of the International Conference on Software Maintenance
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The distributed development and maintenance paradigmfor component delivery is fraught with problems. One wantsa relationship between developers and clients that is autonomousand anonymous. Yet components written in languagessuch as C++ require the recompilation of all dependentsubsystems when a new version of a component is released.The design of Java's binary format has side-steppedthis constraint, removing the need for total recompilationwith each change. But the potential is not fulfilled if programshave to be stopped to swap in each new component.This paper describes a framework that allows Java programsto be dynamically upgraded. Its key purpose is to allowlibraries that are safe to replace existing libraries withoutadversely affecting running programs. The frameworkprovides developers with a mechanism to release their librariesand provides clients with the surety of only upgradingwhen it is safe to do so.