Dynamic Updating For The JVM

Stc
Date: Feb 24

Time: 11:45

Room: CGN room C004

Speaker: Dick Eimers

Title: Thesis defense: Dynamic Updating for the JVM using Load-time Structural Reflection

Abstract

Programs evolve over time. They are updated to fix unwanted and unintended properties of a program that cause it to malfunction, or to make beneficial additions and changes to its functionality.

There are applications that must execute continuously without interruption, e.g. in life-critical domains such as aviation, air-traffic control and medical engineering, and hence execution cannot be terminated in favor of an update.

The thesis describes a novel approach to dynamic software updating, i.e. the task of updating parts of a program without having to terminate its execution, for the Java virtual machine. The Java virtual machine specification describes an abstract computing machine responsible for hardware and operating system independence. Our approach allows dynamic updating of classes without depending on extraordinary service of this runtime system by defining a taxonomy of transformations applied to Java class files.