Results 1  10
of
36
Reasoning about XML with Temporal Logics and Automata
 In LPAR’08
"... We show that problems arising in static analysis of XML specifications and transformations can be dealt with using techniques similar to those developed for static analysis of programs. Many properties of interest in the XML context are related to navigation, and can be formulated in temporal logics ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
(Show Context)
We show that problems arising in static analysis of XML specifications and transformations can be dealt with using techniques similar to those developed for static analysis of programs. Many properties of interest in the XML context are related to navigation, and can be formulated in temporal logics for trees. We choose a logic that admits a simple singleexponential translation into unranked tree automata, in the spirit of the classical LTLtoBüchi automata translation. Automata arising from this translation have a number of additional properties; in particular, they are convenient for reasoning about unary nodeselecting queries, which are important in the XML context. We give two applications of such reasoning: one deals with a classical XML problem of reasoning about navigation in the presence of schemas, and the other relates to verifying security properties of XML views.
HigherOrder MultiParameter Tree Transducers . . .
, 2010
"... We introduce higherorder, multiparameter, tree transducers (HMTTs, for short), which are kinds of higherorder tree transducers that take input trees and output a (possibly infinite) tree. We study the problem of checking whether the tree generated by a given HMTT conforms to a given output specif ..."
Abstract

Cited by 25 (11 self)
 Add to MetaCart
We introduce higherorder, multiparameter, tree transducers (HMTTs, for short), which are kinds of higherorder tree transducers that take input trees and output a (possibly infinite) tree. We study the problem of checking whether the tree generated by a given HMTT conforms to a given output specification, provided that the input trees conform to input specifications (where both input/output specifications are regular tree languages). HMTTs subsume higherorder recursion schemes and ordinary tree transducers, so that their verification has a number of potential applications to verification of functional programs using recursive data structures, including resource usage verification, string analysis, and exact typechecking of XMLprocessing programs. We propose a sound but incomplete verification algorithm for the HMTT verification problem: the algorithm reduces the verification problem to a modelchecking problem for higherorder recursion schemes extended with finite data domains, and then uses (an extension of) Kobayashi’s algorithm for modelchecking recursion schemes. While the algorithm is incomplete (indeed, as we show in the paper, the verification problem is undecidable in general), it is sound and complete for a subclass of HMTTs called linear HMTTs. We have applied our HMTT verification algorithm to various program verification problems and obtained promising results.
Towards practical typechecking for macro tree transducers
, 2007
"... Abstract. Macro tree transducers (mtt) are an important model that both covers many useful XML transformations and allows decidable exact typechecking. This paper reports our first step toward an implementation of mtt typechecker that has a practical efficiency. Our approach is to represent an input ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Macro tree transducers (mtt) are an important model that both covers many useful XML transformations and allows decidable exact typechecking. This paper reports our first step toward an implementation of mtt typechecker that has a practical efficiency. Our approach is to represent an input type obtained from a backward inference as an alternating tree automaton, in a style similar to Tozawa’s XSLT0 typechecking. In this approach, typechecking reduces to checking emptiness of an alternating tree automaton. We propose several optimizations (Cartesian factorization, state partitioning) on the backward inference process in order to produce much smaller alternating tree automata than the naive algorithm, and we present our efficient algorithm for checking emptiness of alternating tree automata, where we exploit the explicit representation of alternation for local optimizations. Our preliminary experiments confirm that our algorithm has a practical performance that can typecheck simple transformations with respect to the full XHTML in a reasonable time. 1
Type Inference and Type Checking for Queries on Execution Traces
, 2008
"... This paper studies, for the first time, the management of type information for an important class of semistructured data: nested DAGs (Directed Acyclic Graphs) that describe execution traces of business processes (BPs for short). Specifically, we consider here type inference and type checking for q ..."
Abstract

Cited by 15 (10 self)
 Add to MetaCart
(Show Context)
This paper studies, for the first time, the management of type information for an important class of semistructured data: nested DAGs (Directed Acyclic Graphs) that describe execution traces of business processes (BPs for short). Specifically, we consider here type inference and type checking for queries over BP execution traces. The queries that we consider select portions of the traces that are of interest to the user; the types describe the possible shape of the execution traces in the input/output of the query. We formally define and characterize here three common classes of BP execution traces and their respective notions of type inference and type checking. We study the complexity of the two problems for query languages of varying expressive power and present efficient type inference/checking algorithms whenever possible. Our analysis offers a nearly complete picture of which combinations of trace classes and query features lead to PTIME algorithms and which to NPcomplete or undecidable problems.
Typed iterators for XML
, 2007
"... XML transformations are very sensitive to types: XML types describe the tags and attributes of XML elements as well as the number, kind, and order of their subelements. Therefore, even very basic operations such as changing a tag, renaming an attribute, or adding an element generally imply conspicu ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
XML transformations are very sensitive to types: XML types describe the tags and attributes of XML elements as well as the number, kind, and order of their subelements. Therefore, even very basic operations such as changing a tag, renaming an attribute, or adding an element generally imply conspicuous changes from the type of the input to the type of the output. Such operations are applied on XML documents by iterators that, to be useful, need to be typed by some kind of polymorphism that goes beyond what currently exists. For this reason these iterators are not programmed but, rather, hardcoded in the language. However, this approach soon reaches its limits, as the hardcoded iterators cannot cover fairly standard usage scenarios. As a solution to this problem we propose a generic language to define iterators for XML data to be grafted on some host programming language. We show that our language mostly offers the required degree of polymorphism, study its formal properties, and show its expressiveness and practical impact by providing several usage examples and encodings.
Containment of patternbased queries over data trees
 In ICDT
, 2013
"... We study static analysis, in particular the containment problem, for analogs of conjunctive queries over XML documents. The problem has been studied for queries based on arbitrary patterns, not necessarily following the tree structure of documents. However, many applications force the syntactic shap ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
(Show Context)
We study static analysis, in particular the containment problem, for analogs of conjunctive queries over XML documents. The problem has been studied for queries based on arbitrary patterns, not necessarily following the tree structure of documents. However, many applications force the syntactic shape of queries to be treelike, as they are based on proper tree patterns. This renders previous results, crucially based on having nontreelike features, inapplicable. Thus, we investigate static analysis of queries based on proper tree patterns. We go beyond simple navigational conjunctive queries in two ways: we look at unions and Boolean combinations of such queries as well and, crucially, all our queries handle data stored in documents, i.e., we deal with containment over data trees. We start by giving a general Π p
RewriteBased Verification of XML Updates
, 2010
"... We propose a model for XML update primitives of the W3C XQuery Update Facility as parameterized rewriting rules of the form: ”insert an unranked tree from a regular tree language L as the first child of a node labeled by a”. For these rules, we give type inference algorithms, considering types defin ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
We propose a model for XML update primitives of the W3C XQuery Update Facility as parameterized rewriting rules of the form: ”insert an unranked tree from a regular tree language L as the first child of a node labeled by a”. For these rules, we give type inference algorithms, considering types defined by several classes of unranked tree automata. These type inference algorithms are directly applicable to XML static typechecking, which is the problem of verifying whether, a given document transformation always converts source documents of a given input type into documents of a given output type. We show that typechecking for arbitrary sequences of XML update primitives can be done in polynomial time when the unranked tree automaton defining the output type is deterministic and complete, and that it is EXPTIMEcomplete otherwise. We then apply the results to the verification of access control policies for XML updates. We propose in particular a polynomial time algorithm for the problem of local consistency of a policy, that is, for deciding the nonexistence of a sequence of authorized update operations starting from a given document that simulates a forbidden update operation.
XML Type Checking for Macro Tree Transducers with Holes
, 2007
"... Macro forest transducers (mfts) extend macro tree transducers (mtts) from ranked to unranked trees. Mfts are more powerful than mtts (operating on binary tree encodings) because they support sequence concatenation of output trees as buildin operation. Surprisingly, inverse type inference for mfts, ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Macro forest transducers (mfts) extend macro tree transducers (mtts) from ranked to unranked trees. Mfts are more powerful than mtts (operating on binary tree encodings) because they support sequence concatenation of output trees as buildin operation. Surprisingly, inverse type inference for mfts, for a fixed output type, can be done within the same complexity as for mtts. Inverse type inference is used in algorithms for exact type checking of XML transformations. The macro tree transducer with holes (hmtt) is a new concept that is introduced in this paper. It generalizes sequence concatenation of mfts to arbitrary tree concatenation. Hmtts are strictly more powerful than mfts, in a similar way as mfts are more powerful than mtts. Again, it comes as a surprise that inverse type inference remains within the same complexity bound as for mfts. Hmtts are a natural and robust extension of mtts: any hmtt can be simulated by an mtt, followed by a so called “YIELDmapping”, and, conversely, any composition of an mtt with a YIELDmapping can be simulated by an hmtt. This characterization implies that inverse type inference for twofold compositions of total deterministic mtts can be done in 2exponential time (a tower of exponents of height 2), while the previously best known algorithm takes 3exponential time.
MultiReturn Macro Tree Transducers
 PLANX
, 2008
"... Macro tree transducers are a simple yet expressive formal model for XML transformation languages. The power of this model comes from its accumulating parameters, which allow to carry around several output tree fragments in addition to the input tree. However, while each procedure is enabled by this ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Macro tree transducers are a simple yet expressive formal model for XML transformation languages. The power of this model comes from its accumulating parameters, which allow to carry around several output tree fragments in addition to the input tree. However, while each procedure is enabled by this facility to propagate intermediate results in a topdown direction, it still cannot do it in a bottomup direction since it is restricted to return only a single tree and such tree cannot be decomposed once created. In this paper, we introduce multireturn macro tree transducers as a mild extension of macro tree transducers with the capability of each procedure to return more than one tree at the same time, thus attaining symmetry between topdown and bottomup propagation of information. We illustrate the usefulness of this capability for writing practically meaningful transformations. Our main technical contributions consists of two formal comparisons of the expressivenesses of macro tree transducers and its multireturn extension: (1) in the deterministic case, the expressive powers of these two coincide (2) in the nondeterministic case (with the callbyvalue evaluation strategy) multireturn macro tree transducers are strictly more expressive. 1.
GraphQuery Verification using Monadic SecondOrder Logic
"... Abstract. This paper presents a static verification algorithm for a core subset of UnCAL, the query algebra for graphstructured databases proposed by Bunemann et al. Given a query and input/output schemas, our algorithm statically verifies that any graph satisfying the input schema is converted by ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. This paper presents a static verification algorithm for a core subset of UnCAL, the query algebra for graphstructured databases proposed by Bunemann et al. Given a query and input/output schemas, our algorithm statically verifies that any graph satisfying the input schema is converted by the query to a graph satisfying the output schema. The basic idea is to reformulate the semantics of UnCAL using monadic secondorder logic (MSO). The logicbased foundation allows to express the schema satisfaction of transformations as the validity of MSO formulas over graph structures. Furthermore, with several insights on the established properties of UnCAL, the problem turns out to be reducible to the validity of MSO over trees, which has a sound and complete decision procedure. 1