We present $\textit{Probabilistic Total Store Ordering (PTSO)}$ -- a probabilistic extension of the classical TSO semantics. For a given (finite-state) program, the operational semantics of PTSO induces an infinite-state Markov chain. We resolve the inherent non-determinism due to process schedulings and memory updates according to given probability distributions. We provide a comprehensive set of results showing the decidability of several properties for PTSO, namely (i) Almost-Sure (Repeated) Reachability: whether a run, starting from a given initial configuration, almost surely visits (resp. almost surely repeatedly visits) a given set of target configurations. (ii) Almost-Never (Repeated) Reachability: whether a run from the initial configuration, almost never visits (resp. almost never repeatedly visits) the target. (iii) Approximate Quantitative (Repeated) Reachability: to approximate, up to an arbitrary degree of precision, the measure of runs that start from the initial configuration and (repeatedly) visit the target. (iv) Expected Average Cost: to approximate, up to an arbitrary degree of precision, the expected average cost of a run from the initial configuration to the target. We derive our results through a nontrivial combination of results from the classical theory of (infinite-state) Markov chains, the theories of decisive and eager Markov chains, specific techniques from combinatorics, as well as, decidability and complexity results for the classical (non-probabilistic) TSO semantics. As far as we know, this is the first work that considers probabilistic verification of programs running on weak memory models.
翻译:我们展示了 $\ textit{ 概率性总存量排序 (PTSO) $ -- -- 经典 TSO 语义结构的概率扩展。 对于一个给定的( 最小状态) 程序, PTSO 的操作语义引发了一个无限状态的 Markov 链。 我们解决了由于流程调度和根据给定概率分布的记忆更新而导致的内在非确定性。 我们提供了一套全面的结果,显示对 PTSO 来说, 几个属性的变异性, 即 (一) 几乎肯定( 重复) 达不到: 从给定初始配置开始, 几乎肯定地访问( 几乎多次访问) 给定一个目标配置。 (三) 最接近的量化( 重度) 精确性: 从初始配置开始的运行, 几乎肯定地访问( 几乎多次访问) 访问, 直径直地( 直) 直地( 直径) 直地) 测量, 从初始配置和( 直径) 直径( 直径) 直径) 直地) 算( 我们的校程( 的校) 的校略) 的校正( 我们的校正) 的校正) 的校正) 的校正( 我们的校正) 的校正( 的校正) 的校正的校正) 的校对的校正) 的校对的校正) 的校正( 的校正) 的校对的校对的校对结果。