Intelligent and Efficient Grouping Algorithms for Large-Scale Regular Expressions

Zhe Fu,Kai Wang,Liangwei Cai,Jun Li
DOI: https://doi.org/10.1016/j.compeleceng.2018.03.040
IF: 4.152
2018-01-01
Computers & Electrical Engineering
Abstract:Regular expressions are widely used in various applications. Due to its low time complexity and stable performance, Deterministic Finite Automaton (DFA) has become the first choice to perform fast regular expression matching. Unfortunately, compiling a large set of regular expressions into one DFA often leads to the well-known state explosion problem, and consequently requires huge memory consumption. Regular expression grouping is a practical approach to mitigate this problem. However, existing grouping algorithms are either brute-force or locally optimal and thus not efficient for large-scale regular expressions. In this paper, we propose two grouping algorithms, namely Reevo and Reant, to solve this problem intelligently and efficiently. In addition, two optimization methods are presented to accelerate the convergence speed and reduce the running time of proposed algorithms. Experimental results on large-scale rulesets from real world show that our algorithms achieve around 25% to 45% improvement compared to previous regular expression grouping algorithms.
What problem does this paper attempt to address?