research

Rewriting Systems over Nested Data Words

Abstract

We propose a generic framework for reasoning about infinite state systems handling data like integers, booleans etc. and having complex control structures. We consider that configurations of such systems are represented by nested data words, i.e., words of ... words over a potentially infinite data domain. We define a logic called ndwlndwl allowing to reason about nested data words, and we define rewriting systems called ndwrsndwrs over these nested structures. The rewriting systems are constrained by formulas in the logic specifying the rewriting positions as well as structure/data transformations. We define a fragment Sigma2Sigma_2^* of ndwlndwl with a decidable satisfiability problem. Moreover, we show that the transition relation defined by rewriting systems with Sigma2Sigma_2^* constraints can be effectively defined in the same fragment. These results can be used in the automatization of verification problems such as inductive invariance checking and bounded reachability analysis. Our framework allows to reason about a wide range of concurrent systems including multithreaded programs (with procedure calls, thread creation, global/local variables over infinite data domains, locks, monitors, etc.), dynamic networks of timed systems, cache coherence/mutex/communication protocols, etc

    Similar works