ABSTRACT
In this paper, we report on successful chaining of two unique model checkers, namely DIVINE and PRISM, which, as a whole, allows for practical verification of multi-threaded C++ programs that may choose input and other actions according to a given discrete probabilistic distribution. In the paper, we discuss technical details of the extensions of the DIVINE model checker that were required to enable the chaining, in particular, we report on combination of dynamic τ+reduction used within the DIVINE state space exploration engine with the probabilistic choice operator. We also give preliminary experimental evaluation of our approach, discuss some possible applications for the tool chain, and finally, we plot some of the future steps to be done.
- J. Barnat, L. Brim, V. Havel, J. Havlíček, J. Kriho, M. Lenčo, P. Ročkai, V. Štill, and J. Weiser. DiVinE 3.0 -- An Explicit-State Model Checker for Multithreaded C & C++ Programs. In Computer Aided Verification (CAV 2013), volume 8044 of LNCS, pages 863--868. Springer, 2013.Google ScholarCross Ref
- C. Cadar and K. Sen. Symbolic execution for software testing: three decades later. Commun. ACM, 56(2):82--90, 2013. Google ScholarDigital Library
- C. Courcoubetis and M. Yannakakis. The complexity of probabilistic verification. Journal of the ACM, 42(4):857--907, 1995. Google ScholarDigital Library
- L. de Alfaro. Formal Verification of Stochastic Systems. PhD thesis, Stanford University, Department of Computer Science, 1997.Google Scholar
- C. Derman. Finite State Markovian Decision Processes. Academic Press, Inc., Orlando, FL, USA, 1970. Google ScholarDigital Library
- Á. Díaz, C. Baier, C. Earle, and L. Fredlund. Static Partial Order Reduction for Probabilistic Concurrent Systems. In Quantitative Evaluation of Systems (QEST), pages 104--113. IEEE Computer Society, 2012. Google ScholarDigital Library
- J.-C. Filliâtre. Deductive software verification. International Journal on Software Tools for Technology Transfer, 13(5):397--403, 2011.Google ScholarDigital Library
- O. Grumberg and H. Veith, editors. 25 Years of Model Checking: History, Achievements, Perspectives. Springer-Verlag, Berlin, Heidelberg, 2008. Google ScholarDigital Library
- L. Gui, J. Sun, S. Song, Y. Liu, and J. S. Dong. SCC-Based Improved Reachability Analysis for Markov Decision Processes. In International Conference on Formal Engineering Methods (ICFEM), volume 8829 of LNCS, pages 171--186. Springer, 2014.Google Scholar
- M. Kattenbelt, M. Z. Kwiatkowska, G. Norman, and D. Parker. Abstraction Refinement for Probabilistic Software. In Verification, Model Checking, and Abstract Interpretation (VMCAI), volume 5403 of LNCS, pages 182--197. Springer, 2009. Google ScholarDigital Library
- M. Kwiatkowska, G. Norman, and D. Parker. PRISM 4.0: Verification of probabilistic real-time systems. In Proc. 23rd International Conference on Computer Aided Verification (CAV'11), volume 6806 of LNCS, pages 585--591. Springer, 2011. Google ScholarDigital Library
- M. L. Puterman. Markov Decision Processes-Discrete Stochastic Dynamic Programming. John Wiley & Sons, New York, 1994. Google ScholarDigital Library
- P. Ročkai, J. Barnat, and L. Brim. Improved State Space Reductions for LTL Model Checking of C & C++ Programs. In NASA Formal Methods (NFM 2013), volume 7871 of LNCS, pages 1--15. Springer, 2013.Google ScholarCross Ref
- M. Vardi. Probabilistic linear-time model checking: an overview of the automata-theoretic approach. In Proc. Formal Methods for Real-Time and Probabilistic Systems, ARTS 1999, volume 1601 of LNCS, pages 265--276. Springer, 1999. Google ScholarDigital Library
Index Terms
- On verifying C++ programs with probabilities
Recommendations
Executing Model Checking Counterexamples in Simulink
TASE '12: Proceedings of the 2012 Sixth International Symposium on Theoretical Aspects of Software EngineeringVerification of embedded systems has become increasingly important in many industrial domains. Safety critical embedded systems, such as those developed in aerospace industry, are regularly subject to automated formal verification process. In this paper ...
Verifying concurrent probabilistic systems using probabilistic-epistemic logic specifications
In this paper, we address the problem of verifying probabilistic and epistemic properties in concurrent probabilistic systems expressed in PCTLK. PCTLK is an extension of the Probabilistic Computation Tree Logic (PCTL) augmented with Knowledge (K). In ...
Verifying higher-order functional programs with pattern-matching algebraic data types
POPL '11Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a promising approach to the verification of functional programs. We introduce pattern-matching recursion schemes (PMRS) as an accurate model of computation ...
Comments