Authors:
Michael Rasmussen
1
;
Allan Raundahl Gregersen
1
and
Bo Nørregaard Jørgensen
2
Affiliations:
1
ZeroTurnaround, Estonia
;
2
University of Southern Denmark, Denmark
Keyword(s):
Dynamic Software Updating, Unanticipated Run-time Evolution, Run-time Phenomena.
Related
Ontology
Subjects/Areas/Topics:
Data Communication Networking
;
Databases and Information Systems Integration
;
e-Business
;
Enterprise Information Systems
;
Middleware Integration
;
Middleware Platforms
;
Middleware Support for Networking
;
Programming Languages
;
Software Engineering
;
Technology Platforms
;
Telecommunications
Abstract:
Any non-trivial software system has to be upgraded regularly to incorporate bug fixes and security patches or simply to keep up with the inevitable evolution in end-user requirements. Software upgrading is challenging, especially when it comes to online upgrading of running systems. In this paper, we present the current status of Gosh!, a dynamic-software-updating system for Java, which provides comprehensive support for changing class definitions of live objects, including adding, removing and moving fields, methods, classes and interfaces anywhere in the inheritance hierarchy. Prior to the acquisition by zeroturnaround.com, Gosh! was known as Javeleon. In this paper we demonstrate the capabilities of Gosh! by performing a dynamic updating experiment on five consecutive revisions of the classical arcade game Breakout. Based on the result of this experiment we show that dynamic updating of class definitions for live objects may under some circumstances result in different run-time be
havior than would be observed after a cold restart of the upgraded application. Finally, we conclude by discussing the implication of this finding for future research directions within dynamic software updating.
(More)