Abstract
This paper presents an algorithm for a regular expressions pattern matching system. The goal was to achieve better performance and low energy consumption. The proposed scheme is particularly useful when a large set of complex regular expression patterns must be inspected in parallel (e.g. in computer malware and anti-virus systems). The idea of the algorithm derives from a concept of the Bloom filter algorithm. The Bloom filter operation is used to inspect an incoming data and to find static sub-patterns of regular expressions. When the Bloom filter reports a match, a closer inspection is performed. The Bloom filtering is done by a hardware dedicated co-processor. The regular expressions’ wildcard matching part is executed by a CPU. The above concept was implemented and tested on the Xilinx Zynq-7000 All Programmable SoC platform. The results and performance for regular expressions patterns from the ClamAV virus database is given.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have