--- a/ChengsongTanPhdThesis/example.bib Fri May 20 18:52:03 2022 +0100
+++ b/ChengsongTanPhdThesis/example.bib Thu May 26 20:51:40 2022 +0100
@@ -1,24 +1,41 @@
%% This BibTeX bibliography file was created using BibDesk.
%% https://bibdesk.sourceforge.io/
-%% Created for CS TAN at 2022-03-16 16:38:47 +0000
+%% Created for CS TAN at 2022-05-23 18:43:50 +0100
%% Saved with string encoding Unicode (UTF-8)
+
+
+@article{Turo_ov__2020,
+ author = {Lenka Turo{\v{n}}ov{\'{a}} and Luk{\'{a}}{\v{s}} Hol{\'{\i}}k and Ond{\v{r}}ej Leng{\'{a}}l and Olli Saarikivi and Margus Veanes and Tom{\'{a}}{\v{s}} Vojnar},
+ date-added = {2022-05-23 18:43:04 +0100},
+ date-modified = {2022-05-23 18:43:04 +0100},
+ doi = {10.1145/3428286},
+ journal = {Proceedings of the {ACM} on Programming Languages},
+ month = {nov},
+ number = {{OOPSLA}},
+ pages = {1--30},
+ publisher = {Association for Computing Machinery ({ACM})},
+ title = {Regex matching with counting-set automata},
+ url = {https://doi.org/10.1145%2F3428286},
+ volume = {4},
+ year = 2020,
+ bdsk-url-1 = {https://doi.org/10.1145%2F3428286},
+ bdsk-url-2 = {https://doi.org/10.1145/3428286}}
+
@article{Rathnayake2014StaticAF,
- title={Static Analysis for Regular Expression Exponential Runtime via Substructural Logics},
- author={Asiri Rathnayake and Hayo Thielecke},
- journal={ArXiv},
- year={2014},
- volume={abs/1405.7058}
-}
+ author = {Asiri Rathnayake and Hayo Thielecke},
+ journal = {ArXiv},
+ title = {Static Analysis for Regular Expression Exponential Runtime via Substructural Logics},
+ volume = {abs/1405.7058},
+ year = {2014}}
@inproceedings{Weideman2017Static,
- title={Static analysis of regular expressions},
- author={Nicolaas Weideman},
- year={2017}
-}
+ author = {Nicolaas Weideman},
+ title = {Static analysis of regular expressions},
+ year = {2017}}
@inproceedings{RibeiroAgda2017,
abstract = {We describe the formalization of a regular expression (RE) parsing algorithm that produces a bit representation of its parse tree in the dependently typed language Agda. The algorithm computes bit-codes using Brzozowski derivatives and we prove that produced codes are equivalent to parse trees ensuring soundness and completeness w.r.t an inductive RE semantics. We include the certified algorithm in a tool developed by us, named verigrep, for regular expression based search in the style of the well known GNU grep. Practical experiments conducted with this tool are reported.},
@@ -63,44 +80,42 @@
journal = {arXiv:1405.7058},
title = {Static Analysis for Regular Expression Exponential Runtime via Substructural Logics},
year = {2017}}
+
@article{campeanu2003formal,
- title={A formal study of practical regular expressions},
- author={C{\^a}mpeanu, Cezar and Salomaa, Kai and Yu, Sheng},
- journal={International Journal of Foundations of Computer Science},
- volume={14},
- number={06},
- pages={1007--1018},
- year={2003},
- publisher={World Scientific}
-}
+ author = {C{\^a}mpeanu, Cezar and Salomaa, Kai and Yu, Sheng},
+ journal = {International Journal of Foundations of Computer Science},
+ number = {06},
+ pages = {1007--1018},
+ publisher = {World Scientific},
+ title = {A formal study of practical regular expressions},
+ volume = {14},
+ year = {2003}}
@article{alfred2014algorithms,
- title={Algorithms for finding patterns in strings},
- author={Alfred, V},
- journal={Algorithms and Complexity},
- volume={1},
- pages={255},
- year={2014},
- publisher={Elsevier}
-}
-
+ author = {Alfred, V},
+ journal = {Algorithms and Complexity},
+ pages = {255},
+ publisher = {Elsevier},
+ title = {Algorithms for finding patterns in strings},
+ volume = {1},
+ year = {2014}}
@article{CAMPEANU2009Intersect,
-title = {On the intersection of regex languages with regular languages},
-journal = {Theoretical Computer Science},
-volume = {410},
-number = {24},
-pages = {2336-2344},
-year = {2009},
-note = {Formal Languages and Applications: A Collection of Papers in Honor of Sheng Yu},
-issn = {0304-3975},
-doi = {https://doi.org/10.1016/j.tcs.2009.02.022},
-url = {https://www.sciencedirect.com/science/article/pii/S0304397509001789},
-author = {Cezar Câmpeanu and Nicolae Santean},
-keywords = {Extended regular expression, Regex automata system, Regex},
-abstract = {In this paper we revisit the semantics of extended regular expressions (regex), defined succinctly in the 90s [A.V. Aho, Algorithms for finding patterns in strings, in: Jan van Leeuwen (Ed.), Handbook of Theoretical Computer Science, in: Algorithms and Complexity, vol. A, Elsevier and MIT Press, 1990, pp. 255–300] and rigorously in 2003 by Câmpeanu, Salomaa and Yu [C. Câmpeanu, K. Salomaa, S. Yu, A formal study of practical regular expressions, IJFCS 14 (6) (2003) 1007–1018], when the authors reported an open problem, namely whether regex languages are closed under the intersection with regular languages. We give a positive answer; and for doing so, we propose a new class of machines — regex automata systems (RAS) — which are equivalent to regex. Among others, these machines provide a consistent and convenient method of implementing regex in practice. We also prove, as a consequence of this closure property, that several languages, such as the mirror language, the language of palindromes, and the language of balanced words are not regex languages.}
-}
-
+ abstract = {In this paper we revisit the semantics of extended regular expressions (regex), defined succinctly in the 90s [A.V. Aho, Algorithms for finding patterns in strings, in: Jan van Leeuwen (Ed.), Handbook of Theoretical Computer Science, in: Algorithms and Complexity, vol. A, Elsevier and MIT Press, 1990, pp. 255--300] and rigorously in 2003 by C{\^a}mpeanu, Salomaa and Yu [C. C{\^a}mpeanu, K. Salomaa, S. Yu, A formal study of practical regular expressions, IJFCS 14 (6) (2003) 1007--1018], when the authors reported an open problem, namely whether regex languages are closed under the intersection with regular languages. We give a positive answer; and for doing so, we propose a new class of machines --- regex automata systems (RAS) --- which are equivalent to regex. Among others, these machines provide a consistent and convenient method of implementing regex in practice. We also prove, as a consequence of this closure property, that several languages, such as the mirror language, the language of palindromes, and the language of balanced words are not regex languages.},
+ author = {Cezar C{\^a}mpeanu and Nicolae Santean},
+ doi = {https://doi.org/10.1016/j.tcs.2009.02.022},
+ issn = {0304-3975},
+ journal = {Theoretical Computer Science},
+ keywords = {Extended regular expression, Regex automata system, Regex},
+ note = {Formal Languages and Applications: A Collection of Papers in Honor of Sheng Yu},
+ number = {24},
+ pages = {2336-2344},
+ title = {On the intersection of regex languages with regular languages},
+ url = {https://www.sciencedirect.com/science/article/pii/S0304397509001789},
+ volume = {410},
+ year = {2009},
+ bdsk-url-1 = {https://www.sciencedirect.com/science/article/pii/S0304397509001789},
+ bdsk-url-2 = {https://doi.org/10.1016/j.tcs.2009.02.022}}
@article{nielson11bcre,
author = {Lasse Nielsen, Fritz Henglein},
@@ -110,6 +125,7 @@
title = {Bit-coded Regular Expression Parsing},
year = {2011},
bdsk-file-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA1Li4vLi4vLi4vTXkgTWFjIChNYWNCb29rLVBybykvRGVza3RvcC9mcml0ei1wYXBlci5wZGZPEQF+AAAAAAF+AAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAAAAAAAAQkQAAf////8PZnJpdHotcGFwZXIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAADAAMAAAogY3UAAAAAAAAAAAAAAAAAB0Rlc2t0b3AAAAIAQi86VXNlcnM6Y3N0YW46RHJvcGJveDpNeSBNYWMgKE1hY0Jvb2stUHJvKTpEZXNrdG9wOmZyaXR6LXBhcGVyLnBkZgAOACAADwBmAHIAaQB0AHoALQBwAGEAcABlAHIALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEBVc2Vycy9jc3Rhbi9Ecm9wYm94L015IE1hYyAoTWFjQm9vay1Qcm8pL0Rlc2t0b3AvZnJpdHotcGFwZXIucGRmABMAAS8AABUAAgAM//8AAAAIAA0AGgAkAFwAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAB3g==}}
+
@software{regexploit2021,
author = {Ben Caller, Luca Carettoni},
date-added = {2020-11-24 00:00:00 +0000},
@@ -118,36 +134,38 @@
month = {May},
title = {regexploit},
url = {https://github.com/doyensec/regexploit},
- year = {2021}
-}
-
+ year = {2021},
+ bdsk-url-1 = {https://github.com/doyensec/regexploit}}
+
@misc{KuklewiczHaskell,
- title = {Regex Posix},
author = {Kuklewicz},
keywords = {Buggy C POSIX Lexing Libraries},
+ title = {Regex Posix},
url = {https://wiki.haskell.org/Regex_Posix},
- year = {2017}
-}
+ year = {2017},
+ bdsk-url-1 = {https://wiki.haskell.org/Regex_Posix}}
+
@misc{regex101,
- title = {regex101},
author = {Firas Dib},
- year = {2011},
+ keywords = {regex tester debugger},
+ title = {regex101},
url = {https://regex101.com/},
- keywords = {regex tester debugger}
-}
+ year = {2011},
+ bdsk-url-1 = {https://regex101.com/}}
+
@misc{atomEditor,
+ author = {Dunno},
+ keywords = {text editor},
title = {Atom Editor},
- author = {Dunno},
+ url = {https://atom.io},
year = {2022},
- url = {https://atom.io},
- keywords = {text editor}
-}
+ bdsk-url-1 = {https://atom.io}}
+
@techreport{grathwohl2014crash,
- title={A Crash-Course in Regular Expression Parsing and Regular Expressions as Types},
- author={Grathwohl, Niels Bj{\o}rn Bugge and Henglein, Fritz and Rasmussen, Ulrik Terp},
- year={2014},
- institution={Technical report, University of Copenhagen}
-}
+ author = {Grathwohl, Niels Bj{\o}rn Bugge and Henglein, Fritz and Rasmussen, Ulrik Terp},
+ institution = {Technical report, University of Copenhagen},
+ title = {A Crash-Course in Regular Expression Parsing and Regular Expressions as Types},
+ year = {2014}}
@misc{SE16,
author = {StackStatus},