Luís Pina

Rubah: DSU for Java on a Stock JVM

| PDF | slides |

Luís Pina and Luís Veiga and Michael Hicks
In Proceedings of the ACM 2014 International Conference on Object-Oriented Programming Languages, Systems, and Applications (OOPSLA)
October, 2014

Abstract

This paper presents Rubah, the first dynamic software updating system for Java that: is portable, implemented via libraries and bytecode rewriting on top of a standard JVM; is efficient, imposing essentially no overhead on normal, steady-state execution; is flexible, allowing nearly arbitrary changes to classes between updates; and is non-disruptive employing either a novel eager algorithm that transforms the program state with multiple threads, or a novel lazy algorithm that transforms objects as they are demanded, post-update. Requiring little programmer effort, Rubah has been used to dynamically update five long-running applications: the H2 database, the Voldemort key-value store, the Jake2 implementation of the Quake 2 shooter game, the CrossFTP server, and the JavaEmailServer.

Bibtex

@inproceedings{pina14oopsla,
  title     = {Rubah: {DSU} for Java on a Stock {JVM}},
  author    = {Pina, Lu\'{\i}s and Veiga, Lu\'{\i}s and Hicks, Michael},
  booktitle = {Proceedings of the {ACM} 2014 International Conference on Object-Oriented Programming Languages, Systems, and Applications},
  year      = {2014},
  month     = OCT,
  series    = {OOPSLA '14},
  location  = {Portland, OR, USA},
  publisher = {ACM},
  
}