Title:
A Technique for Dynamic Updating of Java Software
A Technique for Dynamic Updating of Java Software
Authors
Orso, Alessandro
Rao, Anup
Harrold, Mary Jean
Rao, Anup
Harrold, Mary Jean
Authors
Advisors
Advisors
Associated Organizations
Organizational Unit
Series
Collections
Supplementary to
Permanent Link
Abstract
TDuring maintenance, systems are updated to correct faults, improve
functionality, and adapt the software to changes in its execution
environment.
The typical software-update process consists of stopping the system to
be updated, performing the actual update of the code, and restarting the
system. For systems such as banking and telecommunication software, however,
the cost of downtime can be prohibitive. The situation is even worse for
systems such as air-traffic controllers and life-support software, for which a shut-down
is in general not an option. In those cases, the use of some form of
on-the-fly program modification is required. In this paper, we propose a new
technique for dynamic updating of Java software. Our technique is based on the use of
proxy classes and does not require any support from the runtime system. The
technique allows for updating a running Java program by substituting, adding,
and deleting classes. We also present Dusc (Dynamic Updating through Swapping
of Classes), a tool that we developed and that implements our technique.
Finally, we describe an empirical study that we performed to validate the
technique on a real Java subject. The results of the study show that our
technique can be effectively applied to Java software with only little
overhead in both execution time and program size.
Sponsor
Date Issued
2002
Extent
268950 bytes
Resource Type
Text
Resource Subtype
Technical Report