Probabilistic pushdown automata (pPDA) are a standard operational model for programming languages involving discrete random choices, procedures, and returns. Temporal properties are useful for gaining insight into the chronological order of events during program execution. Existing approaches in the literature have focused mostly on $\omega$-regular and LTL properties. In this paper, we study the model checking problem of pPDA against $\omega$-visibly pushdown languages that can be described by specification logics such as CaRet and are strictly more expressive than $\omega$-regular properties. With these logical formulae, it is possible to specify properties that explicitly take the structured computations arising from procedural programs into account. For example, CaRet is able to match procedure calls with their corresponding future returns, and thus allows to express fundamental program properties like total and partial correctness.
翻译:概率推下自动磁盘( PPDA) 是用于编程语言的标准操作模式, 涉及离散随机选择、 程序和返回。 时间属性有助于了解程序执行期间事件的时间顺序。 文献中的现有方法主要侧重于 $\ omega$- pergular 和 LTL 属性。 在本文中, 我们研究 PPDA 相对于 $\ omega$- 视觉推下语言的模式检查问题, 这些语言可以用诸如 Caret 等规格逻辑来描述, 并且严格来说比 $\ omega$- pergular 等常规属性更直观。 在这些逻辑公式中, 可以指定明确将程序程序程序产生的结构计算考虑在内的属性。 例如, Caret 能够将程序调用与其相应的未来回报匹配, 从而能够表达像全部和部分正确性这样的基本程序属性 。