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 only 5-9% overhead on normal, steadystate 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 three substantial, long-running applications: the H2 database, the Voldemort key-value store, and the Jake2 implementation of the Qua...
Dynamic software updates change the code of a computer program while it runs, thus saving the progra...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...
Dynamic Software Updating (DSU) provides mechanisms to update a program without stopping its executi...
This paper presents Rubah, a new dynamic software up-dating (DSU) system for Java programs that work...
Dynamic software updates (DSU) are one of the top-most features requested by developers and users. A...
Software is changed frequently during its life cycle. New requirements come, and bugs must be \ufb01...
textBecause software systems are imperfect, developers are forced to fix bugs and add new features....
TDuring maintenance, systems are updated to correct faults, improve functionality, and adapt the s...
ii iii This dissertation is about allowing existing applications to be updated while running. By com...
The requirement for 24/7 availability of distributed applications complicates their maintenance and ...
With the evolution of the software development process, claimed by the new demands of the market, so...
Dynamic code evolution is a technique to update a program while it is running. In an object-oriented...
This work concerns with dynamic evolution of applications written in Java. It investigates existing ...
This paper describes the implementation and tuning of an orthogonally persistent Java Virtual Machin...
Refactorings of software components (e.g., libraries and frameworks) can change the APIs of the comp...
Dynamic software updates change the code of a computer program while it runs, thus saving the progra...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...
Dynamic Software Updating (DSU) provides mechanisms to update a program without stopping its executi...
This paper presents Rubah, a new dynamic software up-dating (DSU) system for Java programs that work...
Dynamic software updates (DSU) are one of the top-most features requested by developers and users. A...
Software is changed frequently during its life cycle. New requirements come, and bugs must be \ufb01...
textBecause software systems are imperfect, developers are forced to fix bugs and add new features....
TDuring maintenance, systems are updated to correct faults, improve functionality, and adapt the s...
ii iii This dissertation is about allowing existing applications to be updated while running. By com...
The requirement for 24/7 availability of distributed applications complicates their maintenance and ...
With the evolution of the software development process, claimed by the new demands of the market, so...
Dynamic code evolution is a technique to update a program while it is running. In an object-oriented...
This work concerns with dynamic evolution of applications written in Java. It investigates existing ...
This paper describes the implementation and tuning of an orthogonally persistent Java Virtual Machin...
Refactorings of software components (e.g., libraries and frameworks) can change the APIs of the comp...
Dynamic software updates change the code of a computer program while it runs, thus saving the progra...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...
Dynamic Software Updating (DSU) provides mechanisms to update a program without stopping its executi...