diff -r 8787b77c9472 -r 27b7af6a00e5 msc-projects-15.html
--- a/msc-projects-15.html Sat Nov 21 11:48:23 2015 +0000
+++ b/msc-projects-15.html Sat Nov 21 12:04:52 2015 +0000
@@ -68,8 +68,7 @@
and can “stab you in the back” according to
this blog post.
For example, if you use in Python or
- in Ruby (or also in a number of other mainstream programming languages according to this
- blog) the
+ in Ruby (or also in a number of other mainstream programming languages) the
innocently looking regular expression a?{28}a{28}
and match it, say, against the string
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
(that is 28 a
s), you will soon notice that your CPU usage goes to 100%. In fact,
Python and Ruby need approximately 30 seconds of hard work for matching this string. You can try it for yourself:
@@ -83,7 +82,7 @@
the regular expression and string further to, say, 4,600 a
s, then you get a StackOverflowError
potentially crashing your program. Moreover (beside the "minor" problem of being painfully slow) according to this
report
- nearly all POSIX regular expression matchers are actually buggy.
+ nearly all regular expression matchers using the POSIX rules are actually buggy.
@@ -124,7 +123,8 @@
Literature: The place to start with this project is obviously this - paper. + paper + and this one. Traditional methods for regular expression matching are explained in the Wikipedia articles here and @@ -621,7 +621,7 @@
- Last modified: Sat Nov 21 11:45:43 GMT 2015 + Last modified: Sat Nov 21 11:58:49 GMT 2015 [Validate this page.]