Practical dynamic software updating for c

27-Feb-2017 01:30

We performed a substantial study of using Ginseng to dynamically up-date six sizable C server programs, three single-threaded and three multi-threaded.

The number of service dependencies in a project is growing.This dissertation makes the case that programs can be updated while they run, with modest programmer effort, while providing certain update safety guarantees, and without imposing a significant performance overhead.Few systems are designed with on-the-fly updating in mind.Those systems that permit it support only a very limited class of updates, and generally provide no guarantees that following the update, the system will behave as intended.We tackle the on-the-fly updating problem using a compiler-based approach called Dynamic Software Updating (DSU), in which a program is patched with new code and data while it runs.

The number of service dependencies in a project is growing.

This dissertation makes the case that programs can be updated while they run, with modest programmer effort, while providing certain update safety guarantees, and without imposing a significant performance overhead.

Few systems are designed with on-the-fly updating in mind.

Those systems that permit it support only a very limited class of updates, and generally provide no guarantees that following the update, the system will behave as intended.

We tackle the on-the-fly updating problem using a compiler-based approach called Dynamic Software Updating (DSU), in which a program is patched with new code and data while it runs.

Current software update methodology is stop/restart. However, many system would prefer no-line upgrades in lien of having to stop and restart the system every time it must be patched.