slides/slides02.tex
changeset 118 6a5b59690f7d
parent 117 25999de692b2
child 119 a6684e8961d0
equal deleted inserted replaced
117:25999de692b2 118:6a5b59690f7d
   377 \end{frame}}
   377 \end{frame}}
   378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   379 
   379 
   380 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   380 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   381 \mode<presentation>{
   381 \mode<presentation>{
       
   382 \begin{frame}[c]
       
   383 \frametitle{\begin{tabular}{c}Evil Regular Expressions\end{tabular}}
       
   384 
       
   385 \begin{itemize}
       
   386 \item \alert{R}egular \alert{e}xpression \alert{D}enial \alert{o}f \alert{S}ervice (ReDoS)\bigskip
       
   387 \item Evil regular expressions\medskip
       
   388 \begin{itemize}
       
   389 \item \bl{$(a?\{n\}) \cdot a\{n\}$}
       
   390 \item \bl{$(a^+)^+$}
       
   391 \item \bl{$([a$\,-\,$z]^+)^*$}
       
   392 \item \bl{$(a + a \cdot a)^+$}
       
   393 \item \bl{$(a + a?)^+$}
       
   394 \end{itemize}
       
   395 \end{itemize}
       
   396 
       
   397 \end{frame}}
       
   398 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   399 
       
   400 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   401 \mode<presentation>{
   382 \begin{frame}[t]
   402 \begin{frame}[t]
   383 \frametitle{\begin{tabular}{c}A Matching Algorithm\end{tabular}}
   403 \frametitle{\begin{tabular}{c}A Matching Algorithm\end{tabular}}
   384 
   404 
   385 \small
   405 \small
   386 \ldots{}whether a regular expression can match the empty string:
   406 \ldots{}whether a regular expression can match the empty string: