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 条
  • [31] A practical framework for dynamically immunizing software security vulnerabilities
    Lin, Zhiqiang
    Mao, Bing
    Xie, Li
    FIRST INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, PROCEEDINGS, 2006, : 348 - +
  • [32] A dynamic framework for updating neighborhood multigranulation approximations with the variation of objects
    Hu, Chengxiang
    Zhang, Li
    INFORMATION SCIENCES, 2020, 519 (519) : 382 - 406
  • [33] μ-DSU: A Micro-Language Based Approach to Dynamic Software Updating
    Cazzola, Walter
    Chitchyan, Ruzanna
    Rashid, Awais
    Shaqiri, Albert
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 51 : 71 - 89
  • [34] Analyzing software updates: Should you build a dynamic updating infrastructure?
    Gharaibeh, Bashar
    Rajan, Hridesh
    Chang, J. Morris
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2011, 6603 LNCS : 371 - 385
  • [35] Dynamic Software Updating Techniques in Practice and Educator's Guides: A Review
    Ilvonen, Ville
    Ihantola, Petri
    Mikkonen, Tommi
    2016 IEEE 29TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2016, : 86 - 90
  • [36] Towards Applying Dynamic Software Updating for DDS-Based Applications
    Kim, Dong Kwan
    Kim, Won-Tae
    Park, Seung-Min
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2012, E95D (04): : 1151 - 1154
  • [37] Kitsune: Efficient, General-purpose Dynamic Software Updating for C
    Hayden, Christopher M.
    Smith, Edward K.
    Denchev, Michail
    Hicks, Michael
    Foster, Jeffrey S.
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 249 - 264
  • [38] 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
  • [39] Kitsune: Efficient, General-Purpose Dynamic Software Updating for C
    Hayden, Christopher M.
    Saur, Karla
    Smith, Edward K.
    Hicks, Michael
    Foster, Jeffrey S.
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (04): : 1 - 38
  • [40] Software framework for parameter updating and finite-element response sensitivity analysis
    Scott, Michael H.
    Haukaas, Terje
    JOURNAL OF COMPUTING IN CIVIL ENGINEERING, 2008, 22 (05) : 281 - 291