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 条
  • [1] Automating Object Transformations for Dynamic Software Updating
    Magill, Stephen
    Hicks, Michael
    Subramanian, Suriya
    McKinley, Kathryn S.
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 265 - 280
  • [2] Synthesizing Object State Transformers for Dynamic Software Updates
    Zhao, Zelin
    Jiang, Yanyan
    Xu, Chang
    Gu, Tianxiao
    Ma, Xiaoxing
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1111 - 1122
  • [3] PASTA: Synthesizing Object State Transformers for Dynamic Software Updates
    Zhao, Zelin
    Jiang, Yanyan
    Xu, Chang
    Gu, Tianxiao
    Ma, Xiaoxing
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 211 - 212
  • [4] Dynamic software updating
    Hicks, M
    Moore, JT
    Nettles, S
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (05) : 13 - 23
  • [5] Dynamic software updating
    Hicks, M
    Nettles, S
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2005, 27 (06): : 1049 - 1096
  • [6] A survey of dynamic software updating
    Seifzadeh, Habib
    Abolhassani, Hassan
    Moshkenani, Mohsen Sadighi
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2013, 25 (05) : 535 - 568
  • [7] Challenges in Dynamic Software Updating
    Mlinaric, Danijel
    [J]. TEM JOURNAL-TECHNOLOGY EDUCATION MANAGEMENT INFORMATICS, 2020, 9 (01): : 117 - 128
  • [8] Practical dynamic software updating for C
    Neamtiu, Iulian
    Hicks, Michael
    Stoyle, Gareth
    Oriol, Manuel
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (06) : 72 - 83
  • [9] A Framework for Practical Dynamic Software Updating
    Chen, Gang
    Jin, Hai
    Zou, Deqing
    Liang, Zhenkai
    Zhou, Bing Bing
    Wang, Hao
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2016, 27 (04) : 941 - 950
  • [10] Formalizing class dynamic software updating
    Zhang, Shi
    Huang, LinPeng
    [J]. QSIC 2006: SIXTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2006, : 403 - +