The challenge is to develop DSU infrastructure that is flexible, safe, and efficient—DSU should enable updates that are likely to occur in practice, and updated programs should be as reliable and as efficient as those started from scratch.
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.
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.
There are a few command line options when invoking the VM that control DSU behavior.
They are As mentioned above, Jvolve provides a command line option to specify an update specification file.
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.
Our technique is based on the use of proxy classes and requires no support from the runtime system.