|
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
|
Rajeev Alur , Michael Benedikt , Kousha Etessami , Patrice Godefroid , Thomas Reps , Mihalis Yannakakis, Analysis of recursive state machines, ACM Transactions on Programming Languages and Systems (TOPLAS), v.27 n.4, p.786-818, July 2005
[doi> 10.1145/1075382.1075387]
|
| |
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
|
Jean-Michel Autebert , Jean Berstel , Luc Boasson, Context-free languages and pushdown automata, Handbook of formal languages, vol. 1: word, language, grammar, Springer-Verlag New York, Inc., New York, NY, 1997
|
 |
8
|
Thomas Ball , Rupak Majumdar , Todd Millstein , Sriram K. Rajamani, Automatic predicate abstraction of C programs, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.203-213, June 2001, Snowbird, Utah, United States
|
| |
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
|
Krishnendu Chatterjee , Di Ma , Rupak Majumdar , Tian Zhao , Thomas A. Henzinger , Jens Palsberg, Stack size analysis for interrupt-driven programs, Information and Computation, v.194 n.2, p.144-174, November 1, 2004
[doi> 10.1016/j.ic.2004.06.001]
|
 |
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
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , George C. Necula , Grégoire Sutre , Westley Weimer, Temporal-Safety Proofs for Systems Code, Proceedings of the 14th International Conference on Computer Aided Verification, p.526-538, July 27-31, 2002
|
 |
28
|
|
| |
29
|
John E. Hopcroft , Rajeev Motwani , Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2006
|
| |
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
|
Thomas Reps , Susan Horwitz , Mooly Sagiv, Precise interprocedural dataflow analysis via graph reachability, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.49-61, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199462]
|
| |
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
|
|
|