Dynamic software updating java
Papers and proceedings are freely available to everyone once the event begins.
Any video, audio, and/or slides that are posted after the event are also free and open to everyone. This paper presents Rubah, a new dynamic software updating (DSU) system for Java programs that works on stock JVMs.
For more details refer to our PLDI 2009 paper, "Dynamic Software Updates: A VM-centric Approach" PDF bibtex.
Source code is maintained using Mercurial, a distributed version control system.
Before you get started, ensure that you have mercurial installed.
This page contains information on how to download and use Jvolve.
Together, these systems provide comprehensive support for changing class definitions of live objects, including adding, removing and moving fields, methods, classes and interfaces anywhere in the inheritance hierarchy. (2014) State of the Art of Dynamic Software Updating in Java.
However for some companies the cost of a system shutdown can be prohibitive in terms of economic outlay, safety and availability of service.
The dynamic software updating system JRebel from Zeroturnaround has proven to be an efficient mean to improve developer productivity, as it allows developers to change the code of their applications while developing and testing them.
Hence, developers no longer have to go through the tedious cycle of serializing application state, halting execution, redeploy the binary, restarting, and de-serializing state before they can test the effect of a code change.
DSU is a general-purpose mechanism that updates from an old version to a newer version of a program while it is running.
DSU does not impose any special software or hardware architecture.