Litcius/Paper detail

Correct Probabilistic Model Checking with Floating-Point Arithmetic

Arnd Hartmanns

2022Lecture notes in computer science18 citationsDOIOpen Access PDF

Abstract

Abstract 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 model checker, and exemplify the tradeoffs between performance and correctness in an extensive experimental evaluation across different operating systems and CPU architectures.

Topics & Concepts

Computer scienceRoundingCorrectnessProbabilistic logicModel checkingScalabilityFloating pointFormal verificationMarkov chainPoint (geometry)AlgorithmTheoretical computer scienceProgramming languageArtificial intelligenceMachine learningMathematicsDatabaseGeometryOperating systemFormal Methods in VerificationSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis Research
Correct Probabilistic Model Checking with Floating-Point Arithmetic | Litcius