105,903 research outputs found
Model-Checking the Higher-Dimensional Modal mu-Calculus
The higher-dimensional modal mu-calculus is an extension of the mu-calculus
in which formulas are interpreted in tuples of states of a labeled transition
system. Every property that can be expressed in this logic can be checked in
polynomial time, and conversely every polynomial-time decidable problem that
has a bisimulation-invariant encoding into labeled transition systems can also
be defined in the higher-dimensional modal mu-calculus. We exemplify the latter
connection by giving several examples of decision problems which reduce to
model checking of the higher-dimensional modal mu-calculus for some fixed
formulas. This way generic model checking algorithms for the logic can then be
used via partial evaluation in order to obtain algorithms for theses problems
which may benefit from improvements that are well-established in the field of
program verification, namely on-the-fly and symbolic techniques. The aim of
this work is to extend such techniques to other fields as well, here
exemplarily done for process equivalences, automata theory, parsing, string
problems, and games.Comment: In Proceedings FICS 2012, arXiv:1202.317
Streaming Tree Transducers
Theory of tree transducers provides a foundation for understanding
expressiveness and complexity of analysis problems for specification languages
for transforming hierarchically structured data such as XML documents. We
introduce streaming tree transducers as an analyzable, executable, and
expressive model for transforming unranked ordered trees in a single pass.
Given a linear encoding of the input tree, the transducer makes a single
left-to-right pass through the input, and computes the output in linear time
using a finite-state control, a visibly pushdown stack, and a finite number of
variables that store output chunks that can be combined using the operations of
string-concatenation and tree-insertion. We prove that the expressiveness of
the model coincides with transductions definable using monadic second-order
logic (MSO). Existing models of tree transducers either cannot implement all
MSO-definable transformations, or require regular look ahead that prohibits
single-pass implementation. We show a variety of analysis problems such as
type-checking and checking functional equivalence are solvable for our model.Comment: 40 page
Constraint Solving on Bounded String Variables
Abstract Constraints on strings of unknown length occur in a wide variety of real-world problems, such as test case generation, program analysis, model checking, and web security. We describe a set of con-straints sufficient to model many standard benchmark problems from these fields. For strings of an unknown length bounded by an integer, we describe propagators for these constraints. Finally, we provide an experi-mental comparison between a state-of-the-art dedicated string solver, CP approaches utilising fixed-length string solving, and our implementation extending an off-the-shelf CP solver.
Learning to Prune: Speeding up Repeated Computations
It is common to encounter situations where one must solve a sequence of
similar computational problems. Running a standard algorithm with worst-case
runtime guarantees on each instance will fail to take advantage of valuable
structure shared across the problem instances. For example, when a commuter
drives from work to home, there are typically only a handful of routes that
will ever be the shortest path. A naive algorithm that does not exploit this
common structure may spend most of its time checking roads that will never be
in the shortest path. More generally, we can often ignore large swaths of the
search space that will likely never contain an optimal solution.
We present an algorithm that learns to maximally prune the search space on
repeated computations, thereby reducing runtime while provably outputting the
correct solution each period with high probability. Our algorithm employs a
simple explore-exploit technique resembling those used in online algorithms,
though our setting is quite different. We prove that, with respect to our model
of pruning search spaces, our approach is optimal up to constant factors.
Finally, we illustrate the applicability of our model and algorithm to three
classic problems: shortest-path routing, string search, and linear programming.
We present experiments confirming that our simple algorithm is effective at
significantly reducing the runtime of solving repeated computations
In the Maze of Data Languages
In data languages the positions of strings and trees carry a label from a
finite alphabet and a data value from an infinite alphabet. Extensions of
automata and logics over finite alphabets have been defined to recognize data
languages, both in the string and tree cases. In this paper we describe and
compare the complexity and expressiveness of such models to understand which
ones are better candidates as regular models
Reasoning about Regular Properties: A Comparative Study
Several new algorithms for deciding emptiness of Boolean combinations of
regular languages and of languages of alternating automata (AFA) have been
proposed recently, especially in the context of analysing regular expressions
and in string constraint solving. The new algorithms demonstrated a significant
potential, but they have never been systematically compared, neither among each
other nor with the state-of-the art implementations of existing
(non)deterministic automata-based methods. In this paper, we provide the first
such comparison as well as an overview of the existing algorithms and their
implementations. We collect a diverse benchmark mostly originating in or
related to practical problems from string constraint solving, analysing LTL
properties, and regular model checking, and evaluate collected implementations
on it. The results reveal the best tools and hint on what the best algorithms
and implementation techniques are. Roughly, although some advanced algorithms
are fast, such as antichain algorithms and reductions to IC3/PDR, they are not
as overwhelmingly dominant as sometimes presented and there is no clear winner.
The simplest NFA-based technology may be actually the best choice, depending on
the problem source and implementation style. Our findings should be highly
relevant for development of these techniques as well as for related fields such
as string constraint solving
The size of BDDs and other data structures in temporal logics model checking
Temporal Logic Model Checking is a verification method in which we describe a system, the model, and then we verify whether important properties, expressed in a temporal logic formula, hold in the system. Many Model Checking tools employ BDDs or some other data structure to represent sets of states. It has been empirically observed that the BDDs used in these algorithms may grow exponentially as the model and formula increase in size. We formally prove that no kind of data structure of polynomial size can represent the set of valid initial states for all models and all formulae. This result holds for all data structures where a state can be checked in polynomial time. Therefore, it holds not only for all types of BDDs regardless of variable ordering, but also for more powerful data structures, such as RBCs, MTBDDs, ADDs and SDDs. Thus, the size explosion of BDDs is not a limit of these specific data representation structures, but is unavoidable: every formalism used in the same way would lead to an exponential size blow up
- …