Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
169 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

A storm is Coming: A Modern Probabilistic Model Checker (1702.04311v1)

Published 14 Feb 2017 in cs.SE

Abstract: We launch the new probabilistic model checker storm. It features the analysis of discrete- and continuous-time variants of both Markov chains and MDPs. It supports the PRISM and JANI modeling languages, probabilistic programs, dynamic fault trees and generalized stochastic Petri nets. It has a modular set-up in which solvers and symbolic engines can easily be exchanged. It offers a Python API for rapid prototyping by encapsulating storm's fast and scalable algorithms. Experiments on a variety of benchmarks show its competitive performance.

Citations (396)

Summary

  • The paper introduces Storm, a modular probabilistic model checker that enhances verification accuracy and efficiency.
  • It integrates around 15 solvers and supports multiple modeling languages for flexible analysis of Markov chains, MDPs, and more.
  • Performance evaluations show Storm achieves competitive efficiency and precision compared to established tools like Prism and IMCA.

A Modern Probabilistic Model Checker: Storm

The research paper introduces "Storm," a novel probabilistic model checker that signifies a notable enhancement in the landscape of probabilistic verification tools. Developed over five years, Storm emerges as a robust solution to several limitations identified in existing model checkers such as Prism, MRMC, and iscasMC. It offers a flexible, modular framework explicitly designed to facilitate experimentation and scalability in probabilistic model checking.

Core Functionalities

Storm presents a comprehensive set of features for analyzing both discrete- and continuous-time models, namely Markov chains, Markov decision processes (MDPs), and Markov automata. Its support for multiple modeling languages—Prism and JANI formats, dynamic fault trees, generalized stochastic Petri nets, and probabilistic programs—positions it as a versatile tool in formal verification tasks.

A significant feature of Storm is its modular architecture allowing seamless integration and interchangeability of solvers and symbolic engines. The platform supports approximately 15 distinct solvers and utilizes prominent BDD packages like CUDD and Sylvan, optimizing for both memory and computational efficiency. Additionally, Storm provides a Python API designed for rapid prototyping, enabling researchers to prototype new applications effectively using the underlying engines and algorithms.

Performance Insights

The paper provides an in-depth evaluation of Storm’s performance relative to Prism, focusing on various benchmark scenarios. Storm consistently demonstrates competitive to superior performance, especially when comparing its ability to handle discrete-time Markov chains and decision processes using its sparse and hybrid engines. The results suggest that Storm can perform most tasks more efficiently than Prism, often with reduced computational resources.

Storm's MTBDD-based (dd) engine generally outperforms its counterparts, including Prism’s MTBDD engine. However, it currently lacks support for continuous-time models in this mode. Moreover, Storm's exact arithmetic capabilities far exceed those of Prism, affording users more precise results without significant computational overhead.

In comparison with IMCA—a tool also capable of verifying Markov automata—Storm exhibits significantly expedited performance across most instances, further cementing its practicality in model checking tasks that involve complex probabilistic models.

Architectural Implications

Storm's architecture stands out through its emphasis on solver-centric design, with a clear separation between the solvers and the frameworks using them. This separation not only promotes the inclusion of state-of-the-art solver technologies but also supports extensibility for future enhancements. Additionally, it offers sophisticated functionality under a unified interface, covering counterexample synthesis, permissive scheduling, and advanced analysis algorithms for infinite-state MDPs.

Future Directions

Moving forward, Storm's modular and flexible setup is conducive to future expansions and improvements in both theoretical and practical contexts. The potential for integration with new solver technologies, further robust handling of statistical model checking, and broader support for continuous-time models constitute possible avenues for enhancement. Moreover, as models grow in complexity, Storm's paradigm provides a groundwork to explore advanced features such as hybrid engine developments and improved abstractions for large-scale systems.

In conclusion, with its advanced capabilities and comprehensive support for probabilistic model verification, Storm represents a significant step forward in the tools available for probabilistic model checking. Its ability to outperform and complement existing tools highlights its value to researchers aiming to push the boundaries of formal verification and ensure robust, reliable modeling outcomes.