Loading...
Please wait, while we are loading the content...
Similar Documents
Dynamic software updates for java: a vm-centric approach (2008).
| Content Provider | CiteSeerX |
|---|---|
| Author | Hicks, Michael Mckinley, Kathryn S. Subramanian, Suriya |
| Abstract | Software evolves to fix bugs and add features, but stopping and restarting existing programs to take advantage of these changes can be inconvenient and costly. Dynamic software updating (DSU) addresses these problems by updating programs while they run. 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. 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. 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. Using JVOLVE, we successfully applied dynamic continuous updates corresponding to 20 of the 22 releases that occurred over nearly two years ’ time, one update per release, for three open-source programs, Jetty web server, JavaEmailServer, and CrossFTP server. Our results indicate that the VM is well-suited to support practical DSU services. |
| File Format | |
| Publisher Date | 2008-01-01 |
| Access Restriction | Open |
| Subject Keyword | Year Time Vm-centric Approach Add Feature Jetty Web Server Dynamic Continuous Update Garbage Collection Class Hierarchy Applied Update Practical Dsu Service Class Signature Open-source Program Dsu-related Overhead Jit Compilation Efficient Dsu Dsu Support Dynamic Software Paper Key Insight Bytecode Verification Support Addition Thread Synchronization Support Updated Program Dynamic Software Update Vm Service Dsu Infrastructure |
| Content Type | Text |
| Resource Type | Article |