Regex Matching with Counting-Set Automata
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F00216305%3A26230%2F20%3APU138885" target="_blank" >RIV/00216305:26230/20:PU138885 - isvavai.cz</a>
Result on the web
<a href="https://www.microsoft.com/en-us/research/uploads/prod/2020/09/MSR-TR-2020-31.pdf" target="_blank" >https://www.microsoft.com/en-us/research/uploads/prod/2020/09/MSR-TR-2020-31.pdf</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1145/3428286" target="_blank" >10.1145/3428286</a>
Alternative languages
Result language
angličtina
Original language name
Regex Matching with Counting-Set Automata
Original language description
We propose a solution to the problem of efficient matching regular expressions (regexes) with bounded repetition, such as (ab){1,100}, using deterministic automata. For this, we introduce novel counting-set automata (CsAs), automata with registers that can hold sets of bounded integers and can be manipulated by a limited portfolio of constant-time operations. We present an algorithm that compiles a large sub-class of regexes to deterministic CsAs. This includes (1) a novel Antimirov-style translation of regexes with counting to counting automata (CAs), nondeterministic automata with bounded counters, and (2) our main technical contribution, a determinization of CAs that outputs CsAs. The main advantage of this workflow is that the size of the produced CsAs does not depend on the repetition bounds used in the regex (while the size of the DFA is exponential to them). Our experimental results confirm that deterministic CsAs produced from practical regexes with repetition are indeed vastly smaller than the corresponding DFAs. More importantly, our prototype matcher based on CsA simulation handles practical regexes with repetition regardless of sizes of counter bounds. It easily copes with regexes with repetition where state-of-the-art matchers struggle.
Czech name
—
Czech description
—
Classification
Type
J<sub>imp</sub> - Article in a specialist periodical, which is included in the Web of Science database
CEP classification
—
OECD FORD branch
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Result continuities
Project
<a href="/en/project/LL1908" target="_blank" >LL1908: Efficient Finite Automata for Automated Reasoning</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)<br>S - Specificky vyzkum na vysokych skolach
Others
Publication year
2020
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Name of the periodical
Proceedings of the ACM on Programming Languages
ISSN
2475-1421
e-ISSN
—
Volume of the periodical
4
Issue of the periodical within the volume
11
Country of publishing house
US - UNITED STATES
Number of pages
30
Pages from-to
1-30
UT code for WoS article
000685203900095
EID of the result in the Scopus database
2-s2.0-85097577301