Synthesizing Object Transformation for Dynamic Software Updating | IEEE Conference Publication | IEEE Xplore

Synthesizing Object Transformation for Dynamic Software Updating


Abstract:

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) ...Show More

Abstract:

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.
Date of Conference: 20-28 May 2017
Date Added to IEEE Xplore: 03 July 2017
ISBN Information:
Conference Location: Buenos Aires, Argentina

Contact IEEE to Subscribe

References

References is not available for this document.