Affiliation:
1. MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA
Abstract
Persistent object stores require a way to automatically upgrade persistent objects, to change their code and storage representation. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application access to the store. In addition, however, the approach must be modular: it must allow programmers to reason locally about the correctness of their upgrades similar to the way they would reason about regular code. This paper provides solutions to both problems.The paper first defines
upgrade modularity conditions
that any upgrade system must satisfy to support local reasoning about upgrades. The paper then describes a new approach for executing upgrades efficiently while satisfying the upgrade modularity conditions. The approach exploits object encapsulation properties in a novel way. The paper also describes a prototype implementation and shows that our upgrade system imposes only a small overhead on application performance.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Dynamic structural operational semantics;Journal of Logical and Algebraic Methods in Programming;2019-10
2. You can have it all: abstraction and good cache performance;Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software;2017-10-25
3. Safe and automatic live update for operating systems;ACM SIGPLAN Notices;2013-04-23
4. Formalization and Verification of Behavioral Correctness of Dynamic Software Updates;Electronic Notes in Theoretical Computer Science;2013-03
5. Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support;IEEE Transactions on Software Engineering;2013-02