A Model Checker for Operator Precedence Languages
Open Access
- 23 September 2023
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 45 (3) , 1-66
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.Keywords
This publication has 63 references indexed in Scilit:
- Software model checking using languages of nested treesACM Transactions on Programming Languages and Systems, 2011
- Checking On-the-Fly Universality and Inclusion Problems of Visibly Pushdown AutomataIEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2011
- Adding nesting structure to wordsJournal of the ACM, 2009
- First-Order and Temporal Logics for Nested WordsLogical Methods in Computer Science, 2008
- Analysis of recursive state machinesACM Transactions on Programming Languages and Systems, 2005
- A Direct Symbolic Approach to Model Checking Pushdown Systems (extended abstract)Electronic Notes in Theoretical Computer Science, 1997
- Logics for context-free languages1995
- Characterizing derivation trees of context-free grammars through a generalization of finite automata theoryJournal of Computer and System Sciences, 1967
- Parenthesis GrammarsJournal of the ACM, 1967
- Syntactic Analysis and Operator PrecedenceJournal of the ACM, 1963