52 research outputs found
Library for Finite Automata and Transducers
Konečné automaty majú široké uplatnenie v informatike, okrem iných vo formálnej verifikácii, modelovaní systémov a spracovaní prirodzeného jazyka. Avšak modely skutočne reprezentujúce realitu bývajú veľmi komplikované a môžu byť definované nad veľkými, v niektorých prípadoch až nekonečnými, abecedami, a teda môžu obsahovať veľký počet prechodov. V týchto prípadoch nemusí byť je použitie algoritmov na prácu s konečnými automatmi efektívne. Symbolické automaty poskytujú stručnejší zápis tak, že namiesto symbolov v prechodoch používajú predikáty. Konečné prevodníky tiež majú široké uplatnenie, od ligvistiky až po formálnu verifikáciu. Symbolické prevodníky nahradzujú symboly dvojicou predikátov - jeden predikát pre vstupné symboly a jeden pre výstupné. Cieľom tejto práce je návrh knižnice pre klasické a symbolické automaty a prevodníky, ktorá bude vhodná na rýchle prototypovanie nových algoritmov.Finite state automata are widely used in the field of computer science such as formal verification, system modelling, and natural language processing. However, the models representing the reality are complicated and can be defined upon big alphabets, or even infinite alphabets, and thus contain a lot of transitions. In these cases, using classical finite state automata is not very efficient. Symbolic automata are more concise by employing predicates as transition labels. Finite state transducers also have a wide range of application such as linguistics or formal verification. Symbolic transducers replace classic transition labels with two predicates, one for input symbols and one for output symbols. The goal of this thesis is to design a library for letter and symbolic automata and transducers which will be suitable for fast prototyping.
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
Efficient algorithms for hard problems in nondeterministic tree automata
We present PTIME language-preserving techniques for the reduction of non-deterministic
tree automata, both for the case of finite trees and for infinite trees.
Our techniques are based on new transition removing and state merging results,
which rely on binary relations that compare the downward and upward behaviours
of states in the automaton. We use downward/upward simulation preorders and the
more general but EXPTIME-complete trace inclusion relations, for which we introduce
good under-approximations computable in polynomial time. We provide a complete
picture of combinations of downward and upward simulation/trace inclusions which
can be used in our reduction techniques.
We define an algorithm that puts together all the reduction results found for finite
trees, and implemented it under the name minotaut, a tool built on top of the well-known
tree automata library libvata. We tested minotaut on large collections of
automata from program verification provenience, as well as on different classes of
randomly generated automata. Our algorithm yields substantially smaller and sparser
automata than all previously known reduction techniques, and it is still fast enough to
handle large instances.
Taking reduction of automata on finite trees one step further, we then introduce
saturation, a technique that consists of adding new transitions to an automaton while
preserving its language. We implemented this technique on minotaut and we show
how it can make subsequent state-merge and transition-removal operations more
effective. Thus we obtain a PTIME algorithm that reduces the number of states of
tree automata even more than before.
Additionally, we explore how minotaut alone can play an important role when
performing hard operations like complementation, allowing to obtain smaller complement
automata and at lower computation times overall. We then show how saturation
can extend this contribution even further. An overview of the tool, highlighting some
of its implementation features, is presented as well
Simulation Subsumption in Ramsey-Based Büchi Automata Universality and Inclusion Testing
International audienc
Experimental Aspects of Synthesis
We discuss the problem of experimentally evaluating linear-time temporal
logic (LTL) synthesis tools for reactive systems. We first survey previous such
work for the currently publicly available synthesis tools, and then draw
conclusions by deriving useful schemes for future such evaluations.
In particular, we explain why previous tools have incompatible scopes and
semantics and provide a framework that reduces the impact of this problem for
future experimental comparisons of such tools. Furthermore, we discuss which
difficulties the complex workflows that begin to appear in modern synthesis
tools induce on experimental evaluations and give answers to the question how
convincing such evaluations can still be performed in such a setting.Comment: In Proceedings iWIGP 2011, arXiv:1102.374
Reduction of Nondeterministic Tree Automata
We present an efficient algorithm to reduce the size of nondeterministic tree
automata, while retaining their language. It is based on new transition pruning
techniques, and quotienting of the state space w.r.t. suitable equivalences. It
uses criteria based on combinations of downward and upward simulation preorder
on trees, and the more general downward and upward language inclusions. Since
tree-language inclusion is EXPTIME-complete, we describe methods to compute
good approximations in polynomial time. We implemented our algorithm as a
module of the well-known libvata tree automata library, and tested its
performance on a given collection of tree automata from various applications of
libvata in regular model checking and shape analysis, as well as on various
classes of randomly generated tree automata. Our algorithm yields substantially
smaller and sparser automata than all previously known reduction techniques,
and it is still fast enough to handle large instances.Comment: Extended version (including proofs) of material presented at TACAS
201
Efficient Automata Techniques and Their Applications
Tato práce se zabývá vývojem efektivních technik pro konečné automaty a jejich aplikace. Zejména se věnujeme konečným automatům použitých pří detekci útoků v síťovém provozu a automatům v rozhodovacích procedurách a verifikaci. V první části práce navrhujeme techniky přibližné redukce nedeterministických automatů, které snižují spotřebu zdrojů v hardwarově akcelerovaném zkoumání obsahu paketů. Druhá část práce je je věnována automatům v rozhodovacích procedurách, zejména slabé monadické logice druhého řádů k následníků (WSkS) a teorie nad řetězci. Navrhujeme novou rozhodovací proceduru pro WS2S založenou na automatových termech, umožňující efektivně prořezávat stavový prostor. Dále studujeme techniky předzpracování WSkS formulí za účelem snížení velikosti konstruovaných automatů. Automaty jsme také aplikovali v rozhodovací proceduře teorie nad řetězci pro efektivní reprezentaci důkazového stromu. V poslední části práce potom navrhujeme optimalizace rank-based komplementace Buchiho automatů, které snižuje počet generovaných stavů během konstrukce komplementu.This thesis develops efficient techniques for finite automata and their applications. In particular, we focus on finite automata in network intrusion detection and automata in decision procedures and verification. In the first part of the thesis, we propose techniques of approximate reduction of nondeterministic automata decreasing consumption of resources of hardware-accelerated deep packet inspection. The second part is devoted to automata in decision procedures, in particular, to weak monadic second-order logic of k successors (WSkS) and the theory of strings. We propose a novel decision procedure for WS2S based on automata terms allowing one to effectively prune the state space. Further, we study techniques of WSkS formulae preprocessing intended to reduce the sizes of constructed intermediate automata. Moreover, we employ automata in a decision procedure of the theory of strings for efficient handling of the proof graph. The last part of the thesis then proposes optimizations in rank-based Buchi automata complementation reducing the number of generated states during the construction.
- …