{"id":"https://openalex.org/W4387667063","doi":"https://doi.org/10.1145/3622872","title":"Solving String Constraints with Lengths by Stabilization","display_name":"Solving String Constraints with Lengths by Stabilization","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387667063","doi":"https://doi.org/10.1145/3622872"},"language":"en","primary_location":{"id":"doi:10.1145/3622872","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622872","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622872","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3622872","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5048614307","display_name":"Yu\u2010Fang Chen","orcid":"https://orcid.org/0000-0003-2872-0336"},"institutions":[{"id":"https://openalex.org/I84653119","display_name":"Academia Sinica","ror":"https://ror.org/05bxb3784","country_code":"TW","type":"facility","lineage":["https://openalex.org/I84653119"]}],"countries":["TW"],"is_corresponding":false,"raw_author_name":"Yu-Fang Chen","raw_affiliation_strings":["Academia Sinica, Taipei, Taiwan"],"raw_orcid":"https://orcid.org/0000-0003-2872-0336","affiliations":[{"raw_affiliation_string":"Academia Sinica, Taipei, Taiwan","institution_ids":["https://openalex.org/I84653119"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5040416380","display_name":"David Chocholat\u00fd","orcid":"https://orcid.org/0009-0006-5614-1592"},"institutions":[{"id":"https://openalex.org/I60587646","display_name":"Brno University of Technology","ror":"https://ror.org/03613d656","country_code":"CZ","type":"education","lineage":["https://openalex.org/I60587646"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"David Chocholat\u00fd","raw_affiliation_strings":["Brno University of Technology, Brno, Czechia"],"raw_orcid":"https://orcid.org/0009-0006-5614-1592","affiliations":[{"raw_affiliation_string":"Brno University of Technology, Brno, Czechia","institution_ids":["https://openalex.org/I60587646"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030524096","display_name":"Vojt\u011bch Havlena","orcid":"https://orcid.org/0000-0003-4375-7954"},"institutions":[{"id":"https://openalex.org/I60587646","display_name":"Brno University of Technology","ror":"https://ror.org/03613d656","country_code":"CZ","type":"education","lineage":["https://openalex.org/I60587646"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Vojt\u011bch Havlena","raw_affiliation_strings":["Brno University of Technology, Brno, Czechia"],"raw_orcid":"https://orcid.org/0000-0003-4375-7954","affiliations":[{"raw_affiliation_string":"Brno University of Technology, Brno, Czechia","institution_ids":["https://openalex.org/I60587646"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059358773","display_name":"Luk\u00e1\u0161 Hol\u00edk","orcid":"https://orcid.org/0000-0001-6957-1651"},"institutions":[{"id":"https://openalex.org/I60587646","display_name":"Brno University of Technology","ror":"https://ror.org/03613d656","country_code":"CZ","type":"education","lineage":["https://openalex.org/I60587646"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Luk\u00e1\u0161 Hol\u00edk","raw_affiliation_strings":["Brno University of Technology, Brno, Czechia"],"raw_orcid":"https://orcid.org/0000-0001-6957-1651","affiliations":[{"raw_affiliation_string":"Brno University of Technology, Brno, Czechia","institution_ids":["https://openalex.org/I60587646"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063557188","display_name":"Ond\u0159ej Leng\u00e1l","orcid":"https://orcid.org/0000-0002-3038-5875"},"institutions":[{"id":"https://openalex.org/I60587646","display_name":"Brno University of Technology","ror":"https://ror.org/03613d656","country_code":"CZ","type":"education","lineage":["https://openalex.org/I60587646"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Ond\u0159ej Leng\u00e1l","raw_affiliation_strings":["Brno University of Technology, Brno, Czechia"],"raw_orcid":"https://orcid.org/0000-0002-3038-5875","affiliations":[{"raw_affiliation_string":"Brno University of Technology, Brno, Czechia","institution_ids":["https://openalex.org/I60587646"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090362154","display_name":"Juraj S\u00ed\u010d","orcid":"https://orcid.org/0000-0001-7454-3751"},"institutions":[{"id":"https://openalex.org/I60587646","display_name":"Brno University of Technology","ror":"https://ror.org/03613d656","country_code":"CZ","type":"education","lineage":["https://openalex.org/I60587646"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Juraj S\u00ed\u010d","raw_affiliation_strings":["Brno University of Technology, Brno, Czechia"],"raw_orcid":"https://orcid.org/0000-0001-7454-3751","affiliations":[{"raw_affiliation_string":"Brno University of Technology, Brno, Czechia","institution_ids":["https://openalex.org/I60587646"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":6,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.9016,"has_fulltext":true,"cited_by_count":16,"citation_normalized_percentile":{"value":0.96956324,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":99},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"2112","last_page":"2141"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9994999766349792,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9926999807357788,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9916999936103821,"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/string","display_name":"String (physics)","score":0.8319381475448608},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.8040354251861572},{"id":"https://openalex.org/keywords/dpll-algorithm","display_name":"DPLL algorithm","score":0.6657429933547974},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.6451467275619507},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5485896468162537},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.524591863155365},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.501317024230957},{"id":"https://openalex.org/keywords/word","display_name":"Word (group theory)","score":0.4662766754627228},{"id":"https://openalex.org/keywords/integer","display_name":"Integer (computer science)","score":0.4559181332588196},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.43999430537223816},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3767277002334595},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3641393780708313},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.17329585552215576},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.1718117892742157}],"concepts":[{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.8319381475448608},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.8040354251861572},{"id":"https://openalex.org/C143936061","wikidata":"https://www.wikidata.org/wiki/Q2030088","display_name":"DPLL algorithm","level":4,"score":0.6657429933547974},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.6451467275619507},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5485896468162537},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.524591863155365},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.501317024230957},{"id":"https://openalex.org/C90805587","wikidata":"https://www.wikidata.org/wiki/Q10944557","display_name":"Word (group theory)","level":2,"score":0.4662766754627228},{"id":"https://openalex.org/C97137487","wikidata":"https://www.wikidata.org/wiki/Q729138","display_name":"Integer (computer science)","level":2,"score":0.4559181332588196},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.43999430537223816},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3767277002334595},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3641393780708313},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.17329585552215576},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1718117892742157},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C12707504","wikidata":"https://www.wikidata.org/wiki/Q52637","display_name":"Phase-locked loop","level":3,"score":0.0},{"id":"https://openalex.org/C37914503","wikidata":"https://www.wikidata.org/wiki/Q156495","display_name":"Mathematical physics","level":1,"score":0.0},{"id":"https://openalex.org/C134652429","wikidata":"https://www.wikidata.org/wiki/Q1052698","display_name":"Jitter","level":2,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622872","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622872","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622872","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3622872","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622872","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622872","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3298403960","display_name":null,"funder_award_id":"GA23-","funder_id":"https://openalex.org/F4320321006","funder_display_name":"Grantov\u00e1 Agentura \u010cesk\u00e9 Republiky"},{"id":"https://openalex.org/G7459148310","display_name":null,"funder_award_id":"GA23-07565S","funder_id":"https://openalex.org/F4320321006","funder_display_name":"Grantov\u00e1 Agentura \u010cesk\u00e9 Republiky"}],"funders":[{"id":"https://openalex.org/F4320321006","display_name":"Grantov\u00e1 Agentura \u010cesk\u00e9 Republiky","ror":"https://ror.org/01pv73b02"},{"id":"https://openalex.org/F4320331164","display_name":"National Science and Technology Council","ror":"https://ror.org/00wnb9798"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387667063.pdf","grobid_xml":"https://content.openalex.org/works/W4387667063.grobid-xml"},"referenced_works_count":74,"referenced_works":["https://openalex.org/W8915992","https://openalex.org/W118031093","https://openalex.org/W254881558","https://openalex.org/W984481437","https://openalex.org/W1017176722","https://openalex.org/W1023119160","https://openalex.org/W1480909796","https://openalex.org/W1555798330","https://openalex.org/W1580879785","https://openalex.org/W1599228120","https://openalex.org/W1952344271","https://openalex.org/W1976444533","https://openalex.org/W1982132104","https://openalex.org/W1989660382","https://openalex.org/W1993370765","https://openalex.org/W2017035494","https://openalex.org/W2022846948","https://openalex.org/W2023036777","https://openalex.org/W2023887108","https://openalex.org/W2044901139","https://openalex.org/W2076334860","https://openalex.org/W2094568767","https://openalex.org/W2117402063","https://openalex.org/W2130370455","https://openalex.org/W2157390113","https://openalex.org/W2161510308","https://openalex.org/W2295723447","https://openalex.org/W2295791966","https://openalex.org/W2330747214","https://openalex.org/W2339322325","https://openalex.org/W2405754747","https://openalex.org/W2482729551","https://openalex.org/W2501292226","https://openalex.org/W2613188923","https://openalex.org/W2619859861","https://openalex.org/W2626453174","https://openalex.org/W2736027423","https://openalex.org/W2747214722","https://openalex.org/W2752929869","https://openalex.org/W2767683523","https://openalex.org/W2776845434","https://openalex.org/W2888545849","https://openalex.org/W2897835509","https://openalex.org/W2899573209","https://openalex.org/W2908957302","https://openalex.org/W2910081537","https://openalex.org/W2912798479","https://openalex.org/W2959755401","https://openalex.org/W2963054422","https://openalex.org/W2971997611","https://openalex.org/W2981614836","https://openalex.org/W2994651536","https://openalex.org/W3006268120","https://openalex.org/W3048452377","https://openalex.org/W3095013546","https://openalex.org/W3108905228","https://openalex.org/W3122489126","https://openalex.org/W3186328512","https://openalex.org/W3207915520","https://openalex.org/W3211522117","https://openalex.org/W3212228192","https://openalex.org/W3212912612","https://openalex.org/W4225922019","https://openalex.org/W4232808412","https://openalex.org/W4242157899","https://openalex.org/W4289874354","https://openalex.org/W4290087357","https://openalex.org/W4290087439","https://openalex.org/W4311421541","https://openalex.org/W4323026879","https://openalex.org/W4323275637","https://openalex.org/W4386363521","https://openalex.org/W6648519890","https://openalex.org/W6894185636"],"related_works":["https://openalex.org/W4362575217","https://openalex.org/W2187634947","https://openalex.org/W4235773363","https://openalex.org/W2131367934","https://openalex.org/W2981614836","https://openalex.org/W1017176722","https://openalex.org/W2024445065","https://openalex.org/W4230921427","https://openalex.org/W4288309913","https://openalex.org/W2998410131"],"abstract_inverted_index":{"We":[0,42,102],"present":[1],"a":[2,13,56,75,107],"new":[3],"algorithm":[4,10,105],"for":[5,16],"solving":[6,17],"string":[7,25,72,77,97,124,136],"constraints.":[8],"The":[9,79,111],"builds":[11],"upon":[12],"recent":[14],"method":[15],"word":[18],"equations":[19],"and":[20,62,64,118],"regular":[21],"constraints":[22,52],"that":[23,38],"interprets":[24],"variables":[26],"as":[27],"languages":[28],"rather":[29],"than":[30,122],"strings":[31],"and,":[32],"consequently,":[33],"mitigates":[34],"the":[35,44,82,92,99],"combinatorial":[36],"explosion":[37],"plagues":[39],"other":[40,68],"approaches.":[41],"extend":[43],"approach":[45],"to":[46,67,84],"handle":[47,85],"linear":[48],"integer":[49],"arithmetic":[50],"length":[51],"by":[53,65],"combination":[54],"with":[55],"known":[57],"principle":[58],"of":[59,71,81,91,96,113,135],"equation":[60],"alignment":[61],"splitting,":[63],"extension":[66],"common":[69],"types":[70],"constraints,":[73,98],"yielding":[74],"fully-fledged":[76],"solver.":[78,110],"ability":[80],"framework":[83],"unrestricted":[86],"disequalities":[87],"even":[88,119],"extends":[89],"one":[90],"largest":[93],"decidable":[94],"classes":[95],"chain-free":[100],"fragment.":[101],"integrate":[103],"our":[104,114],"into":[106],"DPLL-based":[108],"SMT":[109],"performance":[112],"implementation":[115],"is":[116],"competitive":[117],"significantly":[120],"better":[121],"state-of-the-art":[123],"solvers":[125],"on":[126],"several":[127],"established":[128],"benchmarks":[129],"obtained":[130],"from":[131],"applications":[132],"in":[133],"verification":[134],"programs.":[137]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":11},{"year":2024,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
