vix.ing · top · new · best · stats · spec

Optimizing Regular Expressions via Rewrite-Guided Synthesis

2021/04/24 by Jedidiah McClurg, Miles Claver, McClurg, Jedidiah +8
Computer Science · #Advanced Malware Detection Techniques #FOS: Computer and information sciences #Network Packet Processing and Optimization #Programming Languages (cs.PL) #Security and Verification in Computing

paper · pdf · doi:10.48550/arxiv.2104.12039

openalex publication_date 2021/04/24 · openalex created_date 2022/07/25 · openalex updated_date 2026/07/28

Abstract

Regular expressions are pervasive in modern systems. Many real-world regular expressions are inefficient, sometimes to the extent that they are vulnerable to complexity-based attacks, and while much research has focused on detecting inefficient regular expressions or accelerating regular expression matching at the hardware level, we investigate automatically transforming regular expressions to remove inefficiencies. We reduce this problem to general expression optimization, an important task necessary in a variety of domains even beyond compilers, e.g., digital logic design, etc. Syntax-guided synthesis (SyGuS) with a cost function can be used for this purpose, but ordered enumeration through a large space of candidate expressions can be prohibitively expensive. Equality saturation is an alternative approach which allows efficient construction and maintenance of expression equivalence classes generated by rewrite rules, but the procedure may not reach saturation, meaning global minimality cannot be confirmed. We present a new approach called rewrite-guided synthesis (ReGiS), in which a unique interplay between SyGuS and equality saturation-based rewriting helps to overcome these problems, resulting in an efficient, scalable framework for expression optimization.

Related