Electronic Proceedings in Theoretical Computer Science (Sep 2018)

Temporal Logic and Model Checking for Operator Precedence Languages

  • Michele Chiari,
  • Dino Mandrioli,
  • Matteo Pradella

DOI
https://doi.org/10.4204/EPTCS.277.12
Journal volume & issue
Vol. 277, no. Proc. GandALF 2018
pp. 161 – 175

Abstract

Read online

In the last decades much research effort has been devoted to extending the success of model checking from the traditional field of finite state machines and various versions of temporal logics to suitable subclasses of context-free languages and appropriate extensions of temporal logics. To the best of our knowledge such attempts only covered structured languages, i.e. languages whose structure is immediately "visible" in their sentences, such as tree-languages or visibly pushdown ones. In this paper we present a new temporal logic suitable to express and automatically verify properties of operator precedence languages. This "historical" language family has been recently proved to enjoy fundamental algebraic and logic properties that make it suitable for model checking applications yet breaking the barrier of visible-structure languages (in fact the original motivation of its inventor Floyd was just to support efficient parsing, i.e. building the "hidden syntax tree" of language sentences). We prove that our logic is at least as expressive as analogous logics defined for visible pushdown languages yet covering a much more powerful family; we design a procedure that, given a formula in our logic builds an automaton recognizing the sentences satisfying the formula, whose size is at most exponential in the length of the formula.