Approach dynamic software updating java
By utilizing bytecode verification and thread synchronization support, JVOLVE can ensure that an applied update will never violate type-safety.Finally, by employing JIT compilation, all DSU-related overhead before or after an update can be effectively eliminated.We also present DUSC (Dynamic Updating through Swapping of Classes), a tool that we developed and that implements our technique.Finally, we describe an empirical study that we performed to validate the technique on a real Java subject.
The situation is even worse for systems such as air-traffic controllers and life-support software, for which a shut-down is in general not an option.
Before we build Jvolve, let us build UPT and Jast Add J, both of which are straightforward to build. If every thing in your system is right, you should be able to build Jvolve and run about 25 DSU-specific regression tests with a single command.
The entire command should take about 5 minutes to run.
There are three components (and their corresponding repositories) that you need to download.
They are Jvolve has been tested to work on ia32-osx and ia32-linux platforms. Jvolve's requirements are the same as those of Jikes RVM.
For more details refer to our PLDI 2009 paper, "Dynamic Software Updates: A VM-centric Approach" PDF bibtex.