ACM Home Page
Please provide us with feedback. Feedback
Adding nesting structure to words
Full text PdfPdf (564 KB)
Source
Journal of the ACM (JACM) archive
Volume 56 ,  Issue 3  (May 2009) table of contents
Article No. 16  
Year of Publication: 2009
ISSN:0004-5411
Authors
Rajeev Alur  University of Pennsylvania, Philadelphia, Pennsylvania
P. Madhusudan  University of Illinois at Urbana-Champaign, Urbana, Illinois
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 31,   Downloads (12 Months): 299,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1516512.1516518
What is a DOI?

ABSTRACT

We propose the model of nested words for representation of data with both a linear ordering and a hierarchically nested matching of items. Examples of data with such dual linear-hierarchical structure include executions of structured programs, annotated linguistic data, and HTML/XML documents. Nested words generalize both words and ordered trees, and allow both word and tree operations. We define nested word automata—finite-state acceptors for nested words, and show that the resulting class of regular languages of nested words has all the appealing theoretical properties that the classical regular word languages enjoys: deterministic nested word automata are as expressive as their nondeterministic counterparts; the class is closed under union, intersection, complementation, concatenation, Kleene-*, prefixes, and language homomorphisms; membership, emptiness, language inclusion, and language equivalence are all decidable; and definability in monadic second order logic corresponds exactly to finite-state recognizability. We also consider regular languages of infinite nested words and show that the closure properties, MSO-characterization, and decidability of decision problems carry over.

The linear encodings of nested words give the class of visibly pushdown languages of words, and this class lies between balanced languages and deterministic context-free languages. We argue that for algorithmic verification of structured programs, instead of viewing the program as a context-free language over words, one should view it as a regular language of nested words (or equivalently, a visibly pushdown language), and this would allow model checking of many properties (such as stack inspection, pre-post conditions) that are not expressible in existing specification logics.

We also study the relationship between ordered trees and nested words, and the corresponding automata: while the analysis complexity of nested word automata is the same as that of classical tree automata, they combine both bottom-up and top-down traversals, and enjoy expressiveness and succinctness benefits over tree automata.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
Alur, R., Etessami, K., and Madhusudan, P. 2004. A temporal logic of nested calls and returns. In TACAS'04: Proceedings of the 10th International Conference on Tools and Algorithms for the Construction and Analysis of Software. Lecture Notes in Computer Science, vol. 2988, Springer-Verlag, Berlin, Germany, 467--481.
 
4
Alur, R., Kumar, V., Madhusudan, P., and Viswanathan, M. 2005b. Congruences for visibly pushdown languages. In Automata, Languages and Programming: Proceedings of the 32nd ICALP. Lecture Notes in Computer Science, vol. 3580, Springer-Verlag, Berlin, Germany, 1102--1114.
5
 
6
Alur, R. and Madhusudan, P. 2006. Adding nesting structure to words. In Developments in Language Theory. Lecture Notes in Computer Science, vol. 4036, Springer-Verlag, Berlin, Germany, 1--13.
 
7
8
 
9
 
10
 
11
 
12
 
13
Bouquet, A., Serre, O., and Walukiewicz, I. 2003. Pushdown games with unboundedness and regular conditions. In FSTTCS 2003: Proceedings of the 23rd International Conference on Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 2914, Springer-Verlag, Berlin, Germany, 88--99.
 
14
Brüggemann-Klein, A., Murata, M., and Wood, D. 2001. Regular tree and regular hedge languages over unranked alphabets: Version 1. Tech. Rep. HKUST-TCSC-2001-0, The Hongkong University of Science and Technology.
 
15
Brüggermann-Klein, A., and Wood, D. 2004. Balanced context-free grammars, hedge grammars and pushdown caterpillar automata. In Proceedings of the Extreme Markup Languages.
 
16
 
17
 
18
19
 
20
Comon, H., Dauchet, M., Gilleron, R., Lugiez, D., Tison, S., and Tommasi, M. 2002. Tree automata techniques and applications. Draft, Available at http://www.grappa.univ-lille3.fr/tata/.
 
21
 
22
 
23
Ginsburg, S., and Harrison, M. 1967. Bracketed context-free languages. J. Comput. Syst. Sci. 1, 1--23.
 
24
25
 
26
 
27
28
 
29
 
30
Jensen, T., Metayer, D. L., and Thorn, T. 1999. Verification of control flow based security properties. In Proceedings of the IEEE Symposium on Security and Privacy. IEEE Computer Society Press, Los Alamitos, CA, 89--103.
 
31
Knuth, D. 1967. A characterization of parenthesis languages. Inf. Cont. 11, 3, 269--289.
 
32
 
33
Libkin, L. 2005. Logics for unranked trees: An overview. In Proceedings of the 32nd International Colloquium in Automata, Languages and Programming. LNCS 3580, 35--50.
 
34
Löding, C., Madhusudan, P., and Serre, O. 2004. Visibly pushdown games. In FSTTCS 2004: Proceedings of the 24th International Conference on Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 3328, Springer-Verlag, Berlin, Germany, 408--420.
 
35
Martens, W., and Niehren, J. 2005. Minimizing tree automata for unranked trees. In Proceedings of the 10th International Symposium on Database Programming Languages. 233--247.
36
 
37
 
38
39
 
40
41
 
42
Sharir, M., and Pnueli, A. 1981. Two approaches to inter-procedural data-flow analysis. In Program flow analysis: Theory and applications. Prentice-Hall, Englewood Cliffs, NJ.
 
43
 
44
 
45

Collaborative Colleagues:
Rajeev Alur: colleagues
P. Madhusudan: colleagues