paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Model Checker for Operator Precedence Languages

面向运算符优先级语言的模型检测器
TOPLAS 45(3)2023匹配度 4/10 · 论文属于形式化验证与模型检测工具实现,与用户对形式化验证/静态分析的广义兴趣有邻接,且兼具理论形式化与开源实现;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等用户当前核心追踪的交叉方向,因此匹配度有限。引用 8 inbox
Michele Chiari, Dino Mandrioli, Francesco Pontiggia, Matteo Pradella
crossref: 2026-09-10

AI 速览

一句话:提出并实现了首个开源模型检测器 POMC,用于验证运算符优先级语言程序上的 POTL 树结构性质。

将模型检测从有限状态机扩展到过程式程序,需要对上下文无关结构进行时序推理。已有 CaRet、NWTL 等嵌套词逻辑;新提出的 POTL 面向运算符优先级语言(OPL),在表达能力上强于 NWTL,并对与 OPL 等价的 MSO 逻辑的 FO 片段完备。本文实现了名为 POMC 的模型检测器,用于验证以 OPL 编码的程序是否满足 POTL 性质。作者称 POMC 是首个已实现并公开可用的、用于证明递归过程式程序树结构性质的模型检测器,并在一个非平凡基准上进行了实验评估。

问题
如何将模型检测从有限状态机扩展到递归过程式程序,特别是为运算符优先级语言(OPL)程序提供对 POTL 时序性质的自动验证。
方法
实现模型检测器 POMC,以 POTL 为规约语言,对以 OPL 编码的递归过程式程序进行验证;POMC 建立在 POTL 相对与 OPL 等价的 MSO 逻辑 FO 片段的完备性之上。
评估
作者在一个非平凡基准上对 POMC 进行了实验评估,并报告其为首个已实现且公开可用的、用于证明递归过程式程序树结构性质的模型检测器。
原文摘要(Abstract)

The problem of extending model checking from finite state machines to procedural programs has fostered much research toward the definition of temporal logics for reasoning on context-free structures. The most notable of such results are temporal logics on Nested Words, such as CaRet and NWTL. Recently, Precedence Oriented Temporal Logic (POTL) has been introduced to specify and prove properties of programs coded trough an Operator Precedence Language (OPL). POTL is complete w.r.t. the FO restriction of the MSO logic previously defined as a logic fully equivalent to OPL. POTL increases NWTL’s expressive power in a perfectly parallel way as OPLs are more powerful that nested words. In this article, we produce a model checker, named POMC, for OPL programs to prove properties expressed in POTL. To the best of our knowledge, POMC is the first implemented and openly available model checker for proving tree-structured properties of recursive procedural programs. We also report on the experimental evaluation we performed on POMC on a nontrivial benchmark.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2125,
  title = {A Model Checker for Operator Precedence Languages},
  author = {Michele Chiari and Dino Mandrioli and Francesco Pontiggia and Matteo Pradella},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {45},
  number = {3},
  year = {2023},
  doi = {10.1145/3608443}
}