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 条
  • [41] Analyzing Software Updates: Should You Build a Dynamic Updating Infrastructure?
    Gharaibeh, Bashar
    Rajan, Hridesh
    Chang, J. Morris
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, 2011, 6603 : 371 - 385
  • [42] User-Centric Approach of Software Certification: The Conceptual Model
    Yahaya, Jamaiah H.
    Deraman, Aziz
    Ibrahim, Siti Rohana Ahmad
    Hamdan, Abdul Razak
    Jusoh, Yusmadi Yah
    VISION 2020: INNOVATION, DEVELOPMENT SUSTAINABILITY, AND ECONOMIC GROWTH, VOLS 1-3, 2013, : 77 - +
  • [43] A software architecture centric self-adaptation approach for Internetware
    Hong Mei
    Gang Huang
    Ling Lan
    JunGuo Li
    Science in China Series F: Information Sciences, 2008, 51 : 722 - 742
  • [44] A software architecture centric self-adaptation approach for Internetware
    MEI Hong1
    2 School of Electronics Engineering and Computer Science
    ScienceinChina(SeriesF:InformationSciences), 2008, (06) : 722 - 742
  • [45] An Architecture-Centric Approach to Detecting Security Patterns in Software
    Bunke, Michaela
    Sohr, Karsten
    ENGINEERING SECURE SOFTWARE AND SYSTEMS, 2011, 6542 : 156 - 166
  • [46] A software architecture centric self-adaptation approach for Internetware
    Mei Hong
    Huang Gang
    Lan Ling
    Li JunGuo
    SCIENCE IN CHINA SERIES F-INFORMATION SCIENCES, 2008, 51 (06): : 722 - 742
  • [47] An integration centric approach for the coordination of distributed software development projects
    Taxen, Lars
    INFORMATION AND SOFTWARE TECHNOLOGY, 2006, 48 (09) : 767 - 780
  • [48] SOFTWARE COMPARISON UPDATES
    HARRISON, JP
    INTERFACE AGE, 1983, 8 (01): : 19 - 19
  • [49] Software updates Alphas
    不详
    MACHINE DESIGN, 1997, 69 (04) : 116 - 116
  • [50] An Architecture-Centric Approach for Dynamic Smart Spaces
    Baresi, Luciano
    Shahzada, Adnan
    SOFTWARE ARCHITECTURE (ECSA 2015), 2015, 9278 : 277 - 284