|      1 <?xml version="1.0" encoding="utf-8"?> |      1 <?xml version="1.0" encoding="utf-8"?> | 
|      2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |      2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 
|      3 <HEAD> |      3 <HEAD> | 
|      4 <TITLE>2014/15 BSc Projects</TITLE> |      4 <TITLE>2014/15 BSc Projects</TITLE> | 
|      5 <BASE HREF="http://www.inf.kcl.ac.uk/staff/urbanc/"> |      5 <BASE HREF="http://nms.kcl.ac.uk/christian.urban/"> | 
|      6 <script type="text/javascript" src="striper.js"></script> |      6 <script type="text/javascript" src="striper.js"></script> | 
|      7 <link rel="stylesheet" href="nominal.css"> |      7 <link rel="stylesheet" href="nominal.css"> | 
|      8 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> |      8 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> | 
|      9 </script> |      9 </script> | 
|     10 </HEAD> |     10 </HEAD> | 
|    105   above claim they are even faster than me and can deal with even more features of regular expressions |    105   above claim they are even faster than me and can deal with even more features of regular expressions | 
|    106   (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought |    106   (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought | 
|    107   about the problem much longer than a single afternoon. The task  |    107   about the problem much longer than a single afternoon. The task  | 
|    108   in this project is to find out how good they actually are by implementing the results from their paper.  |    108   in this project is to find out how good they actually are by implementing the results from their paper.  | 
|    109   Their approach is based on the concept of derivatives. |    109   Their approach is based on the concept of derivatives. | 
|    110   I used them once myself in a <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/rexp.pdf">paper</A>  |    110   I used them once myself in a <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/rexp.pdf">paper</A>  | 
|    111   in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. |    111   in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. | 
|    112   So I know they are worth their money. Still, it would be interesting to actually compare their results |    112   So I know they are worth their money. Still, it would be interesting to actually compare their results | 
|    113   with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers  |    113   with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers  | 
|    114   in Python and Ruby (and possibly in Scala too). The application would be to implement a fast lexer for |    114   in Python and Ruby (and possibly in Scala too). The application would be to implement a fast lexer for | 
|    115   programming languages.  |    115   programming languages.  | 
|    460   in a "self-3d-printed" watch) to a Raspberry Pi seen in the background. The Arduino takes meaurements of  |    460   in a "self-3d-printed" watch) to a Raspberry Pi seen in the background. The Arduino takes meaurements of  | 
|    461   heart rate and body temperature; the Raspberry Pi collects this data and makes it accessible via a simple |    461   heart rate and body temperature; the Raspberry Pi collects this data and makes it accessible via a simple | 
|    462   web-service. |    462   web-service. | 
|    463   <center> |    463   <center> | 
|    464   <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |    464   <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; | 
|    465   "src="http://www.inf.kcl.ac.uk/staff/urbanc/rpi-photo.jpg" width="209" height="313"> |    465   "src="http://nms.kcl.ac.uk/christian.urban/rpi-photo.jpg" width="209" height="313"> | 
|    466  |    466  | 
|    467   <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |    467   <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; | 
|    468   "src="http://www.inf.kcl.ac.uk/staff/urbanc/rpi-watch.jpg" width="450" height="254"> |    468   "src="http://nms.kcl.ac.uk/christian.urban/rpi-watch.jpg" width="450" height="254"> | 
|    469   </center> |    469   </center> | 
|    470   </p> |    470   </p> | 
|    471  |    471  | 
|    472 <li> <H4>[CU6] Generating Testcases from a Specification</H4> |    472 <li> <H4>[CU6] Generating Testcases from a Specification</H4> | 
|    473  |    473  | 
|    593  algorithm switched on and it almost caused a catastrophic mission failure (see |    593  algorithm switched on and it almost caused a catastrophic mission failure (see | 
|    594  this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> |    594  this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> | 
|    595  for an explanation what happened). |    595  for an explanation what happened). | 
|    596  We were able to prove the correctness of this algorithm, but were also able to |    596  We were able to prove the correctness of this algorithm, but were also able to | 
|    597  establish the correctness of some optimisations in this |    597  establish the correctness of some optimisations in this | 
|    598  <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/pip.pdf">paper</A>. |    598  <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/pip.pdf">paper</A>. | 
|    599  </p> |    599  </p> | 
|    600  |    600  | 
|    601  <p>On a much smaller scale, there are a few small programs and underlying algorithms where it |    601  <p>On a much smaller scale, there are a few small programs and underlying algorithms where it | 
|    602  is not really understood whether they always compute a correct result (for example the |    602  is not really understood whether they always compute a correct result (for example the | 
|    603  regular expression matcher by Sulzmann and Lu in project [CU1]). The aim of this |    603  regular expression matcher by Sulzmann and Lu in project [CU1]). The aim of this | 
|    611   </p> |    611   </p> | 
|    612  |    612  | 
|    613 <li> <H4>Earlier Projects</H4> |    613 <li> <H4>Earlier Projects</H4> | 
|    614  |    614  | 
|    615  I am also open to project suggestions from you. You might find some inspiration from my earlier projects: |    615  I am also open to project suggestions from you. You might find some inspiration from my earlier projects: | 
|    616  <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/bsc-projects-12.html">BSc 2012/13</A>,  |    616  <A HREF="http://nms.kcl.ac.uk/christian.urban/bsc-projects-12.html">BSc 2012/13</A>,  | 
|    617  <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/msc-projects-12.html">MSc 2012/13</A>,  |    617  <A HREF="http://nms.kcl.ac.uk/christian.urban/msc-projects-12.html">MSc 2012/13</A>,  | 
|    618  <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/bsc-projects-13.html">BSc 2013/14</A>  |    618  <A HREF="http://nms.kcl.ac.uk/christian.urban/bsc-projects-13.html">BSc 2013/14</A>  | 
|    619 </ul> |    619 </ul> | 
|    620 </TD> |    620 </TD> | 
|    621 </TR> |    621 </TR> | 
|    622 </TABLE> |    622 </TABLE> | 
|    623  |    623  |