Title
Dynamic software updates: a VM-centric approach
Abstract
Software evolves to fix bugs and add features. Stopping and restarting programs to apply changes is inconvenient and often costly. Dynamic software updating (DSU) addresses this problem by updating programs while they execute, but existing DSU systems for managed languages do not support many updates that occur in practice and are inefficient. This paper presents the design and implementation of Jvolve, a DSU-enhanced Java VM. Updated programs may add, delete, and replace fields and methods anywhere within the class hierarchy. Jvolve implements these updates by adding to and coordinating VM classloading, just-in-time compilation, scheduling, return barriers, on-stack replacement, and garbage collection. Jvolve, is safe: its use of bytecode verification and VM thread synchronization ensures that an update will always produce type-correct executions. Jvolve is flexible: it can support 20 of 22 updates to three open-source programs--Jetty web server, JavaEmailServer, and CrossFTP server--based on actual releases occurring over 1 to 2 years. Jvolve is efficient: performance experiments show that incurs no overhead during steady-state execution. These results demonstrate that this work is a significant step towards practical support for dynamic updates in virtual machines for managed languages.
Year
DOI
Venue
2009
10.1145/1542476.1542478
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Keywords
Field
DocType
garbage,garbage collection,java,just in time compiler,object oriented programming languages,programming languages,steady state,virtual machines,virtual machine,dynamic software updating
Virtual machine,Programming language,Computer science,Dynamic software updating,Server,Real-time computing,Garbage collection,Synchronization (computer science),Java,Bytecode,Operating system,Web server
Conference
Volume
Issue
ISSN
44
6
0362-1340
Citations 
PageRank 
References 
81
3.13
33
Authors
3
Name
Order
Citations
PageRank
Suriya Subramanian1914.03
Michael W. Hicks2106161.49
Kathryn S. Mckinley33746267.74