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

被引:32
|
作者
Hayden, Christopher M. [1 ]
Smith, Edward K. [1 ]
Denchev, Michail [1 ]
Hicks, Michael [1 ]
Foster, Jeffrey S. [1 ]
机构
[1] Univ Maryland, College Pk, MD 20742 USA
关键词
Design; Languages; dynamic software updating;
D O I
10.1145/2398857.2384635
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic software updating (DSU) systems allow programs to be updated while running, thereby permitting 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 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 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.
引用
收藏
页码:249 / 264
页数:16
相关论文
共 50 条
  • [1] Kitsune: Efficient, General-Purpose Dynamic Software Updating for C
    Hayden, Christopher M.
    Saur, Karla
    Smith, Edward K.
    Hicks, Michael
    Foster, Jeffrey S.
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (04): : 1 - 38
  • [2] IN SEARCH OF GENERAL-PURPOSE SOFTWARE
    OSWALD, H
    INFOSYSTEMS, 1983, 30 (10): : 120 - &
  • [3] GENERAL-PURPOSE SOFTWARE FOR THE COUNSELOR
    WATJEN, LR
    JOURNAL OF COUNSELING AND DEVELOPMENT, 1984, 63 (03): : 184 - 186
  • [4] AN EFFICIENT GENERAL-PURPOSE PARALLEL COMPUTER
    GALIL, Z
    PAUL, WJ
    JOURNAL OF THE ACM, 1983, 30 (02) : 360 - 387
  • [5] General-purpose compression for efficient retrieval
    Cannane, A
    Williams, HE
    JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCE AND TECHNOLOGY, 2001, 52 (05): : 430 - 437
  • [6] GENERAL-PURPOSE SOFTWARE ADAPTED FOR IE APPLICATIONS
    KLEINFELD, IH
    INDUSTRIAL ENGINEERING, 1984, 16 (02): : 18 - 20
  • [7] PROSOFT - A GENERAL-PURPOSE SOFTWARE IN PROTEIN CHEMISTRY
    PETRILLI, P
    COMPUTER APPLICATIONS IN THE BIOSCIENCES, 1988, 4 (02): : 265 - 270
  • [8] Design and performance of a General-Purpose Software cache
    Iyengar, A
    1999 IEEE INTERNATIONAL PERFORMANCE, COMPUTING AND COMMUNICATIONS CONFERENCE, 1999, : 329 - 336
  • [10] A catalogue of general-purpose software design patterns
    Tichy, WF
    TOOLS 23 - TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS, 1998, : 330 - 339