Dynamic software updating michael hicks
We compile programs specially so that they can be dynamically patched, and generate most of a dynamic patch automatically.Our framework ensures that an update cannot be applied at a time that would violate type-safety.Dynamic software updating (DSU) systems allow programs to be updated while running, thereby allowing developers to add features and fix bugs without downtime.This paper introduces Kitsune, a new DSU system for C whose design has three notable features.Hicks is an associate professor in the Computer Science department and UMIACS at the University of Maryland, College Park, and is the Director of the Maryland Cybersecurity Center (MC2).
His research bridges the areas of “systems” and programming languages, in that he frequently applies or develops language-based technology to solve problems that occur in systems software. This dissertation won the 2002 ACM SIGPLAN Doctoral Dissertation Award.
Second, Kitsune makes the important aspects of updating explicit in the program text, making its semantics easy to understand while keeping programmer work to a minimum.
Finally, the programmer can write simple specifications to direct Kitsune to generate code that traverses and transforms old-version state for use by the new code; such state transformation is often necessary, and is significantly more difficult in prior DSU systems.
We discuss our experience building and maintaining Flash Ed.
Performance experiments show that updateable Flash Ed runs roughly 2% slower than a static one under various work loads.
^ Computer Science Hicks, Michael William, "Dynamic software updating" (2001).