~/talk

Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics

Talkat PLDI 2023 · 2023-06-17..06-21· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
name:Tiki Wan
links:none on file
name:Eric Xu
links:none on file
slides:none on file

A derivative-based algorithm produces input-linear matching without actual backtracking while preserving PC (backtracking) semantics and supporting anchors and counting; it ships as a new .NET regex backend in .NET7, implements a regex rewrite system plus BDD-based alphabet compression for Unicode, caches lazily built location-derivative states, falls back to NFA when needed, and undergoes thousands of tests and industrial benchmarks (including CredScan) that show fewer pathological outliers; the implementation comes with what authors claim is the first industrial proof of correctness.

AI-written summary · about

  1. 0:00Introduction
  2. 0:45Matching algorithms trade-offs
  3. 2:21Non-backtracking engine in .NET
  4. 3:48Regex syntax semantics
  5. 5:34Key innovations
  6. 7:20Unicode compression with BDDs
  7. 8:45Derivatives and caching
  8. 10:13Anchors alternation challenges
  9. 11:39Backtracking simulation
  10. 13:27Integration into .NET
  11. 14:10Benchmark results
  12. 15:37Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.