pith. sign in

arxiv: 2606.10920 · v1 · pith:EHWKKNKDnew · submitted 2026-06-09 · 💻 cs.DC · cs.PL

Dynamic Software Updates using CRDTs

Pith reviewed 2026-06-27 11:33 UTC · model grok-4.3

classification 💻 cs.DC cs.PL
keywords CRDTdynamic software updatesdistributed applicationscode replicationsemantic versioningmessage middlewareambient computing
0
0 comments X

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.

The paper proposes modeling software updates as an App CRDT that holds code for each semantic version in a total order. This setup pairs with message delivery middleware that remains compatible across API versions, letting parts of an application run at different update levels without halting. The goal is to enable seamless dynamic updates in distributed applications where full synchronization is impractical. The approach was tested by integrating it into existing applications in AmbientTalk and LuAT with only small modifications.

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

These are editorial extensions of the paper, not claims the author makes directly.

  • 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

Figures reproduced from arXiv: 2606.10920 by Elisa Gonzalez Boix, Jim Bauwens, Seppe Wyns.

Figure 1
Figure 1. Figure 1: A screenshot of the GUI used to interact [PITH_FULL_IMAGE:figures/full_fig_p009_1.png] view at source ↗
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.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

2 major / 1 minor

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)
  1. [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.
  2. [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)
  1. [Abstract] The abstract could more explicitly distinguish the contributions of the CRDT itself from those of the assumed middleware.

Simulated Author's Rebuttal

2 responses · 0 unresolved

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
  1. 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

  2. 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

0 steps flagged

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

0 free parameters · 1 axioms · 1 invented entities

The approach rests on standard CRDT properties and the existence of compatible middleware; no free parameters or invented entities beyond the App CRDT itself.

axioms (1)
  • domain assumption CRDTs ensure conflict-free replication of updates across nodes
    Invoked to justify that the App CRDT can safely replicate code versions without coordination.
invented entities (1)
  • App CRDT no independent evidence
    purpose: Stores application code associated with semantic versions to enable dynamic updates
    New data type proposed in the paper to model code updates.

pith-pipeline@v0.9.1-grok · 5668 in / 1074 out tokens · 19587 ms · 2026-06-27T11:33:47.790112+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

19 extracted references · 10 canonical work pages · 2 internal anchors

  1. [1]

    Carlos Baquero, Paulo Sérgio Almeida, and Ali Shoker

  2. [2]

    Pure Operation-Based Replicated Data Types

    Pure Operation-Based Replicated Data Types.CoRR abs/1710.04469 (2017). arXiv:1710.04469

  3. [3]

    Cut me some slack

    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. [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

  5. [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. [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. [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

  8. [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

  9. [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. [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. [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

  12. [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. [13]

    Preguiça, Carlos Baquero, and Marc Shapiro

    Nuno M. Preguiça, Carlos Baquero, and Marc Shapiro

  14. [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

  15. [15]

    Oliver Schiller, Nazario Cipriani, and Bernhard Mitschang

  16. [16]

    InProceedings of the 16th International Conference on Extending Database Technology(Genoa, Italy) (EDBT ’13)

    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. [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

  18. [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. [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