TY - UNPB
T1 - A Formally Verified IEEE 754 Floating-Point Implementation of Interval Iteration for MDPs
AU - Kohlen, Bram
AU - Schäffeler, Maximilian
AU - Abdulaziz, Mohammad
AU - Hartmanns, Arnd
AU - Lammich, Peter
PY - 2025/1/17
Y1 - 2025/1/17
N2 - Reasoning about quantitative properties of Markov Decision Processes (MDPs) inevitably requires computations on real or rational numbers. On modern hardware, these are usually efficiently implemented by floating-point numbers. However, due to their finite precision, many floating-point operations lead to small imprecisions. Probabilistic model checkers claim trustworthiness on the ground of a solid theoretical basis, yet prior work has uncovered discrepancies between the claimed and actual accuracy of these systems. How can we trust implementations of model checkers? Our answer is an efficiently executable, formally verified implementation of interval iteration for MDPs. Our correctness proofs span the entire development from the high-level abstract semantics of MDPs to the low-level implementation in LLVM that uses floating-point arithmetic. We use the Isabelle/HOL proof assistant to verify the abstract definition of interval iteration. Next, we employ step-wise refinement to derive an efficient implementation in LLVM code. To that end, we extend the Isabelle Refinement Framework with support for reasoning about floating point arithmetic and directed rounding modes. We experimentally evaluate our implementation on a set of benchmark MDPs. Our results show that the verified implementation is competitive with state-of-the-art tools for MDPs, while providing formal guarantees on the correctness of the results.
AB - Reasoning about quantitative properties of Markov Decision Processes (MDPs) inevitably requires computations on real or rational numbers. On modern hardware, these are usually efficiently implemented by floating-point numbers. However, due to their finite precision, many floating-point operations lead to small imprecisions. Probabilistic model checkers claim trustworthiness on the ground of a solid theoretical basis, yet prior work has uncovered discrepancies between the claimed and actual accuracy of these systems. How can we trust implementations of model checkers? Our answer is an efficiently executable, formally verified implementation of interval iteration for MDPs. Our correctness proofs span the entire development from the high-level abstract semantics of MDPs to the low-level implementation in LLVM that uses floating-point arithmetic. We use the Isabelle/HOL proof assistant to verify the abstract definition of interval iteration. Next, we employ step-wise refinement to derive an efficient implementation in LLVM code. To that end, we extend the Isabelle Refinement Framework with support for reasoning about floating point arithmetic and directed rounding modes. We experimentally evaluate our implementation on a set of benchmark MDPs. Our results show that the verified implementation is competitive with state-of-the-art tools for MDPs, while providing formal guarantees on the correctness of the results.
KW - cs.LO
U2 - 10.48550/arXiv.2501.10127
DO - 10.48550/arXiv.2501.10127
M3 - Preprint
BT - A Formally Verified IEEE 754 Floating-Point Implementation of Interval Iteration for MDPs
PB - ArXiv.org
ER -