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 条
  • [31] Understanding the Software and Hardware Stacks of a General-Purpose Cognitive Drone
    Jijina, Sam
    Amyette, Adriana
    Shoghi, Nima
    Hadidi, Ramyad
    Kim, Hyesoon
    2020 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS), 2020, : 212 - 214
  • [32] DDUO: General-Purpose Dynamic Analysis for Differential Privacy
    Abuah, Chike
    Silence, Alex
    Darais, David
    Near, Joseph P.
    2021 IEEE 34TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2021), 2021, : 468 - 482
  • [33] Modeling in the bioimpedance measurement techniques using general-purpose software
    Paavle, Toivo
    2006 INTERNATIONAL BALTIC ELECTRONICS CONFERENCE, PROCEEDINGS, 2006, : 209 - 212
  • [34] DIALOG SOFTWARE PROGRAMMING FOR GENERAL-PURPOSE SPECTRAL COMPUTATION COMPLEXES
    MISHCHENKO, ED
    TRILESNIK, II
    TUMARKIN, YN
    SOVIET JOURNAL OF OPTICAL TECHNOLOGY, 1982, 49 (10): : 654 - 656
  • [35] Mapping of application software to the multimedia instructions of general-purpose microprocessors
    Lee, R
    McMahan, L
    MULTIMEDIA HARDWARE ARCHITECTURES 1997, 1997, 3021 : 122 - 133
  • [36] General-purpose software tool for serial segmentation of stacked images
    Chalana, V
    Sannella, M
    Haynor, DR
    MEDICAL IMAGING 2000: IMAGE PROCESSING, PTS 1 AND 2, 2000, 3979 : 192 - 203
  • [37] General-purpose definition
    Emerson, DM
    DATAMATION, 1995, 41 (23): : 14 - 14
  • [38] General-purpose cells?
    Solter, D
    Gearhart, J
    RECHERCHE, 1999, (320): : 32 - 34
  • [39] A GENERAL-PURPOSE MACROGENERATOR
    STRACHEY, C
    COMPUTER JOURNAL, 1965, 8 (03): : 225 - 241
  • [40] GENERAL-PURPOSE COMPUTER
    TAUBE, M
    SCIENCE, 1962, 136 (3515) : 590 - &