Approach dynamic software updating java
The paper’s key insight is that flexible, safe, and efficient DSU can be supported by naturally extending existing VM services.By piggybacking on classloading and garbage collection, JVOLVE can flexibly support additions and replacements of fields and methods anywhere within the class hierarchy, and in a manner that may alter class signatures.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.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.This paper presents the design and implementation of a JVM we call JVOLVE that is enhanced with DSU support.
Source code is maintained using Mercurial, a distributed version control system.
During maintenance, systems are updated to correct faults, improve functionality, and adapt the software to changes in its execution environment.
The typical softwareupdate process consists of stopping the system to be updated, performing the update of the code, and restarting the system.
The results of the study show that our technique can be effectively applied to Java software with only little overhead in both execution time and program size.
Jvolve is a Java VM with Dynamic Software Updating (DSU) support.