Synthesizing Object State Transformers for Dynamic Software Updates
Zelin Zhao, Yanyan Jiang, Chang Xu, Tianxiao Gu, Xiaoxing Ma
Abstract
There is an increasing demand for evolving software systems to deliver continuous services of no restart. Dynamic software update (DSU) aims to achieve this goal by patching the system state on the fly but is currently hindered from practice due to non-trivial cross-version object state transformations. This paper revisits this problem through an in-depth empirical study of over 190 class changes from Tomcat 8. The study produced an important finding that most non-trivial object state transformers can be constructed by reassembling existing old/new version code snippets. This paper presents a domain-specific language and an efficient algorithm for synthesizing non-trivial object transformers over code reuse. We experimentally evaluated our tool implementation PASTA with real-world software systems, reporting PASTA's effectiveness in succeeding in 7.5X non-trivial object transformation tasks compared with the best existing DSU techniques.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9fc00bc7-42d4-462d-9bd2-dae78d0002e1Related papers
- Identifying casualty changes in software patchesAdriana Sejfia, Yixue Zhao, Nenad MedvidovicFSE 2021 · 7 citations
- PYEVOLVE: Automating Frequent Code Changes in Python ML SystemsMalinda Dilhara, Danny Dig, Ameya KetkarICSE 2023 · 46 citations
- A Lightweight Polyglot Code Transformation LanguageAmeya Ketkar, Daniel Ramos, Lazaro Clapp, Raj Barik et al.PLDI 2024 · 1 citation
- Change Is the Only Constant: Dynamic Updates for WorkflowsDaniel Sokolowski, Pascal Weisenburger, Guido SalvaneschiICSE 2022 · 3 citations
- Synthesizing replacement classesMalavika Samak, Deokhwan Kim, Martin C. RinardPOPL 2020 · 14 citations
