Automating Object Transformations for Dynamic Software Updating

被引:20
|
作者
Magill, Stephen [1 ,2 ]
Hicks, Michael [2 ]
Subramanian, Suriya [3 ]
McKinley, Kathryn S. [4 ,5 ]
机构
[1] IDA Ctr Comp Sci, Baltimore, MD USA
[2] Univ Maryland, College Pk, MD 20742 USA
[3] Intel Corp, Santa Clara, CA 95051 USA
[4] Microsoft Res, Redmond, WA USA
[5] Univ Texas Austin, Austin, TX 78712 USA
关键词
Algorithms; Languages; Theory; Dynamic Software Update; DSU; Hot-Swapping; Program Synthesis; State Transformation; Object Correlation; Object Matching;
D O I
10.1145/2398857.2384636
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic software updating (DSU) systems eliminate costly downtime by dynamically fixing bugs and adding features to executing programs. Given a static code patch, most DSU systems construct runtime code changes automatically. However, a dynamic update must also specify how to change the running program's execution state, e. g., the stack and heap, to make it compatible with the new code. Constructing such state transformations correctly and automatically remains an open problem. This paper presents a solution called Targeted Object Synthesis (TOS). TOS first executes the same tests on the old and new program versions separately, observing the program heap state at a few corresponding points. Given two corresponding heap states, TOS matches objects in the two versions using key fields that uniquely identify objects and correlate old and new-version objects. Given example object pairs, TOS then synthesizes the simplest-possible function that transforms an old-version object to its new-version counterpart. We show that TOS is effective on updates to four open-source server programs for which it generates non-trivial transformation functions that use conditionals, operate on collections, and fix memory leaks. These transformations help programmers understand their changes and apply dynamic software updates.
引用
收藏
页码:265 / 280
页数:16
相关论文
共 50 条
  • [41] Neural basis for dynamic updating of object representation in visual working memory
    Takahama, Sachiko
    Miyauchi, Satoru
    Saiki, Jun
    [J]. NEUROIMAGE, 2010, 49 (04) : 3394 - 3403
  • [42] Dynamic updating of hippocampal object representations reflects new conceptual knowledge
    Mack, Michael L.
    Love, Bradley C.
    Preston, Alison R.
    [J]. PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA, 2016, 113 (46) : 13203 - 13208
  • [43] The SEXTANT software: A tool for automating the comparative analysis of mental models of dynamic systems
    Schaffernicht, Martin F. G.
    Groesser, Stefan N.
    [J]. EUROPEAN JOURNAL OF OPERATIONAL RESEARCH, 2014, 238 (02) : 566 - 578
  • [44] Extracting object interactions out of software contracts using model transformations
    Vignaga, Andres
    Perovich, Daniel
    Bastarrica, Maria Cecilia
    [J]. THEORY AND PRACTICE OF MODEL TRANSFORMATIONS, 2008, 5063 : 245 - 259
  • [45] μ-DSU: A Micro-Language Based Approach to Dynamic Software Updating
    Cazzola, Walter
    Chitchyan, Ruzanna
    Rashid, Awais
    Shaqiri, Albert
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 51 : 71 - 89
  • [46] Software Architecture for Automating Cognitive Science Eye-Tracking Data Analysis and Object Annotation
    Panetta, Karen
    Wan, Qianwen
    Kaszowska, Aleksandra
    Taylor, Holly A.
    Agaian, Sos
    [J]. IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, 2019, 49 (03) : 268 - 277
  • [47] Analyzing software updates: Should you build a dynamic updating infrastructure?
    Gharaibeh, Bashar
    Rajan, Hridesh
    Chang, J. Morris
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2011, 6603 LNCS : 371 - 385
  • [48] Dynamic Software Updating Techniques in Practice and Educator's Guides: A Review
    Ilvonen, Ville
    Ihantola, Petri
    Mikkonen, Tommi
    [J]. 2016 IEEE 29TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2016, : 86 - 90
  • [49] Towards Applying Dynamic Software Updating for DDS-Based Applications
    Kim, Dong Kwan
    Kim, Won-Tae
    Park, Seung-Min
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2012, E95D (04): : 1151 - 1154
  • [50] Kitsune: Efficient, General-purpose Dynamic Software Updating for C
    Hayden, Christopher M.
    Smith, Edward K.
    Denchev, Michail
    Hicks, Michael
    Foster, Jeffrey S.
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 249 - 264