ISU Electrical and Computer Engineering Archives

dReAM: Dynamic Refactoring-aware Automated Migration of Java Online Applications

Gharaibeh, Bashar and Dig, Danny and Nguyen, Tien N. and Chang, J. Morris (2007) dReAM: Dynamic Refactoring-aware Automated Migration of Java Online Applications. Publisher UNSPECIFIED, Ames, USA.

Full text available as:

PDF - Requires Adobe Acrobat Reader or other PDF viewer.


Refactorings in software components (e.g., libraries and frameworks) can change the APIs of the components. In order to use the latest version of a component, applications that reuse those APIs need to be updated. This is traditionally done manually, which is error-prone, tedious, and disruptive. The problem is exacerbated for long-running applications (e.g., servers) that cannot be shut down, updated, and restarted. This paper presents a practical approach and our tool, dReAM, to automatically and safely update running applications without restarting them. At the core lies a practical representation of programs to efficiently validate the composition of refactorings and other API changes from both component and application. If dReAM finds that there are no conflicts between component and application API changes, the behavior of the application is preserved with respect to the semantics of these API changes. To apply these API changes at runtime, dReAM extends Jikes, a popular JVM. Experiments and a case study of Jigsaw web server shows that the performance overhead imposed by our update tool is less than 5% and the time to apply the update is minimal. Moreover, dReAM is non-intrusive for the current development process: application and component developers do not need to write any annotations nor do they need to compile their programs in a special way.

EPrint Type:Technical Report
Uncontrolled Keywords:Refactoring, Online Update
Subjects:Computer Engineering > SOFTWARE SYSTEMS > Software Engineering
ID Code:363
Identification Number:Identification Number UNSPECIFIED
Deposited By:Bashar Gharaibeh
Deposited On:29 August 2007

Archive Staff Only: edit this record