Dynamic Software Updates using CRDTs
Pith reviewed 2026-06-27 11:33 UTC · model grok-4.3
The pith
An App CRDT stores versioned application code to support dynamic updates in distributed systems even with incompatible changes.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
The App CRDT stores the application code associated with a semantic version, which defines a total order of the code updates. It works with an API-compatible message delivery middleware to allow applications to continue working with partially updated components in the face of backwards-incompatible software updates. This was implemented in AmbientTalk and shown to generalize to LuAT with minimal changes to existing applications.
What carries the argument
The App CRDT, a replicated data type storing application code versions under a semantic version total order.
If this is right
- Distributed applications can continue operating with some components at older versions during an update rollout.
- Existing applications can adopt the mechanism through only small code adjustments.
- The CRDT approach applies beyond one language to others such as Lua via suitable implementations.
- Semantic versions enforce a total order that prevents replication conflicts during code updates.
Where Pith is reading between the lines
- The middleware compatibility layer could reduce downtime in large-scale services by supporting gradual version transitions.
- Similar structures might apply to database schema migrations or configuration updates in replicated systems.
- Performance measurements in high-latency networks could reveal practical limits on update frequency.
- Automation that feeds new code versions directly into the CRDT from a build system would simplify adoption.
Load-bearing premise
That an API-compatible message delivery middleware can be provided and that the CRDT can be integrated into existing applications with only minimal changes.
What would settle it
A test case in which components at different versions fail to exchange messages correctly despite the middleware would disprove the claim.
Figures
read the original abstract
This paper investigates how Conflict-free Replicated Data Types (CRDTs) can be used for dynamic software updates of distributed applications. We propose to model application updates as a new App CRDT that stores the application code associated with a semantic version, which defines a total order of the code updates. The App CRDT works with an API-compatible message delivery middleware, which allows applications to continue working with partially updated components in the face of backwards-incompatible software updates. We implemented our approach in AmbientTalk, an ambient-oriented programming language designed for distributed systems. We show how this CRDT can be integrated with existing AmbientTalk applications, requiring minimal changes. We also implemented our approach in LuAT, an ambient-oriented programming framework for Lua. This shows that our approach of using CRDTs to replicate code can be generalised to other programming languages.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper proposes modeling dynamic software updates for distributed applications as a new App CRDT that stores application code keyed by semantic version (providing a total order on updates). Combined with an API-compatible message delivery middleware, this is claimed to allow applications to continue operating with partially updated components even under backwards-incompatible changes. Implementations are presented in AmbientTalk (with minimal changes to existing applications) and LuAT to demonstrate generalizability across languages.
Significance. If substantiated with concrete mechanisms and evidence, the work would offer a novel application of CRDTs to the problem of dynamic updates in distributed systems, with the semantic-version total order and cross-language implementations as notable strengths. The approach could improve availability during updates if the middleware compatibility claim holds.
major comments (2)
- [Abstract] Abstract: The central claim that the App CRDT 'works with an API-compatible message delivery middleware' to support backwards-incompatible partial updates is load-bearing, yet the manuscript supplies no description of how the middleware maintains message serialization, dispatch, or semantic compatibility when old and new code versions disagree on message structure or meaning.
- [Abstract] Abstract: No evaluation data, performance measurements, error analysis, or detailed correctness arguments (e.g., invariants preserved by the App CRDT under concurrent updates) are provided to support the claims about the AmbientTalk and LuAT implementations.
minor comments (1)
- [Abstract] The abstract could more explicitly distinguish the contributions of the CRDT itself from those of the assumed middleware.
Simulated Author's Rebuttal
We thank the referee for their constructive comments on our manuscript. We address each major comment below and indicate planned revisions to strengthen the presentation of the App CRDT approach.
read point-by-point responses
-
Referee: [Abstract] Abstract: The central claim that the App CRDT 'works with an API-compatible message delivery middleware' to support backwards-incompatible partial updates is load-bearing, yet the manuscript supplies no description of how the middleware maintains message serialization, dispatch, or semantic compatibility when old and new code versions disagree on message structure or meaning.
Authors: We agree that the manuscript does not supply a detailed description of the middleware mechanisms for maintaining serialization, dispatch, and semantic compatibility under backwards-incompatible changes. The current text only states API compatibility at a high level. We will revise the manuscript to include a new subsection that explains the middleware's version-aware message handling, including how it uses semantic versioning to route or transform messages and preserve compatibility where possible. revision: yes
-
Referee: [Abstract] Abstract: No evaluation data, performance measurements, error analysis, or detailed correctness arguments (e.g., invariants preserved by the App CRDT under concurrent updates) are provided to support the claims about the AmbientTalk and LuAT implementations.
Authors: We acknowledge that the manuscript provides no quantitative evaluation data, performance measurements, error analysis, or explicit discussion of CRDT invariants under concurrency. The implementations are presented primarily to illustrate minimal integration effort. We will add an evaluation section reporting measurements from the AmbientTalk and LuAT prototypes, an analysis of observed errors during partial updates, and a description of the merge invariants that the App CRDT preserves. revision: yes
Circularity Check
No circularity; proposal builds on standard CRDTs with external middleware assumption
full rationale
The paper's core proposal is to model updates via a new App CRDT storing versioned code, integrated with an assumed API-compatible middleware for partial updates. This is presented as an engineering construction rather than a derivation from first principles or fitted data. No equations, predictions, or self-citations appear in the abstract that reduce the claim to its own inputs by construction. The implementations in AmbientTalk and LuAT are described as requiring minimal changes, but this is an empirical demonstration, not a tautological redefinition. The approach generalizes existing CRDT usage without self-referential load-bearing steps.
Axiom & Free-Parameter Ledger
axioms (1)
- domain assumption CRDTs ensure conflict-free replication of updates across nodes
invented entities (1)
-
App CRDT
no independent evidence
Reference graph
Works this paper leans on
-
[1]
Carlos Baquero, Paulo Sérgio Almeida, and Ali Shoker
-
[2]
Pure Operation-Based Replicated Data Types
Pure Operation-Based Replicated Data Types.CoRR abs/1710.04469 (2017). arXiv:1710.04469
work page internal anchor Pith review Pith/arXiv arXiv 2017
-
[3]
Sean Barker, Yun Chi, Hyun Jin Moon, Hakan Hacigümüş, and Prashant Shenoy. 2012. "Cut me some slack": latency- aware live migration for databases. InProceedings of the 15th International Conference on Extending Database Technology (Berlin, Germany)(EDBT ’12). Association for Computing Machinery, New York, NY, USA, 432–443. doi:10.1145/2247596. 2247647
-
[4]
Jim Bauwens. 2017. LuAT: A Ambient-Oriented Programming framework for Lua. https://gitlab.soft.vub.ac.be/jimbauwens/ luat-public. Accessed: 2025-01-22
2017
-
[5]
Souvik Bhattacherjee, Gang Liao, Michael Hicks, and Daniel J. Abadi. 2021. BullFrog: Online Schema Evolution via Lazy Evaluation. InProceedings of the 2021 International Conference on Management of Data(Virtual Event, China)(SIGMOD ’21). Association for Computing Machinery, New York, NY, USA, 194–206. doi:10.1145/3448016.3452842
-
[6]
Aline Brito, Laerte Xavier, Andre Hora, and Marco Tulio Va- lente. 2018. APIDiff: Detecting API breaking changes. In2018 IEEE 25th International Conference on Software Analysis, Evolu- tion and Reengineering (SANER). 507–511. doi:10.1109/SANER. 2018.8330249
-
[7]
Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, and Benjamin P. Wood. 2012. Cloud Types for Eventual Consis- tency. InECOOP 2012 – Object-Oriented Programming, James Noble (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 283–307
2012
-
[8]
Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D’Hondt, and Wolfgang De Meuter. 2006. Ambient-Oriented Programming in AmbientTalk. InECOOP 2006 – Object- Oriented Programming, Dave Thomas (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 230–254
2006
-
[9]
Michael Hicks and Scott Nettles. 2005. Dynamic software updating.ACM Trans. Program. Lang. Syst.27, 6 (Nov. 2005), Dynamic Software Updates using CRDTs 1049–1096. doi:10.1145/1108970.1108971
-
[10]
Junbin Kang, Le Cai, Feifei Li, Xingxuan Zhou, Wei Cao, Songlu Cai, and Daming Shao. 2022. Remus: Efficient Live Migration for Distributed Databases with Snapshot Isolation. InProceedings of the 2022 International Conference on Man- agement of Data(Philadelphia, PA, USA)(SIGMOD ’22). As- sociation for Computing Machinery, New York, NY, USA, 2232–2245. doi...
-
[11]
Luís Pina and Michael Hicks. 2013. Rubah: Efficient, General- purpose Dynamic Software Updating for Java. In5th Workshop on Hot Topics in Software Upgrades (HotSWUp 13). USENIX As- sociation, San Jose, CA. https://www.usenix.org/conference/ hotswup13/workshop-program/presentation/pina
2013
-
[12]
Guillermo Polito, Stéphane Ducasse, Noury Bouraqadi, Luc Fabresse, and Max Mattone. 2015. Virtualization support for dynamic core library update. In2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!)(Pittsburgh, PA, USA) (Onward! 2015). Association for Computing Machinery, New York, NY, USA, ...
-
[13]
Preguiça, Carlos Baquero, and Marc Shapiro
Nuno M. Preguiça, Carlos Baquero, and Marc Shapiro
-
[14]
Conflict-free Replicated Data Types (CRDTs)
Conflict-free Replicated Data Types (CRDTs).CoRR abs/1805.06358 (2018). arXiv:1805.06358 http://arxiv.org/abs/ 1805.06358
work page internal anchor Pith review Pith/arXiv arXiv 2018
-
[15]
Oliver Schiller, Nazario Cipriani, and Bernhard Mitschang
-
[16]
ProRea: live database migration for multi-tenant RDBMS with snapshot isolation. InProceedings of the 16th International Conference on Extending Database Technology(Genoa, Italy) (EDBT ’13). Association for Computing Machinery, New York, NY, USA, 53–64. doi:10.1145/2452376.2452384
-
[17]
2011.A comprehensive study of Convergent and Commutative Replicated Data Types
Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011.A comprehensive study of Convergent and Commutative Replicated Data Types. Technical Report 7506. INRIA
2011
-
[18]
Pablo Tesone, Guillermo Polito, Noury Bouraqadi, Stéphane Ducasse, and Luc Fabresse. 2018. Dynamic Software Update from Development to Production.Journal of Object Technology 17, 1 (Nov. 2018), 1:1–36. doi:10.5381/jot.2018.17.1.a2
-
[19]
Van Cutsem, Tom and Gonzalez Boix, Elisa and Scholliers, Christophe and Lombide Carreton, Andoni and Harniel, Dries and Pinte, Kevin and De Meuter, Wolfgang. 2014. Ambient Talk : programming responsive mobile peer-to-peer appli- cations with actors.COMPUTER LANGUAGES SYSTEMS & STRUCTURES40, 3-4 (2014), 112–136. http://doi.org/10.1016/ j.cl.2014.05.002
2014
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.