Correct Probabilistic Model Checking with Floating-Point Arithmetic
Not on the map. Why?
Abstract (arXiv)
Probabilistic model checking computes probabilities and expected values related to designated behaviours of interest in Markov models. As a formal verification approach, it is applied to critical systems; thus we trust that probabilistic model checkers deliver correct results. To achieve scalability and performance, however, these tools use finite-precision floating-point numbers to represent and calculate probabilities and other values. As a consequence, their results are affected by rounding errors that may accumulate and interact in hard-to-predict ways. In this paper, we show how to implement fast and correct probabilistic model checking by exploiting the ability of current hardware to control the direction of rounding in floating-point calculations. We outline the complications in achieving correct rounding from higher-level programming languages, describe our implementation as part of the Modest Toolset's 'mcsta' model checker, and exemplify the tradeoffs between performance and correctness in an extensive experimental evaluation across different operating systems and CPU architectures.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). First posted on arXiv 17 Oct 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 1.
1 paper.