skip to main content
10.1145/2851613.2851721acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

On verifying C++ programs with probabilities

Published: 04 April 2016 Publication History

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.

References

[1]
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.
[2]
C. Cadar and K. Sen. Symbolic execution for software testing: three decades later. Commun. ACM, 56(2):82--90, 2013.
[3]
C. Courcoubetis and M. Yannakakis. The complexity of probabilistic verification. Journal of the ACM, 42(4):857--907, 1995.
[4]
L. de Alfaro. Formal Verification of Stochastic Systems. PhD thesis, Stanford University, Department of Computer Science, 1997.
[5]
C. Derman. Finite State Markovian Decision Processes. Academic Press, Inc., Orlando, FL, USA, 1970.
[6]
Á. 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.
[7]
J.-C. Filliâtre. Deductive software verification. International Journal on Software Tools for Technology Transfer, 13(5):397--403, 2011.
[8]
O. Grumberg and H. Veith, editors. 25 Years of Model Checking: History, Achievements, Perspectives. Springer-Verlag, Berlin, Heidelberg, 2008.
[9]
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.
[10]
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.
[11]
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.
[12]
M. L. Puterman. Markov Decision Processes-Discrete Stochastic Dynamic Programming. John Wiley & Sons, New York, 1994.
[13]
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.
[14]
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.

Cited By

View all

Index Terms

  1. On verifying C++ programs with probabilities

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '16: Proceedings of the 31st Annual ACM Symposium on Applied Computing
    April 2016
    2360 pages
    ISBN:9781450337397
    DOI:10.1145/2851613
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 April 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. DIVINE
    2. PRISM
    3. model checking
    4. probabilistic systems

    Qualifiers

    • Research-article

    Funding Sources

    • Grantová Agentura České Republiky

    Conference

    SAC 2016
    Sponsor:
    SAC 2016: Symposium on Applied Computing
    April 4 - 8, 2016
    Pisa, Italy

    Acceptance Rates

    SAC '16 Paper Acceptance Rate 252 of 1,047 submissions, 24%;
    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Upcoming Conference

    SAC '25
    The 40th ACM/SIGAPP Symposium on Applied Computing
    March 31 - April 4, 2025
    Catania , Italy

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media