{"id":"https://openalex.org/W2760683747","doi":"https://doi.org/10.1145/3129416.3129440","title":"Turning evil regexes harmless","display_name":"Turning evil regexes harmless","publication_year":2017,"publication_date":"2017-09-25","ids":{"openalex":"https://openalex.org/W2760683747","doi":"https://doi.org/10.1145/3129416.3129440","mag":"2760683747"},"language":"en","primary_location":{"id":"doi:10.1145/3129416.3129440","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3129416.3129440","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the South African Institute of Computer Scientists and Information Technologists","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5000026394","display_name":"Brink van der Merwe","orcid":"https://orcid.org/0000-0001-5010-9934"},"institutions":[{"id":"https://openalex.org/I26092322","display_name":"Stellenbosch University","ror":"https://ror.org/05bk57929","country_code":"ZA","type":"education","lineage":["https://openalex.org/I26092322"]}],"countries":["ZA"],"is_corresponding":true,"raw_author_name":"Brink van der Merwe","raw_affiliation_strings":["Stellenbosch University, Stellenbosch, South Africa"],"affiliations":[{"raw_affiliation_string":"Stellenbosch University, Stellenbosch, South Africa","institution_ids":["https://openalex.org/I26092322"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076483970","display_name":"Nicolaas Weideman","orcid":"https://orcid.org/0000-0002-4000-1193"},"institutions":[{"id":"https://openalex.org/I26092322","display_name":"Stellenbosch University","ror":"https://ror.org/05bk57929","country_code":"ZA","type":"education","lineage":["https://openalex.org/I26092322"]}],"countries":["ZA"],"is_corresponding":false,"raw_author_name":"Nicolaas Weideman","raw_affiliation_strings":["Stellenbosch University, Stellenbosch, South Africa"],"affiliations":[{"raw_affiliation_string":"Stellenbosch University, Stellenbosch, South Africa","institution_ids":["https://openalex.org/I26092322"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028862129","display_name":"Martin Berglund","orcid":"https://orcid.org/0000-0002-3692-6994"},"institutions":[{"id":"https://openalex.org/I26092322","display_name":"Stellenbosch University","ror":"https://ror.org/05bk57929","country_code":"ZA","type":"education","lineage":["https://openalex.org/I26092322"]}],"countries":["ZA"],"is_corresponding":false,"raw_author_name":"Martin Berglund","raw_affiliation_strings":["Stellenbosch University, Stellenbosch, South Africa"],"affiliations":[{"raw_affiliation_string":"Stellenbosch University, Stellenbosch, South Africa","institution_ids":["https://openalex.org/I26092322"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5000026394"],"corresponding_institution_ids":["https://openalex.org/I26092322"],"apc_list":null,"apc_paid":null,"fwci":1.5898,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.85342247,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"10"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11567","display_name":"semigroups and automata theory","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11567","display_name":"semigroups and automata theory","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/ambiguity","display_name":"Ambiguity","score":0.9137308597564697},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.696496844291687},{"id":"https://openalex.org/keywords/focus","display_name":"Focus (optics)","score":0.6498236656188965},{"id":"https://openalex.org/keywords/backtracking","display_name":"Backtracking","score":0.6488568782806396},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.6067144274711609},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5763789415359497},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.5405802130699158},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4648503363132477},{"id":"https://openalex.org/keywords/nondeterministic-finite-automaton","display_name":"Nondeterministic finite automaton","score":0.45074066519737244},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4438353478908539},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4191008508205414},{"id":"https://openalex.org/keywords/exponential-function","display_name":"Exponential function","score":0.4164976477622986},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3541344106197357},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.32510024309158325},{"id":"https://openalex.org/keywords/automata-theory","display_name":"Automata theory","score":0.28659021854400635},{"id":"https://openalex.org/keywords/statistics","display_name":"Statistics","score":0.06565201282501221},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.05952948331832886}],"concepts":[{"id":"https://openalex.org/C2780522230","wikidata":"https://www.wikidata.org/wiki/Q1140419","display_name":"Ambiguity","level":2,"score":0.9137308597564697},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.696496844291687},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.6498236656188965},{"id":"https://openalex.org/C156884757","wikidata":"https://www.wikidata.org/wiki/Q798554","display_name":"Backtracking","level":2,"score":0.6488568782806396},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.6067144274711609},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5763789415359497},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.5405802130699158},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4648503363132477},{"id":"https://openalex.org/C158008952","wikidata":"https://www.wikidata.org/wiki/Q617295","display_name":"Nondeterministic finite automaton","level":4,"score":0.45074066519737244},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4438353478908539},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4191008508205414},{"id":"https://openalex.org/C151376022","wikidata":"https://www.wikidata.org/wiki/Q168698","display_name":"Exponential function","level":2,"score":0.4164976477622986},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3541344106197357},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.32510024309158325},{"id":"https://openalex.org/C116248031","wikidata":"https://www.wikidata.org/wiki/Q214526","display_name":"Automata theory","level":3,"score":0.28659021854400635},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.06565201282501221},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.05952948331832886},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3129416.3129440","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3129416.3129440","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the South African Institute of Computer Scientists and Information Technologists","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W78239629","https://openalex.org/W87129872","https://openalex.org/W1563402047","https://openalex.org/W1578526383","https://openalex.org/W1813069714","https://openalex.org/W2097461793","https://openalex.org/W2099540492","https://openalex.org/W2105956753","https://openalex.org/W2167473451","https://openalex.org/W2295332227","https://openalex.org/W2506796853","https://openalex.org/W2507469946","https://openalex.org/W3146438627"],"related_works":["https://openalex.org/W4249650827","https://openalex.org/W2090734721","https://openalex.org/W2089404966","https://openalex.org/W3094387502","https://openalex.org/W2115419634","https://openalex.org/W3143588635","https://openalex.org/W2089302579","https://openalex.org/W1990473086","https://openalex.org/W1644613146","https://openalex.org/W2481495589"],"abstract_inverted_index":{"We":[0,27,49],"explore":[1],"the":[2,12,16,25,32],"relationship":[3],"between":[4],"ambiguity":[5,43,46,57],"in":[6,29],"automata":[7],"and":[8,15],"regular":[9,21,59,68],"expressions":[10,69],"on":[11,24,31],"one":[13],"hand,":[14],"matching":[17],"time":[18],"of":[19,42],"backtracking":[20],"expression":[22],"matchers":[23],"other.":[26],"focus":[28],"particular":[30],"extreme":[33],"cases":[34],"where":[35],"we":[36],"have":[37],"either":[38],"an":[39],"exponential":[40],"amount":[41],"or":[44,55],"no":[45],"at":[47],"all.":[48],"also":[50],"investigate":[51],"techniques":[52],"to":[53,66],"reduce":[54],"remove":[56],"from":[58],"expressions,":[60],"which":[61,70],"can":[62],"then":[63],"be":[64,72],"used":[65],"transform":[67],"might":[71],"exploited":[73],"by":[74],"using":[75],"algorithmic":[76],"complexity,":[77],"into":[78],"harmless":[79],"equivalent":[80],"expressions.":[81]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
