Results 1  10
of
100
Adding nesting structure to words
 In Developments in Language Theory, LNCS 4036
, 2006
"... 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 linearhierarchical structure include executions of structured programs, annotated linguistic data, and HTML/XML documents. Neste ..."
Abstract

Cited by 72 (11 self)
 Add to MetaCart
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 linearhierarchical 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—finitestate 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 finitestate recognizability. We also consider regular languages of infinite nested words and show that the closure properties, MSOcharacterization, 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 contextfree languages. We argue that for algorithmic verification of structured programs, instead of viewing the program as a contextfree 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, prepost 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 bottomup and topdown traversals, and enjoy expressiveness and succinctness benefits over tree automata. 1
Web Service Interfaces
, 2005
"... We present a language for specifying web service interfaces. A web service interface puts three kinds of constraints on the users of the service. First, the interface specifies the methods that can be called by a client, together with types of input and output parameters; these are called signature ..."
Abstract

Cited by 29 (2 self)
 Add to MetaCart
We present a language for specifying web service interfaces. A web service interface puts three kinds of constraints on the users of the service. First, the interface specifies the methods that can be called by a client, together with types of input and output parameters; these are called signature constraints. Second, the interface may specify propositional constraints on method calls and output values that may occur in a web service conversation; these are called consistency constraints. Third, the interface may specify temporal constraints on the ordering of method calls; these are called protocol constraints. The interfaces can be used to check, first, if two or more web services are compatible, and second, if a web service A can be safely substituted for a web service B. The algorithm for compatibility checking verifies that two or more interfaces fulfill each others' constraints. The algorithm for substitutivity checking verifies that service A demands fewer and fulfills more constraints than service B.
A robust class of contextsensitive languages
 In LICS
, 2007
"... We define a new class of languages defined by multistack automata that forms a robust subclass of contextsensitive languages, with decidable emptiness and closure under boolean operations. This class, called multistack visibly pushdown languages (MVPLs), is defined using multistack pushdown auto ..."
Abstract

Cited by 24 (6 self)
 Add to MetaCart
We define a new class of languages defined by multistack automata that forms a robust subclass of contextsensitive languages, with decidable emptiness and closure under boolean operations. This class, called multistack visibly pushdown languages (MVPLs), is defined using multistack pushdown automata with two restrictions: (a) the pushdown automaton is visible, i.e. the input letter determines the operation on the stacks, and (b) any computation of the machine can be split into�stages, where in each stage, there is at most one stack that is popped. MVPLs are an extension of visibly pushdown languages that captures noncontext free behaviors, and has applications in analyzing abstractions of multithreaded recursive programs, significantly enlarging the search space that can be explored for them. We show that MVPLs are closed under boolean operations, and problems such as emptiness and inclusion are decidable. We characterize MVPLs using monadic secondorder logic over appropriate structures, and exhibit a Parikh theorem for them. 1.
Visibly pushdown games
 In FSTTCS 2004
, 2004
"... Abstract. The class of visibly pushdown languages has been recently defined as a subclass of contextfree languages with desirable closure properties and tractable decision problems. We study visibly pushdown games, which are games played on visibly pushdown systems where the winning condition is gi ..."
Abstract

Cited by 18 (6 self)
 Add to MetaCart
Abstract. The class of visibly pushdown languages has been recently defined as a subclass of contextfree languages with desirable closure properties and tractable decision problems. We study visibly pushdown games, which are games played on visibly pushdown systems where the winning condition is given by a visibly pushdown language. We establish that, unlike pushdown games with pushdown winning conditions, visibly pushdown games are decidable and are 2Exptimecomplete. We also show that pushdown games against Ltl specifications and Caret specifications are 3Exptimecomplete. Finally, we establish the topological complexity of visibly pushdown languages by showing that they are a subclass of Boolean combinations of Σ3 sets. This leads to an alternative proof that visibly pushdown automata are not determinizable and also shows that visibly pushdown games are determined. 1
Thirdorder Idealized Algol with iteration is decidable
 TCS
, 2008
"... Abstract. The problems of contextual equivalence and approximation are studied for the thirdorder fragment of Idealized Algol with iteration (IA ∗ 3). They are approached via a combination of game semantics and language theory. It is shown that for each IA ∗ 3term one can construct a pushdown auto ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
Abstract. The problems of contextual equivalence and approximation are studied for the thirdorder fragment of Idealized Algol with iteration (IA ∗ 3). They are approached via a combination of game semantics and language theory. It is shown that for each IA ∗ 3term one can construct a pushdown automaton recognizing a representation of the strategy induced by the term. The automata have some additional properties ensuring that the associated equivalence and inclusion problems are solvable in Ptime. This gives an Exptime decision procedure for contextual equivalence and approximation for βnormal terms. Exptimehardness is also shown in this case, even in the absence of iteration. 1
Firstorder and temporal logics for nested words
 In LICS 2007
"... Nested words are a structured model of execution paths in procedural programs, reflecting their call and return nesting structure. Finite nested words also capture the structure of parse trees and other treestructured data, such as XML. We provide new temporal logics for finite and infinite nested ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
Nested words are a structured model of execution paths in procedural programs, reflecting their call and return nesting structure. Finite nested words also capture the structure of parse trees and other treestructured data, such as XML. We provide new temporal logics for finite and infinite nested words, which are natural extensions of LTL, and prove that these logics are firstorder expressivelycomplete. One of them is based on adding a ”within” modality, evaluating a formula on a subword, to a logic CaRet previously studied in the context of verifying properties of recursive state machines. The other logic is based on the notion of a summary path that combines the linear and nesting structures. For that logic, both modelchecking and satisfiability are shown to be EXPTIMEcomplete. Finally, we prove that firstorder logic over nested words has the threevariable property, and we present a temporal logic for nested words which is complete for the twovariable fragment of firstorder. 1
Streaming tree automata
 Inf. Process. Lett
"... Streaming validation and querying of XML documents are often based on automata for treelike structures. We propose a new notion of streaming tree automata in order to unify the two main approaches, which have not been linked so far: automata for nested words or equivalently visibly pushdown automat ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
Streaming validation and querying of XML documents are often based on automata for treelike structures. We propose a new notion of streaming tree automata in order to unify the two main approaches, which have not been linked so far: automata for nested words or equivalently visibly pushdown automata, and respectively pushdown forest automata.
Interface Grammars for Modular Software Model Checking
"... Verification techniques that rely on state enumeration (such as model checking) face two important challenges: 1) Statespace explosion: exponential increase in the state space with the increasing number of components. 2) Environment generation: modeling components that are either not available for ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
Verification techniques that rely on state enumeration (such as model checking) face two important challenges: 1) Statespace explosion: exponential increase in the state space with the increasing number of components. 2) Environment generation: modeling components that are either not available for analysis, or that are outside the scope of the verification tool at hand. We propose a semiautomated approach for attacking these two problems. In our approach, interfaces for the components that are outside the scope of the current verification effort are specified using an interface specification language based on grammars. Specifically, an interface grammar for a component specifies the sequences of method invocations that are allowed by that component. Using interface grammars, one can specify nested call sequences that cannot be specified using interface specification formalisms that rely on finite state machines. Moreover, our
Propositional dynamic logic with recursive programs
 In Proc. FOSSACS 2006, LNCS 3921
, 2006
"... Abstract. We extend the propositional dynamic logic PDL of Fischer and Ladner with a restricted kind of recursive programs using the formalism of visibly pushdown automata (Alur, Madhusudan 2004). We show that the satisfiability problem for this extension remains decidable, generalising known decida ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Abstract. We extend the propositional dynamic logic PDL of Fischer and Ladner with a restricted kind of recursive programs using the formalism of visibly pushdown automata (Alur, Madhusudan 2004). We show that the satisfiability problem for this extension remains decidable, generalising known decidability results for extensions of PDL by nonregular programs. 1
On (Omega)Regular Model Checking
, 2008
"... Checking infinitestate systems is frequently done by encoding infinite sets of states as regular languages. Computing such a regular representation of, say, the set of reachable states of a system requires acceleration techniques that can finitely compute the effect of an unbounded number of transi ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Checking infinitestate systems is frequently done by encoding infinite sets of states as regular languages. Computing such a regular representation of, say, the set of reachable states of a system requires acceleration techniques that can finitely compute the effect of an unbounded number of transitions. Among the acceleration techniques that have been proposed, one finds both specific and generic techniques. Specific techniques exploit the particular type of system being analyzed, e.g. a system manipulating queues or integers, whereas generic techniques only assume that the transition relation is represented by a finitestate transducer, which has to be iterated. In this paper, we investigate the possibility of using generic techniques in cases where only specific techniques have been exploited so far. Finding that existing generic techniques are often not applicable in cases easily handled by specific techniques, we have developed a new approach to iterating transducers. This new approach builds on earlier work, but exploits a number of new conceptual and algorithmic ideas, often induced with the help of experiments, that give it a broad scope, as well as good performances.