Model Checking Probabilistic Operator Precedence Automata (2404.03515v3)
Abstract: We address the problem of model checking context-free specifications for probabilistic pushdown automata, which has relevant applications in the verification of recursive probabilistic programs. Operator Precedence Languages (OPLs) are an expressive subclass of context-free languages suitable for model checking recursive programs. The derived Precedence Oriented Temporal Logic (POTL) can express fundamental OPL specifications such as pre/post-conditions and exception safety. We introduce probabilistic Operator Precedence Automata (pOPA), a class of probabilistic pushdown automata whose traces are OPLs, and study their model checking problem against POTL specifications. We identify a fragment of POTL, called POTLf$\chi$, for which we develop an EXPTIME algorithm for qualitative probabilistic model checking, and an EXPSPACE algorithm for the quantitative variant. The algorithms rely on the property of separation of automata generated from POTLf$\chi$ formulas. The same property allows us to employ these algorithms for model checking pOPA against Linear Temporal Logic (LTL) specifications. POTLf$\chi$ is then the first context-free logic for which an optimal probabilistic model checking algorithm has been developed, matching its EXPTIME lower bound in complexity. In comparison, the best known algorithm for probabilistic model checking of CaRet, a prominent temporal logic based on Visibly Pushdown Languages (VPL), is doubly exponential.
- Canny, J.F.: Some algebraic and geometric computations in PSPACE. In: STOC’88. pp. 460–467. ACM (1988). doi:10.1145/62212.62257
- Pnueli, A.: The temporal logic of programs. In: FOCS ’77. pp. 46–57. IEEE Computer Society (1977). doi:10.1109/SFCS.1977.32
- Schelling, T.C.: The Strategy of Conflict. Harvard University Press (1980)
- Zhang, Y., Amin, N.: Reasoning about “reasoning about reasoning”: semantics and contextual equivalence for probabilistic programs with nested queries and recursion. ACM Program. Lang. 6(POPL), 1–28 (2022). doi:10.1145/3498677