Implementing BREeze - a High-Performance Regular Expression Library Using Code Generation with BuildIt
Author(s)
Mitrovska, Tamara
DownloadThesis PDF (563.8Kb)
Advisor
Amarasinghe, Saman
Terms of use
Metadata
Show full item recordAbstract
Regular expression matching is a very common problem in software engineering, with applications in text processing, text searching, data scraping, syntax highlighting, deep packet inspection in networks, etc. Due to the varying complexity of regular expressions, having one general approach to match all types of expressions is usually not enough to get the needed performance for software applications. Many modern regular expression engines have tried to solve this problem by combining different algorithms and optimization techniques, which in most cases result in very complicated and large codebases. As a result, we introduce BREeze, a fully functional regular expression library implemented in just around 1500 lines of code with comparable performance to the modern regular expression engines. BREeze is implemented on top of BuildIt, a multi-stage code generation framework that makes it possible to generate high-performance, specialized code while keeping the implementation simple.
Date issued
2023-06Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology