Anticipation of Method Execution in Mixed Consistency Systems

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be synchronised. To deal efficiently with sequences of operations on different replicas of the distributed application, it is useful to know which operations commute with others and thus, when can an operation not requiring synchronisation be anticipated wrt other requiring it, thus avoiding unnecessary waits.Herein we present a language-based static analysis to extract information at compile-time on which operations can commute with which other operations and thus get information that can be used by the run-time support to decide on call anticipations of operations in replicas without compromising consistency. We illustrate the formal analysis on several paradigmatic examples and briefly present a proof-of-concept implementation in Java.
Original languageEnglish
Title of host publicationSAC '23
Subtitle of host publicationProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing
Place of PublicationNew York
PublisherAssociation for Computing Machinery
Number of pages8
ISBN (Electronic)978-1-4503-9517-5
Publication statusPublished - 27 Mar 2023
Event38th Annual ACM Symposium on Applied Computing, SAC 2023 - Tallinn, Estonia
Duration: 27 Mar 202331 Mar 2023

Publication series

NameProceedings of the ACM Symposium on Applied Computing
PublisherAssociation for Computing Machinery


Conference38th Annual ACM Symposium on Applied Computing, SAC 2023


  • language-based static analysis
  • method commutation
  • object-calculus
  • replicated data consistency in distributed systems


Dive into the research topics of 'Anticipation of Method Execution in Mixed Consistency Systems'. Together they form a unique fingerprint.

Cite this