English

Parametrizing Reads-From Equivalence for Predictive Monitoring

Programming Languages 2026-04-09 v1 Formal Languages and Automata Theory Logic in Computer Science

Abstract

Predictive runtime monitoring asks whether an execution σ\sigma of a concurrent program can be used to \emph{soundly predict} the existence of a reordering ρ\rho of σ\sigma that satisfies a property φ\varphi. Its effectiveness and efficiency depend on two factors: (a) the complexity of φ\varphi, and (b) the expressive power of the reorderings considered. At one extreme, allowing all reorderings induced by \emph{reads-from equivalence} makes predictive monitoring intractable, even for simple properties such as data races. At the other extreme, restricting to commutativity-based reorderings (Mazurkiewicz trace equivalence) yields efficient algorithms for simple properties, but remains intractable for general regular specifications and offers limited predictive power. We address this tradeoff via \emph{parametrization}. We introduce \emph{sliced reorderings} and their generalization, \emph{kk-sliced reorderings}. Informally, ρ\rho is a kk-sliced reordering of σ\sigma if σ\sigma can be partitioned into k+1k+1 ordered subsequences whose concatenation yields ρ\rho, while preserving program order and reads-from constraints. Our results are twofold. First, kk-sliced reorderings form a strictly increasing hierarchy that converges to reads-from equivalence as kk grows. Second, for any fixed kk, predictive monitoring modulo kk-sliced reorderings against any regular specification admits a constant-space streaming algorithm. Together, these results establish kk-sliced reorderings as a principled alternative to existing equivalences, enabling a uniform parametrized framework where expressive power can be systematically traded off against computational cost.

Keywords

Cite

@article{arxiv.2604.06533,
  title  = {Parametrizing Reads-From Equivalence for Predictive Monitoring},
  author = {Azadeh Farzan and Umang Mathur},
  journal= {arXiv preprint arXiv:2604.06533},
  year   = {2026}
}