Kitsune: Efficient, General-purpose Dynamic Software Updating for C

dc.contributor.authorHayden, Christopher M.
dc.contributor.authorSmith, Edward K.
dc.contributor.authorDenchev, Michail
dc.contributor.authorHicks, Michael
dc.contributor.authorFoster, Jeffrey S.
dc.date.accessioned2012-05-29T17:14:58Z
dc.date.available2012-05-29T17:14:58Z
dc.date.issued2012-03-28
dc.description.abstractDynamic 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. First, Kitsune’s updating mechanism updates the whole program, not individual functions. This mechanism is more flexible than most prior approaches and places no restrictions on data representations or allowed compiler optimizations. 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 have used Kitsune to update five popular, open-source, single- and multi-threaded programs, and find that few program changes are required to use Kitsune, and that it incurs essentially no performance overhead.en_US
dc.identifier.urihttp://hdl.handle.net/1903/12496
dc.language.isoen_USen_US
dc.relation.ispartofseriesUM Computer Science Department;CS-TR-5008
dc.titleKitsune: Efficient, General-purpose Dynamic Software Updating for Cen_US
dc.typeTechnical Reporten_US

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
CS-TR-5008.pdf
Size:
298.72 KB
Format:
Adobe Portable Document Format