Academic publications of DSU systems commonly include several target programs as case studies.
vsftpd, Open SSH, Postgre SQL, Tor, Apache, GNU Zebra, memcached, and Redis are all dynamic updating targets for various systems.
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.
Current operating systems and programming languages are typically not designed with DSU in mind.
Many DSU systems, such as Ginseng, require programs to pass various static analyses.
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.
In the event of a failure, the hot spare would take over, and the main machine would become the new hot spare. In the event of an update, the hot spare would activate, the main system would update, and then the updated system would resume control.
The earliest true Dynamic Software Updating system is DYMOS (Dynamic Modification System).