11,046 research outputs found
From regular expressions to deterministic automata
Disponible dans les fichiers attachés à ce documen
Techniques for efficient regular expression matching across hardware architectures
Regular expression matching is a central task for many networking and bioinformatics applications. For example, network intrusion detection systems, which perform deep packet inspection to detect malicious network activities, often encode signatures of malicious traffic through regular expressions. Similarly, several bioinformatics applications perform regular expression matching to find common patterns, called motifs, across multiple gene or protein sequences. Hardware implementations of regular expression matching engines fall into two categories: memory-based and logic-based solutions. In both cases, the design aims to maximize the processing throughput and minimize the resources requirements, either in terms of memory or of logic cells. Graphical Processing Units (GPUs) offer a highly parallel platform for memory-based implementations, while Field Programmable Gate Arrays (FPGAs) support reconfigurable, logic-based solutions. In addition, Micron Technology has recently announced its Automata Processor, a memory-based, reprogrammable hardware device. From an algorithmic standpoint, regular expression matching engines are based on finite automata, either in their non-deterministic or in their deterministic form (NFA and DFA, respectively). Micron's Automata Processor is based on a proprietary Automata Network, which extends classical NFA with counters and boolean elements. In this work, we aim to implement highly parallel memory-based and logic-based regular expression matching solutions. Our contributions are summarized as follows. First, we implemented regular expression matching on GPU. In this process, we explored compression techniques and regular expression clustering algorithms to alleviate the memory pressure of DFA-based GPU implementations. Second, we developed a parser for Automata Networks defined through Micron's Automata Network Markup Language (ANML), a XML-based high-level language designed to program the Automata Processor. Specifically, our ANML parser first maps the Automata Networks to an
On the Hierarchy of Block Deterministic Languages
A regular language is -lookahead deterministic (resp. -block
deterministic) if it is specified by a -lookahead deterministic (resp.
-block deterministic) regular expression. These two subclasses of regular
languages have been respectively introduced by Han and Wood (-lookahead
determinism) and by Giammarresi et al. (-block determinism) as a possible
extension of one-unambiguous languages defined and characterized by
Br\"uggemann-Klein and Wood. In this paper, we study the hierarchy and the
inclusion links of these families. We first show that each -block
deterministic language is the alphabetic image of some one-unambiguous
language. Moreover, we show that the conversion from a minimal DFA of a
-block deterministic regular language to a -block deterministic automaton
not only requires state elimination, and that the proof given by Han and Wood
of a proper hierarchy in -block deterministic languages based on this result
is erroneous. Despite these results, we show by giving a parameterized family
that there is a proper hierarchy in -block deterministic regular languages.
We also prove that there is a proper hierarchy in -lookahead deterministic
regular languages by studying particular properties of unary regular
expressions. Finally, using our valid results, we confirm that the family of
-block deterministic regular languages is strictly included into the one of
-lookahead deterministic regular languages by showing that any -block
deterministic unary language is one-unambiguous
Finitary languages
The class of omega-regular languages provides a robust specification language
in verification. Every omega-regular condition can be decomposed into a safety
part and a liveness part. The liveness part ensures that something good happens
"eventually". Finitary liveness was proposed by Alur and Henzinger as a
stronger formulation of liveness. It requires that there exists an unknown,
fixed bound b such that something good happens within b transitions. In this
work we consider automata with finitary acceptance conditions defined by
finitary Buchi, parity and Streett languages. We study languages expressible by
such automata: we give their topological complexity and present a
regular-expression characterization. We compare the expressive power of
finitary automata and give optimal algorithms for classical decisions
questions. We show that the finitary languages are Sigma 2-complete; we present
a complete picture of the expressive power of various classes of automata with
finitary and infinitary acceptance conditions; we show that the languages
defined by finitary parity automata exactly characterize the star-free fragment
of omega B-regular languages; and we show that emptiness is NLOGSPACE-complete
and universality as well as language inclusion are PSPACE-complete for finitary
parity and Streett automata
- …