{"id":"https://openalex.org/W2897675441","doi":"https://doi.org/10.1145/3314221.3314645","title":"Sound regular expression semantics for dynamic symbolic execution of JavaScript","display_name":"Sound regular expression semantics for dynamic symbolic execution of JavaScript","publication_year":2019,"publication_date":"2019-06-07","ids":{"openalex":"https://openalex.org/W2897675441","doi":"https://doi.org/10.1145/3314221.3314645","mag":"2897675441"},"language":"en","primary_location":{"id":"doi:10.1145/3314221.3314645","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3314221.3314645","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1810.05661","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Blake Loring","orcid":null},"institutions":[{"id":"https://openalex.org/I184558857","display_name":"Royal Holloway University of London","ror":"https://ror.org/04g2vpn86","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I184558857"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Blake Loring","raw_affiliation_strings":["Royal Holloway University of London, UK"],"affiliations":[{"raw_affiliation_string":"Royal Holloway University of London, UK","institution_ids":["https://openalex.org/I184558857"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Duncan Mitchell","orcid":null},"institutions":[{"id":"https://openalex.org/I184558857","display_name":"Royal Holloway University of London","ror":"https://ror.org/04g2vpn86","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I184558857"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Duncan Mitchell","raw_affiliation_strings":["Royal Holloway University of London, UK"],"affiliations":[{"raw_affiliation_string":"Royal Holloway University of London, UK","institution_ids":["https://openalex.org/I184558857"]}]},{"author_position":"last","author":{"id":null,"display_name":"Johannes Kinder","orcid":null},"institutions":[{"id":"https://openalex.org/I40527276","display_name":"Universit\u00e4t der Bundeswehr M\u00fcnchen","ror":"https://ror.org/05kkv3f82","country_code":"DE","type":"education","lineage":["https://openalex.org/I1315109972","https://openalex.org/I40527276","https://openalex.org/I4387152969"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Johannes Kinder","raw_affiliation_strings":["Bundeswehr University Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Bundeswehr University Munich, Germany","institution_ids":["https://openalex.org/I40527276"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I184558857"],"apc_list":null,"apc_paid":null,"fwci":3.2946,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":{"value":0.9157563,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"425","last_page":"438"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9973999857902527,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/regular-expression","display_name":"Regular expression","score":0.949999988079071},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.7182999849319458},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.5918999910354614},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.5281999707221985},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.5152999758720398},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5145999789237976},{"id":"https://openalex.org/keywords/regular-language","display_name":"Regular language","score":0.48249998688697815},{"id":"https://openalex.org/keywords/scheme","display_name":"Scheme (mathematics)","score":0.46399998664855957},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.42010000348091125}],"concepts":[{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.949999988079071},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7358999848365784},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.7182999849319458},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.5918999910354614},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5735999941825867},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.5281999707221985},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.5152999758720398},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5145999789237976},{"id":"https://openalex.org/C52370388","wikidata":"https://www.wikidata.org/wiki/Q752532","display_name":"Regular language","level":3,"score":0.48249998688697815},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.46399998664855957},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4251999855041504},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.42010000348091125},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.40310001373291016},{"id":"https://openalex.org/C80191660","wikidata":"https://www.wikidata.org/wiki/Q645527","display_name":"Regular grammar","level":4,"score":0.31470000743865967},{"id":"https://openalex.org/C23123167","wikidata":"https://www.wikidata.org/wiki/Q7661193","display_name":"Symbolic trajectory evaluation","level":3,"score":0.31189998984336853},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.304500013589859},{"id":"https://openalex.org/C2777267654","wikidata":"https://www.wikidata.org/wiki/Q3519023","display_name":"Test (biology)","level":2,"score":0.2784000039100647},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.27649998664855957},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.2720000147819519},{"id":"https://openalex.org/C146072743","wikidata":"https://www.wikidata.org/wiki/Q192161","display_name":"Formal language","level":2,"score":0.271699994802475},{"id":"https://openalex.org/C11219265","wikidata":"https://www.wikidata.org/wiki/Q5158734","display_name":"Concolic testing","level":4,"score":0.2705000042915344},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.26930001378059387},{"id":"https://openalex.org/C2776095079","wikidata":"https://www.wikidata.org/wiki/Q489538","display_name":"The Symbolic","level":2,"score":0.26809999346733093},{"id":"https://openalex.org/C42058472","wikidata":"https://www.wikidata.org/wiki/Q810214","display_name":"Base (topology)","level":2,"score":0.26260000467300415},{"id":"https://openalex.org/C2777027219","wikidata":"https://www.wikidata.org/wiki/Q1284190","display_name":"Constant (computer programming)","level":2,"score":0.2590000033378601}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3314221.3314645","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3314221.3314645","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1810.05661","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1810.05661","pdf_url":"https://arxiv.org/pdf/1810.05661","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1810.05661","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1810.05661","pdf_url":"https://arxiv.org/pdf/1810.05661","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2699641540","display_name":"Centre for Doctoral Training in Cyber Security at Royal Holloway","funder_award_id":"EP/K035584/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W118031093","https://openalex.org/W254881558","https://openalex.org/W984481437","https://openalex.org/W1480909796","https://openalex.org/W1970005004","https://openalex.org/W1979693894","https://openalex.org/W2017035494","https://openalex.org/W2023887108","https://openalex.org/W2082841864","https://openalex.org/W2094568767","https://openalex.org/W2100509764","https://openalex.org/W2112448454","https://openalex.org/W2117402063","https://openalex.org/W2193853992","https://openalex.org/W2295723447","https://openalex.org/W2482729551","https://openalex.org/W2565985959","https://openalex.org/W2735407609","https://openalex.org/W4237492309"],"related_works":[],"abstract_inverted_index":{"Support":[0],"for":[1,8,49,62,109],"regular":[2,20,52,74,82,120,136],"expressions":[3,83],"in":[4,102],"symbolic":[5,64,106],"execution-based":[6],"tools":[7],"test":[9,37,68],"generation":[10],"and":[11,69,80,84,96,111,128,139],"bug":[12],"finding":[13],"is":[14,60,126],"insufficient.":[15],"Common":[16],"aspects":[17],"of":[18,55,66,93,134],"mainstream":[19],"expression":[21,53,75,137],"engines,":[22],"such":[23],"as":[24],"backreferences":[25],"or":[26,31,39],"greedy":[27],"matching,":[28],"are":[29],"ignored":[30],"imprecisely":[32],"approximated,":[33],"leading":[34],"to":[35,89],"poor":[36],"coverage":[38],"missed":[40],"bugs.":[41],"In":[42],"this":[43],"paper,":[44],"we":[45],"present":[46],"a":[47,86,104],"model":[48,73,101],"the":[50,67,91,124,132],"complete":[51],"language":[54],"ECMAScript":[56],"2015":[57],"(ES6),":[58],"which":[59],"sound":[61],"dynamic":[63,105],"execution":[65,107],"exec":[70],"functions.":[71],"We":[72,98],"operations":[76],"using":[77],"string":[78],"constraints":[79],"classical":[81],"use":[85],"refinement":[87],"scheme":[88],"address":[90],"problem":[92],"matching":[94],"precedence":[95],"greediness.":[97],"implemented":[99],"our":[100],"ExpoSE,":[103],"engine":[108],"JavaScript,":[110],"evaluated":[112],"it":[113],"on":[114],"over":[115],"1,000":[116],"Node.js":[117],"packages":[118],"containing":[119],"expressions,":[121],"demonstrating":[122],"that":[123],"strategy":[125],"effective":[127],"can":[129],"significantly":[130],"increase":[131],"number":[133],"successful":[135],"queries":[138],"therefore":[140],"boost":[141],"coverage.":[142]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":7},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2}],"updated_date":"2026-04-09T08:11:56.329763","created_date":"2018-10-26T00:00:00"}
