A Framework for Practical Dynamic Software Updating

被引:8
|
作者
Chen, Gang [1 ,2 ]
Jin, Hai [1 ]
Zou, Deqing [1 ]
Liang, Zhenkai [3 ]
Zhou, Bing Bing [4 ]
Wang, Hao [1 ]
机构
[1] Huazhong Univ Sci & Technol, Sch Comp Sci & Technol, Serv Comp Technol & Syst Lab, Cluster & Grid Comp Lab, Wuhan 430074, Peoples R China
[2] Wuhan Second Ship Design & Res Inst, Wuhan, Peoples R China
[3] Natl Univ Singapore, Sch Comp, Dept Comp Sci, Singapore 117548, Singapore
[4] Univ Sydney, Ctr Distributed & High Performance Comp, Sch Informat Technol, Sydney, NSW 2006, Australia
基金
美国国家科学基金会;
关键词
Dynamic software updating; stack updating; patching;
D O I
10.1109/TPDS.2015.2430854
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Dynamic software updating (DSU) enables a program to be patched on the fly without being shutdown. This paper addresses the practicality problem of the recent research on DSU systems, and presents Replus, a new DSU system that balances practicality and functionality. Replus aims to retain backward binary compatibility and support multi-threaded programs. In addition, it does not require customers to have developer-level software knowledge. More importantly, without specific compiler support, Replus can patch programs that are difficult to be updated at runtime, as well as programs that may incur an indefinite delay in DSU. The key technique of our solution is to update the stack elements for the patched program using two new mechanisms: Immediate Stack Updating, which immediately updates the stack of a thread, and timely stack updating, which only updates the stack frames of the necessary functions without affecting others. Replus also develops an Instruction Level Updating mechanism, which is more efficient for certain security patches. We used popular server applications as test suites to evaluate the effectiveness of Replus. The experimental results demonstrated that Replus can successfully update all the test suites with negligible impact on application performance.
引用
收藏
页码:941 / 950
页数:10
相关论文
共 50 条
  • [21] Mutatis Mutandis:: Safe and predictable dynamic software updating
    Stoyle, Gareth
    Hicks, Michael
    Bierman, Gavin
    Sewell, Peter
    Neamtiu, Iulian
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2007, 29 (04):
  • [22] Dynamic Software Updating for Cyber-Physical Systems
    Kang, Sungjoo
    Chun, Ingeol
    Kim, Wontae
    18TH IEEE INTERNATIONAL SYMPOSIUM ON CONSUMER ELECTRONICS (ISCE 2014), 2014,
  • [23] State of the Art of Dynamic Software Updating in Java']Java
    Gregersen, Allan Raundahl
    Rasmussen, Michael
    Jorgensen, Bo Norregaard
    SOFTWARE TECHNOLOGIES (ICSOFT 2013), 2014, 457 : 99 - 113
  • [24] Dynamic Software Updating Using a Relaxed Consistency Model
    Chen, Haibo
    Yu, Jie
    Hang, Chengqun
    Zang, Binyu
    Yew, Pen-Chung
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (05) : 679 - 694
  • [25] ERIC: An Efficient and Practical Software Obfuscation Framework
    Bolat, Alperen
    Celik, Seyyid Hikmet
    Olgun, Ataberk
    Ergin, Oguz
    Ottavi, Marco
    2022 52ND ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN 2022), 2022, : 466 - 474
  • [26] Improving Reliability of Dynamic Software Updating Using Runtime Recovery
    Gu, Tianxiao
    Zhao, Zelin
    Ma, Xiaoxing
    Xu, Chang
    Cao, Chun
    Lu, Jian
    2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2016), 2016, : 257 - 264
  • [27] Verifying the design of dynamic software updating in the OTS/CafeOBJ method
    Zhang, Min
    Ogata, Kazuhiro
    Futatsugi, Kokichi
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8373 : 560 - 577
  • [28] A Method for Dynamic Software Updating in Real-Time Systems
    Seifzadeh, Habib
    Kazem, Ali Asghar Pourhaji
    Kargahi, Mehdi
    Movaghar, Ali
    PROCEEDINGS OF THE 8TH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE, 2009, : 34 - +
  • [29] The Effects of Static Analysis for Dynamic Software Updating: An Exploratory Study
    Ahmed, Babiker Hussien
    Lee, Sai Peck
    Su, Moon Ting
    IEEE ACCESS, 2020, 8 : 35161 - 35171
  • [30] An Algebraic Approach to Formal Analysis of Dynamic Software Updating Mechanisms
    Zhang, Min
    Ogata, Kazuhiro
    Futatsugi, Kokichi
    2012 19TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), VOL 1, 2012, : 664 - 673