Abstract
Nested words allow modeling of linear and hierarchical structure in data, and nested word automata are special kinds of pushdown automata whose push/pop actions are directed by the hierarchical structure in the input nested word. The resulting class of regular languages of nested words has many appealing theoretical properties, and has found many applications, including model checking of procedural programs. In the nested word model, the hierarchical matching of open- and close- tags must be properly nested, and this is not the case, for instance, in program executions in presence of exceptions. This limitation of nested words narrows its model checking applications to programs with no exceptions. We introduce the model of colored nested words which allows such hierarchical structures with mismatches. We say that a language of colored nested words is regular if the language obtained by inserting the missing closing tags is a well-colored regular language of nested words. We define an automata model that accepts regular languages of colored nested words. These automata can execute restricted forms of ε-pop/push transitions. We provide an equivalent grammar characterization and show that the class of regular languages of colored nested words has the same appealing closure and decidability properties as nested words, thus removing the restriction of programs to be exception-free in order to be amenable for model checking, via the nested words paradigm.
Original language | English |
---|---|
Pages (from-to) | 347-374 |
Number of pages | 28 |
Journal | Formal Methods in System Design |
Volume | 58 |
Issue number | 3 |
DOIs | |
State | Published - 1 Nov 2021 |
Keywords
- Model checking
- Nested words
- Programs with exceptions
- Regularity
- Visibly pushdown automata
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture