{"id":"https://openalex.org/W4414977271","doi":"https://doi.org/10.1145/3763148","title":"Certified Decision Procedures for Width-Independent Bitvector Predicates","display_name":"Certified Decision Procedures for Width-Independent Bitvector Predicates","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414977271","doi":"https://doi.org/10.1145/3763148"},"language":"en","primary_location":{"id":"doi:10.1145/3763148","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763148","pdf_url":null,"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://doi.org/10.1145/3763148","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5087494634","display_name":"Siddharth Bhat","orcid":"https://orcid.org/0009-0007-6410-3681"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Siddharth Bhat","raw_affiliation_strings":["University of Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015933495","display_name":"L\u00e9o Stefanesco","orcid":"https://orcid.org/0000-0002-4719-2922"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"L\u00e9o Stefanesco","raw_affiliation_strings":["University of Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037568074","display_name":"Chris Hughes","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Chris Hughes","raw_affiliation_strings":["Independent Researcher, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Independent Researcher, United Kingdom","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055618037","display_name":"Tobias Grosser","orcid":"https://orcid.org/0000-0003-3874-6003"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tobias Grosser","raw_affiliation_strings":["University of Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5087494634"],"corresponding_institution_ids":["https://openalex.org/I241749"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.30730751,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"2736","last_page":"2758"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998000264167786,"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/T10142","display_name":"Formal Methods in Verification","score":0.9998000264167786,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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/T10904","display_name":"Embedded Systems Design Techniques","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"}}],"keywords":[{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.7060999870300293},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6273000240325928},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.6072999835014343},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.5591999888420105},{"id":"https://openalex.org/keywords/b\u00fcchi-automaton","display_name":"B\u00fcchi automaton","score":0.4657999873161316},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.4381999969482422},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.43389999866485596},{"id":"https://openalex.org/keywords/counterexample","display_name":"Counterexample","score":0.41609999537467957},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.3991999924182892},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.3792000114917755}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8287000060081482},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.7060999870300293},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6273000240325928},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.6072999835014343},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6039000153541565},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.5591999888420105},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.47760000824928284},{"id":"https://openalex.org/C165753454","wikidata":"https://www.wikidata.org/wiki/Q1020380","display_name":"B\u00fcchi automaton","level":4,"score":0.4657999873161316},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.4381999969482422},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.43389999866485596},{"id":"https://openalex.org/C162838799","wikidata":"https://www.wikidata.org/wiki/Q596077","display_name":"Counterexample","level":2,"score":0.41609999537467957},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.3991999924182892},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.39719998836517334},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.3792000114917755},{"id":"https://openalex.org/C168773769","wikidata":"https://www.wikidata.org/wiki/Q1350299","display_name":"Satisfiability","level":2,"score":0.3671000003814697},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.3596000075340271},{"id":"https://openalex.org/C115988155","wikidata":"https://www.wikidata.org/wiki/Q3262192","display_name":"Decision problem","level":2,"score":0.34369999170303345},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.3361000120639801},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3276999890804291},{"id":"https://openalex.org/C206880738","wikidata":"https://www.wikidata.org/wiki/Q431667","display_name":"Automated theorem proving","level":2,"score":0.32690000534057617},{"id":"https://openalex.org/C6943359","wikidata":"https://www.wikidata.org/wiki/Q875276","display_name":"Boolean satisfiability problem","level":2,"score":0.31700000166893005},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.30709999799728394},{"id":"https://openalex.org/C2779907942","wikidata":"https://www.wikidata.org/wiki/Q7239630","display_name":"Predicate abstraction","level":3,"score":0.30640000104904175},{"id":"https://openalex.org/C176248197","wikidata":"https://www.wikidata.org/wiki/Q458526","display_name":"Probably approximately correct learning","level":4,"score":0.2937000095844269},{"id":"https://openalex.org/C206470798","wikidata":"https://www.wikidata.org/wiki/Q2634506","display_name":"Kleene algebra","level":2,"score":0.2896000146865845},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.2759000062942505},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.2727999985218048},{"id":"https://openalex.org/C96654402","wikidata":"https://www.wikidata.org/wiki/Q5469962","display_name":"Formal equivalence checking","level":3,"score":0.272599995136261},{"id":"https://openalex.org/C116248031","wikidata":"https://www.wikidata.org/wiki/Q214526","display_name":"Automata theory","level":3,"score":0.27230000495910645},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.26499998569488525},{"id":"https://openalex.org/C152062344","wikidata":"https://www.wikidata.org/wiki/Q818888","display_name":"Computability","level":2,"score":0.2614000141620636},{"id":"https://openalex.org/C311688","wikidata":"https://www.wikidata.org/wiki/Q2393193","display_name":"Time complexity","level":2,"score":0.26019999384880066},{"id":"https://openalex.org/C25016198","wikidata":"https://www.wikidata.org/wiki/Q781833","display_name":"Temporal logic","level":2,"score":0.25619998574256897},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.25369998812675476},{"id":"https://openalex.org/C2776493592","wikidata":"https://www.wikidata.org/wiki/Q5158717","display_name":"Succinctness","level":2,"score":0.25}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3763148","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763148","pdf_url":null,"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/3763148","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763148","pdf_url":null,"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":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1517959189","https://openalex.org/W1539201627","https://openalex.org/W1646862118","https://openalex.org/W1787074469","https://openalex.org/W2003164052","https://openalex.org/W2052987729","https://openalex.org/W2098244894","https://openalex.org/W2105489972","https://openalex.org/W2130920933","https://openalex.org/W2136099086","https://openalex.org/W2158211562","https://openalex.org/W2296095876","https://openalex.org/W2418043581","https://openalex.org/W2752387439","https://openalex.org/W2981188613","https://openalex.org/W2995150486","https://openalex.org/W3033189783","https://openalex.org/W3138459719","https://openalex.org/W3178506813","https://openalex.org/W4205178514","https://openalex.org/W4239031877","https://openalex.org/W4246777216","https://openalex.org/W4298447450","https://openalex.org/W4307992681","https://openalex.org/W4384521894","https://openalex.org/W6929904570","https://openalex.org/W6949747140"],"related_works":[],"abstract_inverted_index":{"Bitvectors":[0],"are":[1,101],"foundational":[2,274],"for":[3,18,34,48,152,157,217,259,273,276],"automated":[4],"reasoning.":[5],"A":[6],"few":[7],"interactive":[8,264],"theorem":[9,265],"provers":[10],"(ITP),":[11],"such":[12,201],"as":[13,99,202,210,212],"Lean,":[14],"have":[15],"strong":[16],"support":[17],"deciding":[19],"fixed-width":[20],"bitvector":[21,36,50,61,154,261],"predicates":[22,51],"by":[23],"means":[24],"of":[25,59,69,82,160,162,224,228,233,241],"bitblasting.":[26],"However,":[27,89],"even":[28],"these":[29,143],"ITPs":[30],"provide":[31,255],"little":[32],"automation":[33],"width-independent":[35,49,60,153,260],"predicates.":[37,155],"To":[38,119],"fill":[39,120],"this":[40,94,121,187],"gap,":[41,122],"we":[42,90,123,146,173,190],"contribute":[43,147],"novel,":[44],"mechanized":[45,97,144],"decision":[46,150,193,253],"procedures":[47,151,185,194,254],"in":[52,96,127,169,263],"Lean.":[53],"Classical":[54],"algorithms":[55,110,126,275],"to":[56,76,239],"decide":[57],"fragments":[58,159],"theory":[62],"can":[63,112],"be":[64,113],"viewed":[65],"from":[66,116,197,245],"the":[67,73,80,83,128,170,182,206,234,271],"lens":[68,95],"model":[70,108,129,280],"checking,":[71,138],"where":[72],"formula":[74,84],"corresponds":[75],"an":[77],"automaton":[78],"and":[79,105,139,164,205,237],"correctness":[81],"is":[85],"a":[86,175,256],"safety":[87],"property.":[88],"cannot":[91],"currently":[92],"use":[93],"proofs,":[98],"there":[100],"no":[102],"executable,":[103],"fast,":[104,277],"formally":[106,278],"verified":[107,279],"checking":[109,130,215],"that":[111],"used":[114],"interactively":[115],"within":[117],"ITPs.":[118],"mechanize":[124,174],"key":[125],"literature:":[131],"k":[132],"-induction,":[133],"automata":[134,136,140],"reachability,":[135],"emptiness":[137],"minimization.":[141],"Using":[142],"algorithms,":[145],"scalable,":[148],"mechanized,":[149],"Furthermore,":[156],"controlled":[158],"mixtures":[161],"arithmetic":[163],"bitwise":[165],"operations":[166],"which":[167,180],"occur":[168],"deobfuscation":[171,235],"literature,":[172],"recent":[176],"fast":[177],"algorithm":[178],"(MBA-Blast),":[179],"outperforms":[181],"more":[183,268],"general":[184],"on":[186,195,213],"fragment.":[188],"Finally,":[189],"evaluate":[191],"our":[192,229],"benchmarks":[196],"classical":[198],"compiler":[199],"problems":[200,216],"Hacker\u2019s":[203,225],"Delight":[204],"LLVM":[207],"peephole":[208,242,247],"optimizer,":[209],"well":[211],"equivalence":[214],"program":[218],"obfuscation.":[219],"Our":[220,251],"tools":[221,230],"solve":[222,231],"100%":[223,232],"Delight,":[226],"two":[227],"dataset,":[236],"up":[238],"27%":[240],"rewrites":[243],"extracted":[244],"LLVM\u2019s":[246],"rewriting":[248],"test":[249],"suite.":[250],"new":[252],"push-button":[257],"experience":[258],"reasoning":[262],"provers,":[266],"and,":[267],"broadly,":[269],"pave":[270],"way":[272],"checking.":[281]},"counts_by_year":[],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2025-10-10T00:00:00"}
