English

Bouma2 - A Quasi-Stateless, Tunable Multiple String-Match Algorithm

Data Structures and Algorithms 2012-09-21 v1

Abstract

The Bouma2 algorithm attempts to challenge the prevalent "stateful" exact string-match paradigms by suggesting a "quasi-stateless" approach. We claim that using state-machines to solve the multiple exact string-match problem introduces a hidden artificial constraint, namely the Consume-Order Dependency, which results in unnecessary overhead. Bouma2 is not restricted in this sense; we postulate that this allows memory-efficiency and improved performance versus its state-machine equivalents. The heart of the Bouma2 preprocessing problem is formulated as a weighted Integer Linear Programming problem, that can be tuned for memory footprint and performance optimization. Specifically, this allows Bouma2 to be input-sensitive, as tuning can be based on input characteristics. Evaluating Bouma2 against the Aho-Corasick variant of the popular Snort Intrusion Prevention System, we demonstrate double the throughput while using about 10% of the memory.

Keywords

Cite

@article{arxiv.1209.4554,
  title  = {Bouma2 - A Quasi-Stateless, Tunable Multiple String-Match Algorithm},
  author = {Erez M. Buchnik},
  journal= {arXiv preprint arXiv:1209.4554},
  year   = {2012}
}

Comments

33 pages, 3 figures

R2 v1 2026-06-21T22:08:31.546Z