kirancodes.me
To Proof Maintenance & Beyond!

Safe and atomic run-time code evolution for Java and its application to dynamic AOP

Thomas Würthinger, Danilo Ansaloni, Walter Binder, Christian Wimmer, Hanspeter Mössenböck

Abstract

Dynamic updates to running programs improve development productivity and reduce downtime of long-running applications. This feature is however severely limited in current virtual machines for object-oriented languages. In particular, changes to classes often apply only to methods invoked after a class change, but not to active methods on the call stack of threads. Additionally, adding and removing methods as well as fields is often not supported.

Related papers