Regular expression inference (REI) is a supervised machine learning and program synthesis problem that takes a cost metric for regular expressions, and positive and negative examples of strings as input. It outputs a regular expression that is precise (i.e., accepts all positive and rejects all negative examples), and minimal w.r.t. to the cost metric. We present a novel algorithm for REI over arbitrary alphabets that is enumerative and trades off time for space. Our main algorithmic idea is to implement the search space of regular expressions succinctly as a contiguous matrix of bitvectors. Collectively, the bitvectors represent, as characteristic sequences, all sub-languages of the infix-closure of the union of positive and negative examples. Mathematically, this is a semiring of (a variant of) formal power series. Infix-closure enables bottom-up compositional construction of larger from smaller regular expressions using the operations of our semiring. This minimises data movement and data-dependent branching, hence maximises data-parallelism. In addition, the infix-closure remains unchanged during the search, hence search can be staged: first pre-compute various expensive operations, and then run the compute intensive search process. We provide two C++ implementations, one for general purpose CPUs and one for Nvidia GPUs (using CUDA). We benchmark both on Google Colab Pro: the GPU implementation is on average over 1000x faster than the CPU implementation on the hardest benchmarks.
Wed 21 JunDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 18:00 | PLDI: Parsing & Formal LanguagesPLDI Research Papers at Cypress 2 Chair(s): Eric Eide University of Utah | ||
16:00 20mTalk | Search-Based Regular Expression Inference on a GPU PLDI Research Papers DOI Pre-print | ||
16:20 20mTalk | Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics PLDI Research Papers Dan Moseley Microsoft DevDiv, Mario Nishio Microsoft Azure, Jose Perez Rodriguez Microsoft DevDiv, Olli Saarikivi Microsoft Research, Redmond, Stephen Toub Microsoft DevDiv, Margus Veanes Microsoft, Tiki Wan Microsoft Azure, Eric Xu Microsoft, USA DOI | ||
16:40 20mTalk | Repairing Regular Expressions for Extraction PLDI Research Papers DOI | ||
17:00 20mTalk | Recursive State Machine Guided Graph Folding for Context-Free Language Reachability PLDI Research Papers Yuxiang Lei University of New South Wales, Yulei Sui University of New South Wales, Sydney, Shin Hwei Tan Concordia University, Qirun Zhang Georgia Institute of Technology DOI | ||
17:20 20mTalk | Interval Parsing Grammars for File Format Parsing PLDI Research Papers Jialun Zhang Pennsylvania State University, Greg Morrisett Cornell University, Gang (Gary) Tan Pennsylvania State University DOI | ||
17:40 20mTalk | flap: A Deterministic Parser with Fused Lexing PLDI Research Papers Jeremy Yallop University of Cambridge, Ningning Xie University of Toronto, Neel Krishnaswami University of Cambridge DOI Pre-print |