Abstract
Checking tree automata containment is a fundamental operation in static verification of XML processing programs. However, tree automata containment problem is known to be EXPTIME-complete and a standard algorithm with determinization of automata easily blows up even in practical cases. Hosoya, Vouillon, and Pierce have proposed a top-down algorithm that efficiently works for a large class of typical instances. However, there still remains a considerable inefficiency because of repeated calculation incurred by backtracking. In this paper, we propose a non-backtracking top-down algorithm which improves this inefficiency. In the algorithm, we introduce “dependencies” among performed computations and, by exploiting these, we can recover certain kinds of information lost by backtracking. One difficulty in constructing such algorithm is, however, that, since some dependency information can be useless, we may be misled to needless computation by using such information. To alleviate this problem, we carefully check the usefulness of each dependency whenever we use it. Since these checks introduce a subtlety to our algorithm, we rigorously formalize it with a correctness proof. Our preliminary experiments show that our algorithm works more efficiently compared to the previous algorithm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E.: Extensible markup language (XMLTM) (2000), http://www.w3.org/XML/
Hosoya, H., Pierce, B.C.: XDuce: A typed XML processing language. ACM Transactions on Internet Technology 3, 117–148 (2003)
Benzaken, V., Castagna, G., Frisch, A.: CDuce: a white paper. In: PLAN-X: Programming Language Technologies for XML (2002)
Fankhauser, P., Fernández, M., Malhotra, A., Rys, M., Siméon, J., Wadler, P.: XQuery 1.0 Formal Semantics (2001), http://www.w3.org/TR/query-semantics/
Milo, T., Suciu, D., Vianu, V.: Typechecking for XML transformers. In: Proceedings of the Nineteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 11–22. ACM, New York (2000)
Murata, M.: Transformation of documents and schemas by patterns and contextual conditions. In: Nicholas, C., Wood, D. (eds.) PODDP 1996 and PODP 1996. LNCS, vol. 1293, pp. 153–169. Springer, Heidelberg (1997)
Tozawa, A.: Towards static type checking for XSLT. In: Proceedings of ACM Symposium on Document Engineering (2001)
Murata, M., Lee, D., Mani, M.: Taxonomy of XML schema languages using formal language theory. In: Extreme Markup Languages (2001)
Fallside, D.C.: XML Schema Part 0: Primer, W3C Recommendation (2001), http://www.w3.org/TR/xmlschema-0/
Clark, J., Murata, M.: RELAX NG (2001), http://www.relaxng.org
Seidl, H.: Deciding equivalence of finite tree automata. SIAM Journal of Computing 19, 424–437 (1990)
Hosoya, H., Vouillon, J., Pierce, B.C.: Regular expression types for XML. In: Proceedings of the International Conference on Functional Programming (ICFP), pp. 11–22 (2000)
Suda, T., Hosoya, H.: Non-backtracking top-down algorithm for checking tree automata containment (2005), full version http://arbre.is.s.u-tokyo.ac.jp/
Frisch, A.: Théorie, conception et réalisation d’un langage de programmation fonctionnel adapté à XML. PhD thesis, Universit Paris 7 (2004)
Dowling, W.F., Gallier, J.H.: Linear-time algorithms for testing the satisfiability of propositional horn formulas. Journal of Logic Programming 1, 267–284 (1984)
Tozawa, A., Hagiya, M.: XML schema containment checking based on semi-implicit techniques. In: H. Ibarra, O., Dang, Z. (eds.) CIAA 2003. LNCS, vol. 2759, pp. 213–225. Springer, Heidelberg (2003)
OASIS: DocBook (2002), http://www.docbook.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Suda, T., Hosoya, H. (2006). Non-backtracking Top-Down Algorithm for Checking Tree Automata Containment. In: Farré, J., Litovsky, I., Schmitz, S. (eds) Implementation and Application of Automata. CIAA 2005. Lecture Notes in Computer Science, vol 3845. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11605157_25
Download citation
DOI: https://doi.org/10.1007/11605157_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-31023-5
Online ISBN: 978-3-540-33097-4
eBook Packages: Computer ScienceComputer Science (R0)