{"id":"https://openalex.org/W7166301671","doi":"https://doi.org/10.4204/eptcs.446.1","title":"Selective Memoization for Efficient Backtracking Regular Expression Matching","display_name":"Selective Memoization for Efficient Backtracking Regular Expression Matching","publication_year":2026,"publication_date":"2026-06-25","ids":{"openalex":"https://openalex.org/W7166301671","doi":"https://doi.org/10.4204/eptcs.446.1"},"language":"en","primary_location":{"id":"doi:10.4204/eptcs.446.1","is_oa":true,"landing_page_url":"https://doi.org/10.4204/eptcs.446.1","pdf_url":null,"source":{"id":"https://openalex.org/S4210216316","display_name":"Electronic Proceedings in Theoretical Computer Science","issn_l":"2075-2180","issn":["2075-2180"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310318029","host_organization_name":"Open Publishing Association","host_organization_lineage":["https://openalex.org/P4310318029"],"host_organization_lineage_names":["Open Publishing Association"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Proceedings in Theoretical Computer Science","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref","doaj"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.4204/eptcs.446.1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5028862129","display_name":"Martin Berglund","orcid":"https://orcid.org/0000-0002-3692-6994"},"institutions":[{"id":"https://openalex.org/I90267481","display_name":"Ume\u00e5 University","ror":"https://ror.org/05kb8h459","country_code":"SE","type":"education","lineage":["https://openalex.org/I90267481"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Martin Berglund","raw_affiliation_strings":["Ume\u00e5 University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ume\u00e5 University","institution_ids":["https://openalex.org/I90267481"]}]},{"author_position":"middle","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":false,"raw_author_name":"Brink van der Merwe","raw_affiliation_strings":["Stellenbosch University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stellenbosch University","institution_ids":["https://openalex.org/I26092322"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5139466650","display_name":"Iain le Roux","orcid":null},"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":"Iain le Roux","raw_affiliation_strings":["Stellenbosch University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stellenbosch University","institution_ids":["https://openalex.org/I26092322"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.70593744,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"446","issue":null,"first_page":"1","last_page":"17"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.2831000089645386,"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"}},"topics":[{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.2831000089645386,"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/T11567","display_name":"semigroups and automata theory","score":0.2167000025510788,"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/T12072","display_name":"Machine Learning and Algorithms","score":0.14069999754428864,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/memoization","display_name":"Memoization","score":0.9678999781608582},{"id":"https://openalex.org/keywords/backtracking","display_name":"Backtracking","score":0.8080000281333923},{"id":"https://openalex.org/keywords/look-ahead","display_name":"Look-ahead","score":0.5590999722480774},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.5084999799728394},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4724999964237213},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4438999891281128},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.39419999718666077},{"id":"https://openalex.org/keywords/reachability","display_name":"Reachability","score":0.37599998712539673},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.3481999933719635}],"concepts":[{"id":"https://openalex.org/C79516417","wikidata":"https://www.wikidata.org/wiki/Q1376168","display_name":"Memoization","level":4,"score":0.9678999781608582},{"id":"https://openalex.org/C156884757","wikidata":"https://www.wikidata.org/wiki/Q798554","display_name":"Backtracking","level":2,"score":0.8080000281333923},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7871000170707703},{"id":"https://openalex.org/C147297375","wikidata":"https://www.wikidata.org/wiki/Q6674930","display_name":"Look-ahead","level":2,"score":0.5590999722480774},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.5084999799728394},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4851999878883362},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4724999964237213},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.46880000829696655},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4438999891281128},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.39419999718666077},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.37599998712539673},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.3481999933719635},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.3476000130176544},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.3240000009536743},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.31540000438690186},{"id":"https://openalex.org/C80899671","wikidata":"https://www.wikidata.org/wiki/Q1304193","display_name":"Vertex (graph theory)","level":3,"score":0.3093999922275543},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.305400013923645},{"id":"https://openalex.org/C151376022","wikidata":"https://www.wikidata.org/wiki/Q168698","display_name":"Exponential function","level":2,"score":0.2989000082015991},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.29269999265670776},{"id":"https://openalex.org/C62611344","wikidata":"https://www.wikidata.org/wiki/Q1062658","display_name":"Node (physics)","level":2,"score":0.27889999747276306},{"id":"https://openalex.org/C61455927","wikidata":"https://www.wikidata.org/wiki/Q1030529","display_name":"Blossom algorithm","level":3,"score":0.26350000500679016},{"id":"https://openalex.org/C2777669093","wikidata":"https://www.wikidata.org/wiki/Q17141570","display_name":"Reachability problem","level":3,"score":0.26269999146461487},{"id":"https://openalex.org/C2778753846","wikidata":"https://www.wikidata.org/wiki/Q6554239","display_name":"Link (geometry)","level":2,"score":0.2599000036716461},{"id":"https://openalex.org/C2776807809","wikidata":"https://www.wikidata.org/wiki/Q6510160","display_name":"Learning automata","level":3,"score":0.2572000026702881}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.4204/eptcs.446.1","is_oa":true,"landing_page_url":"https://doi.org/10.4204/eptcs.446.1","pdf_url":null,"source":{"id":"https://openalex.org/S4210216316","display_name":"Electronic Proceedings in Theoretical Computer Science","issn_l":"2075-2180","issn":["2075-2180"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310318029","host_organization_name":"Open Publishing Association","host_organization_lineage":["https://openalex.org/P4310318029"],"host_organization_lineage_names":["Open Publishing Association"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Proceedings in Theoretical Computer Science","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2606.26678","is_oa":true,"landing_page_url":"https://arxiv.org/abs/2606.26678","pdf_url":"https://arxiv.org/pdf/2606.26678","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.4204/eptcs.446.1","is_oa":true,"landing_page_url":"https://doi.org/10.4204/eptcs.446.1","pdf_url":null,"source":{"id":"https://openalex.org/S4210216316","display_name":"Electronic Proceedings in Theoretical Computer Science","issn_l":"2075-2180","issn":["2075-2180"],"is_oa":true,"is_in_doaj":true,"is_core":true,"host_organization":"https://openalex.org/P4310318029","host_organization_name":"Open Publishing Association","host_organization_lineage":["https://openalex.org/P4310318029"],"host_organization_lineage_names":["Open Publishing Association"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Proceedings in Theoretical Computer Science","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Backtracking":[0],"regular":[1],"expression":[2],"matchers":[3],"are":[4],"widely":[5],"used":[6],"due":[7],"to":[8],"their":[9,73],"expressive":[10],"power":[11],"but":[12,33],"may":[13],"exhibit":[14],"exponential":[15],"worst-case":[16],"matching":[17,31],"time.":[18],"Memoization":[19],"provides":[20],"a":[21,49,56],"principled":[22],"method":[23],"for":[24],"eliminating":[25],"redundant":[26],"computation":[27],"and":[28,38,71,78],"ensuring":[29],"linear":[30],"time,":[32],"full":[34],"memoization":[35,47,51,69],"is":[36],"memory-intensive":[37],"impractical.":[39],"We":[40,64],"introduce":[41],"the":[42],"Minimum":[43],"Feedback":[44],"Node":[45],"(MFN)":[46],"scheme,":[48],"selective":[50],"strategy":[52],"based":[53],"on":[54],"computing":[55],"minimum":[57],"feedback":[58],"vertex":[59],"set":[60],"of":[61],"an":[62],"automaton.":[63],"establish":[65],"relationships":[66],"with":[67],"existing":[68],"schemes":[70],"analyze":[72],"behaviour":[74],"under":[75],"both":[76],"Thompson":[77],"Glushkov":[79],"automaton":[80],"constructions.":[81]},"counts_by_year":[],"updated_date":"2026-08-23T07:36:19.812096","created_date":"2026-06-28T00:00:00"}
