Dynamic Software Updates: A VM-centric Approach

被引:19
|
作者
Subramanian, Suriya [1 ]
Hicks, Michael [2 ]
McKinley, Kathryn S. [1 ]
机构
[1] Univ Texas Austin, Austin, TX 78712 USA
[2] Univ Maryland, College Pk, MD 20742 USA
关键词
Languages; Experimentation; Reliability; dynamic software updating; virtual machine technology; garbage collection;
D O I
10.1145/1543135.1542478
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software evolves to fix bugs and add features. Stopping and restarting programs to apply changes is inconvenient and often costly. Dynamic software updating (DSU) addresses this problem by updating programs while they execute, but existing DSU systems for managed languages do not support many updates that occur in practice and are inefficient. This paper presents the design and implementation of JVOLVE, a DSU-enhanced Java VM. Updated programs may add, delete, and replace fields and methods anywhere within the class hierarchy. JVOLVE implements these updates by adding to and coordinating VM classloading, just-in-time compilation, scheduling, return barriers, on-stack replacement, and garbage collection. JVOLVE is safe: its use of bytecode verification and VM thread synchronization ensures that an update will always produce type-correct executions. JVOLVE is flexible: it can support 20 of 22 updates to three open-source programs-Jetty web server, JavaE-mailServer, and CrossFTP server-based on actual releases occurring over 1 to 2 years. JVOLVE is efficient: performance experiments show that JVOLVE incurs no overhead during steady-state execution. These results demonstrate that this work is a significant step towards practical support for dynamic updates in virtual machines for managed languages.
引用
收藏
页码:1 / 12
页数:12
相关论文
共 50 条
  • [1] Dynamic Software Updates: A VM-centric Approach
    Subramanian, Suriya
    Hicks, Michael
    McKinley, Kathryn S.
    PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2009, : 1 - 12
  • [2] A VM-centric approach for dynamic behavior adapation
    Zhu, C. (is99zcp@hotmail.com), 1600, Binary Information Press, P.O. Box 162, Bethel, CT 06801-0162, United States (09):
  • [3] A VM-centric approach for dynamic layer binding
    Zhao, Y. (zhaoy@mail.xjtu.edu.cn), 1600, Science Press (51):
  • [4] VM-Centric Snapshot Deduplication for Cloud Data Backup
    Zhang, Wei
    Agun, Daniel
    Yang, Tao
    Wolski, Rich
    Tang, Hong
    2015 31ST SYMPOSIUM ON MASS STORAGE SYSTEMS AND TECHNOLOGIES (MSST), 2015,
  • [5] Javelus: A Low Disruptive Approach to Dynamic Software Updates
    Gu, Tianxiao
    Cao, Chun
    Xu, Chang
    Ma, Xiaoxing
    Zhang, Linghao
    Lu, Jian
    2012 19TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), VOL 1, 2012, : 527 - 536
  • [6] Online Network Inference under Dynamic Cascade Updates: A Node-Centric Approach
    Pasumarthi, Rama Kumar
    Karthik, Srinivas
    Choure, Ayush
    Pandit, Vinayaka
    2014 SIXTH INTERNATIONAL CONFERENCE ON COMMUNICATION SYSTEMS AND NETWORKS (COMSNETS), 2014,
  • [7] Towards a Formal Approach to Modeling and Verifying the Design of Dynamic Software Updates
    Zhang, Min
    Ogata, Kazuhiro
    Futatsugi, Kokichi
    2015 22ND ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2015), 2015, : 159 - 166
  • [8] A Distributed Approach to Dynamic VM Management
    Tighe, Michael
    Keller, Gaston
    Bauer, Michael
    Lutfiyya, Hanan
    2013 9TH INTERNATIONAL CONFERENCE ON NETWORK AND SERVICE MANAGEMENT (CNSM), 2013, : 166 - 170
  • [9] The Software-Centric Approach of SYNERGY
    Chow, Paul
    Communications of the ACM, 2024, 67 (08)
  • [10] Scheduling Dynamic Software Updates in Mobile Robots
    El Yaacoub, Ahmed
    Mottola, Luca
    Voigt, Thiemo
    Ruemmer, Philipp
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2023, 22 (06)