ChengsongTanPhdThesis/Chapters/Introduction.tex
changeset 628 7af4e2420a8c
parent 622 4b1149fb5aec
child 630 d50a309a0645
equal deleted inserted replaced
627:94db2636a296 628:7af4e2420a8c
   701 can be challenging
   701 can be challenging
   702 and un-intuitive. 
   702 and un-intuitive. 
   703 Therefore, we take correctness and runtime claims made about these solutions
   703 Therefore, we take correctness and runtime claims made about these solutions
   704 with a grain of salt.
   704 with a grain of salt.
   705 
   705 
   706 In the work reported in \cite{CSL2022} and here, 
   706 In the work reported in \cite{FoSSaCS2023} and here, 
   707 we add better support using derivatives
   707 we add better support using derivatives
   708 for bounded regular expressions $r^{\{n\}}$.
   708 for bounded regular expressions $r^{\{n\}}$.
   709 The results
   709 The results
   710 extend straightforwardly to
   710 extend straightforwardly to
   711 repetitions with an interval such as 
   711 repetitions with an interval such as 
   907 The POSIX strategy is widely adopted in many regular expression matchers.
   907 The POSIX strategy is widely adopted in many regular expression matchers.
   908 However, many implementations (including the C libraries
   908 However, many implementations (including the C libraries
   909 used by Linux and OS X distributions) contain bugs
   909 used by Linux and OS X distributions) contain bugs
   910 or do not meet the specification they claim to adhere to.
   910 or do not meet the specification they claim to adhere to.
   911 Kuklewicz maintains a unit test repository which lists some
   911 Kuklewicz maintains a unit test repository which lists some
   912 problems with existing regular expression engines \ref{KuklewiczHaskell}.
   912 problems with existing regular expression engines \cite{KuklewiczHaskell}.
   913 In some cases, they either fail to generate a
   913 In some cases, they either fail to generate a
   914 result when there exists a match,
   914 result when there exists a match,
   915 or give results that are inconsistent with the POSIX standard.
   915 or give results that are inconsistent with the POSIX standard.
   916 A concrete example is the regex:
   916 A concrete example is the regex:
   917 \begin{center}
   917 \begin{center}