Kitsune

Kitsune
复制标题

狐

DOI:
--
复制
发表时间:
2014
影响因子:
1.3
通讯作者:
J. Foster
J. Foster
中科院分区:
计算机科学2区
文献类型:
--
作者:
Christopher M. Hayden;Karla Saur;Edward K. Smith;M. Hicks;J. Foster

文献摘要

被引文献

相似文献

动态软件更新(DSU)系统促进了对运行程序的软件更新,从而允许开发人员在不停机的情况下添加功能并修复错误。本文介绍了一个基于C语言的DSU系统Kitsune。Kitsune的设计有三个显著的特点。首先,Kitsune更新整个程序,而不是单个函数,使用一种对数据表示或允许的编译器优化没有限制的机制。其次,Kitsune在程序文本中明确了更新的重要方面,使程序的语义易于理解,同时最大限度地减少了程序员的工作量。最后,程序员可以编写简单的规范来指导Kitsune生成遍历和转换旧版本状态以供新代码使用的代码;这种状态转换通常是必要的,并且在以前的DSU系统中要困难得多。我们已经使用Kitsune更新了六个流行的开源单线程和多线程程序,发现使用Kitsune只需要很少的程序更改,它基本上不会产生性能开销,并且更新时间很快。
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.