Safe and atomic run-time code evolution for Java and its application to dynamic AOP
Thomas Würthinger, Danilo Ansaloni, Walter Binder, Christian L. Wimmer, Hanspeter Mössenböck · 2011
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.