diff -r d50a309a0645 -r bdb3ffdd39f8 ChengsongTanPhdThesis/Chapters/RelatedWork.tex --- a/ChengsongTanPhdThesis/Chapters/RelatedWork.tex Mon Dec 05 17:39:10 2022 +0000 +++ b/ChengsongTanPhdThesis/Chapters/RelatedWork.tex Thu Dec 08 00:19:56 2022 +0000 @@ -120,11 +120,16 @@ causes the transitivity of their ordering to not go through. -\subsection{Static Analysis of Evil Regex Patterns} -When a regular expression does not behave as intended, -people usually try to rewrite the regex to some equivalent form +When a regular expression engine does not behave as intended (for example, +getting excruciatingly slow on +a relatively simple regex pattern $(a^*)^*b$ +and a string $a\ldots a$ that is obviously +not part of that regex) +programmers usually try to rewrite the regex to some equivalent form. + or they try to avoid the possibly problematic patterns completely, for which many false positives exist\parencite{Davis18}. +\subsection{Static Analysis of Evil Regex Patterns} Animated tools to "debug" regular expressions such as \parencite{regexploit2021} \parencite{regex101} are also popular. We are also aware of static analysis work on regular expressions that