Electronic Proceedings in Theoretical Computer Science (May 2014)

Analyzing Catastrophic Backtracking Behavior in Practical Regular Expression Matching

  • Martin Berglund,
  • Frank Drewes,
  • Brink van der Merwe

DOI
https://doi.org/10.4204/EPTCS.151.7
Journal volume & issue
Vol. 151, no. Proc. AFL 2014
pp. 109 – 123

Abstract

Read online

We develop a formal perspective on how regular expression matching works in Java, a popular representative of the category of regex-directed matching engines. In particular, we define an automata model which captures all the aspects needed to study such matching engines in a formal way. Based on this, we propose two types of static analysis, which take a regular expression and tell whether there exists a family of strings which makes Java-style matching run in exponential time.