Synthesizing Object Transformation for Dynamic Software Updating

被引:2
|
作者
Gu, Tianxiao [1 ]
Ma, Xiaoxing [1 ]
Xu, Chang [1 ]
Jiang, Yanyan [1 ]
Cao, Chun [1 ]
Lu, Jian [1 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing, Jiangsu, Peoples R China
关键词
D O I
10.1109/ICSE-C.2017.96
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic software updating (DSU) can upgrade a running program on-the-fly by directly replacing the in-memory code and reusing existing runtime state (e.g., heap objects) for the updated execution. Additionally, it is usually necessary to transform the runtime state into a proper new state to avoid inconsistencies that arise during runtime states reuse among different versions of a program. However, such transformations mostly require human efforts, which is time-consuming and error-prone. This paper presents AOTES, an approach to automating object transformations for dynamic updating of Java programs. AOTES tries to generate the new state by re-executing a method invocation history and leverages symbolic execution to synthesize the history from the current object state without any recording. We evaluated AOTES on software updates taken from Apache Tomcat, Apache FTP Server and Apache SSHD Server. Experimental results show that AOTES successfully handled 47 of 57 object transformations of 18 updated classes, while two state-of-the-art approaches only handled 11 and 6 of 57, respectively.
引用
收藏
页码:336 / 338
页数:3
相关论文
共 50 条
  • [31] Neural basis for dynamic updating of object representation in visual working memory
    Takahama, Sachiko
    Miyauchi, Satoru
    Saiki, Jun
    NEUROIMAGE, 2010, 49 (04) : 3394 - 3403
  • [32] Dynamic updating of hippocampal object representations reflects new conceptual knowledge
    Mack, Michael L.
    Love, Bradley C.
    Preston, Alison R.
    PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA, 2016, 113 (46) : 13203 - 13208
  • [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] 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
  • [37] 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
  • [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] Dynamic coupling measures for object-oriented software
    Arisholm, E
    EIGHTH IEEE SYMPOSIUM ON SOFTWARE METRICS, PROCEEDINGS, 2002, : 33 - 42