Approach dynamic software updating java

14-May-2014 19:32 by 2 Comments

Approach dynamic software updating java

Likewise, a program that has a plugin architecture, must be able to load and execute new code at runtime.Similar techniques are sometimes also employed for the purpose of dynamic dead-code elimination to remove conditionally dead or unreachable code at load or runtime, and recombine the remaining code to minimize its memory footprint or improve speed.

The earliest true Dynamic Software Updating system is DYMOS (Dynamic Modification System).

For example, Ksplice only supports code changes in functions, and does not support changes to state representation.

This is because Ksplice primarily targets security changes, rather than general updates.

Examples include checkpointing, dynamic linking, and persistence.

As an example, a database that must be backward-compatible with previous versions of its on-disk file format, must accomplish the same type of state transformation expected of a dynamic updating system.

Since few programs are written with support for dynamic updating in mind, retrofitting existing programs is a valuable means of evaluating a DSU system for practical use.

The problem space addressed by dynamic updating can be thought of as an intersection of several others.DSU systems, as tools, can also be evaluated on their ease-of-use and clarity to developers.Many DSU systems, such as Ginseng, require programs to pass various static analyses.The earliest precursor to dynamic software updating is redundant systems.In a redundant environment, spare systems exist ready to take control of active computations in the event of a failure of the main system.These compilers preserve the semantics of the original program, but instrument either the source code or object code to produce a dynamically updateable program.