This paper presents Rubah, the first dynamic software up- dating 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.
Wed 22 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 22mTalk | Tardis: Affordable Time-Travel Debugging in Managed Runtimes OOPSLA Link to publication | ||
10:52 22mTalk | Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs OOPSLA Link to publication Media Attached | ||
11:15 22mTalk | Rubah: DSU for Java on a stock JVM OOPSLA Luís Pina Technical University of Lisbon / INESC-ID, Luís Veiga INESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Michael Hicks University of Maryland, College Park Link to publication | ||
11:37 22mTalk | Fast Conservative Garbage Collection OOPSLA Rifat Shahriyar Australian National University, Steve Blackburn Australian National University , Kathryn S McKinley Microsoft Research Link to publication |