Kitsune: Efficient, General-Purpose Dynamic Software Updating for C. Hayden, C. M., Saur, K., Smith, E. K., Hicks, M., & Foster, J. S. ACM Trans. Program. Lang. Syst., 2014.
abstract   bibtex   
Dynamic software updating (DSU) systems facilitate software updates to running programs, thereby permitting developers to add features and fix bugs without downtime. This article introduces Kitsune, a DSU system for C. Kitsune’s design has three notable features. First, Kitsune updates the whole program, rather than individual functions, using a mechanism that places no restrictions on data representations or allowed compiler optimizations. Second, Kitsune makes the important aspects of updating explicit in the program text, making the program’s semantics easy to understand while minimizing programmer effort. Finally, the programmer can write simple specifications to direct Kitsune to generate code that traverses and transforms old-version state for use by new code; such state transformation is often necessary and is significantly more difficult in prior DSU systems. We have used Kitsune to update six popular, open-source, single- and multithreaded programs and find that few program changes are required to use Kitsune, that it incurs essentially no performance overhead, and that update times are fast.
@article{hayden_kitsune:_2014,
	title = {Kitsune: {Efficient}, {General}-{Purpose} {Dynamic} {Software} {Updating} for {C}},
	volume = {36},
	abstract = {Dynamic software updating (DSU) systems facilitate software updates to running programs, thereby permitting developers to add features and fix bugs without downtime. This article introduces Kitsune, a DSU system for C. Kitsune’s design has three notable features. First, Kitsune updates the whole program, rather than individual functions, using a mechanism that places no restrictions on data representations or allowed compiler optimizations. Second, Kitsune makes the important aspects of updating explicit in the program text, making the program’s semantics easy to understand while minimizing programmer effort. Finally, the programmer can write simple specifications to direct Kitsune to generate code that traverses and transforms old-version state for use by new code; such state transformation is often necessary and is significantly more difficult in prior DSU systems. We have used Kitsune to update six popular, open-source, single- and multithreaded programs and find that few program changes are required to use Kitsune, that it incurs essentially no performance overhead, and that update times are fast.},
	number = {4},
	urldate = {2015-12-30TZ},
	journal = {ACM Trans. Program. Lang. Syst.},
	author = {Hayden, Christopher M. and Saur, Karla and Smith, Edward K. and Hicks, Michael and Foster, Jeffrey S.},
	year = {2014},
	keywords = {Dynamic, software, updating, venilu, veniok}
}

Downloads: 0