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

被引:20
|
作者
Hayden, Christopher M. [1 ]
Saur, Karla [1 ]
Smith, Edward K. [1 ]
Hicks, Michael [1 ]
Foster, Jeffrey S. [1 ]
机构
[1] Univ Maryland, Dept Comp Sci, College Pk, MD 20742 USA
基金
美国国家科学基金会;
关键词
Design; Languages; Dynamic software updating; SAFE;
D O I
10.1145/2629460
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. Categories and Subject Descriptors: C. 4 [Performance of Systems]: Reliability, availability, and serviceability
引用
收藏
页码:1 / 38
页数:38
相关论文
共 50 条
  • [21] Runtime reconfiguration techniques for efficient general-purpose computation
    Xu, BX
    Albonesi, DH
    IEEE DESIGN & TEST OF COMPUTERS, 2000, 17 (01): : 42 - 52
  • [22] General-Purpose FPGA Platform for Efficient Encryption and Hashing
    Szefer, Jakub
    Chen, Yu-Yuan
    Lee, Ruby B.
    21ST IEEE INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS, 2010,
  • [23] An Efficient Formulation for General-Purpose Multibody/Multiphysics Analysis
    Masarati, Pierangelo
    Morandini, Marco
    Mantegazza, Paolo
    JOURNAL OF COMPUTATIONAL AND NONLINEAR DYNAMICS, 2014, 9 (04):
  • [25] Design of a general-purpose automation software based on Raspberry Pi
    Pinero Aguilar, Randy
    Prieto Moreno, Alberto
    INTERNATIONAL JOURNAL OF EMBEDDED SYSTEMS, 2021, 14 (06) : 563 - 577
  • [26] Algorithm for measuring gears implemented with general-purpose spreadsheet software
    Garcia-Hernandez, C.
    Gella-Marin, R.
    Huertas-Talon, J. L.
    Berges-Muro, L.
    MEASUREMENT, 2016, 85 : 1 - 12
  • [27] The research and implementation of a general-purpose automated software testing infrastructure
    Wu, XJ
    Zhou, XS
    Gu, JH
    7TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL VI, PROCEEDINGS: INFORMATION SYSTEMS, TECHNOLOGIES AND APPLICATIONS: I, 2003, : 266 - 270
  • [28] DYNSYL - GENERAL-PURPOSE DYNAMIC SIMULATOR FOR CHEMICAL PROCESSES
    PATTERSON, GK
    ROZSA, RB
    COMPUTERS & CHEMICAL ENGINEERING, 1980, 4 (01) : 1 - 20
  • [29] Towards a General-Purpose Dynamic Information Flow Policy
    Li, Peixuan
    Zhang, Danfeng
    2022 IEEE 35TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2022), 2022, : 260 - 275
  • [30] APPLICATION OF THE GENERAL-PURPOSE COLLOCATION SOFTWARE, PDECOL, TO THE GRAETZ PROBLEM
    AKYURTLU, A
    AKYURTLU, JF
    DENISON, KS
    HAMRIN, CE
    COMPUTERS & CHEMICAL ENGINEERING, 1986, 10 (03) : 213 - 222