{"id":"https://openalex.org/W7119495937","doi":"https://doi.org/10.1145/3776708","title":"ChopChop: A Programmable Framework for Semantically Constraining the Output of Language Models","display_name":"ChopChop: A Programmable Framework for Semantically Constraining the Output of Language Models","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W7119495937","doi":"https://doi.org/10.1145/3776708"},"language":"en","primary_location":{"id":"doi:10.1145/3776708","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776708","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":null,"license_id":null,"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/3776708","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5079236277","display_name":"Shaan Nagy","orcid":"https://orcid.org/0000-0001-8015-5421"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shaan Nagy","raw_affiliation_strings":["University of California at San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0001-8015-5421","affiliations":[{"raw_affiliation_string":"University of California at San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088092134","display_name":"Timothy Zhou","orcid":"https://orcid.org/0000-0002-5262-0995"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Timothy Zhou","raw_affiliation_strings":["University of California at San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0002-5262-0995","affiliations":[{"raw_affiliation_string":"University of California at San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090671359","display_name":"Nadia Polikarpova","orcid":"https://orcid.org/0000-0001-5571-173X"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nadia Polikarpova","raw_affiliation_strings":["University of California at San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0001-5571-173X","affiliations":[{"raw_affiliation_string":"University of California at San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5089920000","display_name":"Loris D\u2019Antoni","orcid":"https://orcid.org/0000-0001-9625-4037"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Loris D'Antoni","raw_affiliation_strings":["University of California at San Diego, La Jolla, USA"],"raw_orcid":"https://orcid.org/0000-0001-9625-4037","affiliations":[{"raw_affiliation_string":"University of California at San Diego, La Jolla, USA","institution_ids":["https://openalex.org/I36258959"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.02259001,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"POPL","first_page":"1905","last_page":"1932"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.13619999587535858,"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/T10260","display_name":"Software Engineering Research","score":0.13619999587535858,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.09730000048875809,"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/T10028","display_name":"Topic Modeling","score":0.09589999914169312,"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/realizability","display_name":"Realizability","score":0.498199999332428},{"id":"https://openalex.org/keywords/decoding-methods","display_name":"Decoding methods","score":0.48919999599456787},{"id":"https://openalex.org/keywords/security-token","display_name":"Security token","score":0.459199994802475},{"id":"https://openalex.org/keywords/language-model","display_name":"Language model","score":0.44929999113082886},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.41190001368522644},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.4059999883174896},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.37700000405311584},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.37540000677108765}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8102999925613403},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5166000127792358},{"id":"https://openalex.org/C2776378722","wikidata":"https://www.wikidata.org/wiki/Q3454417","display_name":"Realizability","level":2,"score":0.498199999332428},{"id":"https://openalex.org/C57273362","wikidata":"https://www.wikidata.org/wiki/Q576722","display_name":"Decoding methods","level":2,"score":0.48919999599456787},{"id":"https://openalex.org/C48145219","wikidata":"https://www.wikidata.org/wiki/Q1335365","display_name":"Security token","level":2,"score":0.459199994802475},{"id":"https://openalex.org/C137293760","wikidata":"https://www.wikidata.org/wiki/Q3621696","display_name":"Language model","level":2,"score":0.44929999113082886},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.42329999804496765},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.41190001368522644},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.4059999883174896},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.37700000405311584},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.37540000677108765},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3725999891757965},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.3449999988079071},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.3255999982357025},{"id":"https://openalex.org/C2780767217","wikidata":"https://www.wikidata.org/wiki/Q5532421","display_name":"Generality","level":2,"score":0.32499998807907104},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.3221000134944916},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.3188999891281128},{"id":"https://openalex.org/C141603448","wikidata":"https://www.wikidata.org/wiki/Q134830","display_name":"Prefix","level":2,"score":0.3183000087738037},{"id":"https://openalex.org/C5065155","wikidata":"https://www.wikidata.org/wiki/Q1185775","display_name":"Frame problem","level":2,"score":0.271699994802475},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.26409998536109924},{"id":"https://openalex.org/C125411270","wikidata":"https://www.wikidata.org/wiki/Q18653","display_name":"Encoding (memory)","level":2,"score":0.263700008392334},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.2597000002861023},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.2581000030040741}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3776708","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776708","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":null,"license_id":null,"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/3776708","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776708","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":null,"license_id":null,"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/G6083352585","display_name":null,"funder_award_id":"DGE-2038238","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7329937412","display_name":null,"funder_award_id":"CCF-2446711","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W1491165055","https://openalex.org/W1532383456","https://openalex.org/W1792831685","https://openalex.org/W1993209012","https://openalex.org/W2036676170","https://openalex.org/W2094670595","https://openalex.org/W2147602040","https://openalex.org/W2156429182","https://openalex.org/W2592977449","https://openalex.org/W2961192361","https://openalex.org/W3009002422","https://openalex.org/W4252815648","https://openalex.org/W4290087445","https://openalex.org/W7090195772"],"related_works":[],"abstract_inverted_index":{"Language":[0],"models":[1,146],"(LMs)":[2],"can":[3],"generate":[4],"code":[5],"but":[6],"cannot":[7],"guarantee":[8],"its":[9],"correctness\u2014often":[10],"producing":[11],"outputs":[12],"that":[13,35],"violate":[14],"type":[15,140],"safety,":[16],"program":[17,63,137],"invariants,":[18],"or":[19,48],"other":[20],"semantic":[21,56,81],"properties.":[22,38,82],"Constrained":[23],"decoding":[24,156],"offers":[25],"a":[26,85,99,107,135,143],"solution":[27],"by":[28,127],"restricting":[29],"generation":[30,117],"to":[31,45,80,88,130,134],"only":[32],"produce":[33],"programs":[34,98],"satisfy":[36],"user-defined":[37],"However,":[39],"existing":[40],"methods":[41],"are":[42],"either":[43],"limited":[44],"syntactic":[46],"constraints":[47],"rely":[49],"on":[50,93],"brittle,":[51],"ad":[52],"hoc":[53],"encodings":[54],"of":[55,76,97,145],"properties":[57],"over":[58,121],"token":[59],"sequences":[60],"rather":[61],"than":[62],"structure.":[64],"We":[65,123],"present":[66],"ChopChop,":[67],"the":[68,74,95],"first":[69],"programmable":[70],"framework":[71],"for":[72],"constraining":[73],"output":[75],"LMs":[77],"with":[78,118],"respect":[79],"ChopChop":[83,149],"introduces":[84],"principled":[86],"way":[87],"construct":[89],"constrained":[90],"decoders":[91],"based":[92],"analyzing":[94],"space":[96],"prefix":[100],"represents.":[101],"It":[102],"formulates":[103],"this":[104],"analysis":[105],"as":[106],"realizability":[108],"problem":[109],"which":[110],"is":[111],"solved":[112],"via":[113],"coinduction,":[114],"connecting":[115],"token-level":[116],"structural":[119],"reasoning":[120],"programs.":[122],"demonstrate":[124],"ChopChop's":[125],"generality":[126],"using":[128],"it":[129],"enforce":[131],"(1)":[132],"equivalence":[133],"reference":[136],"and":[138,147],"(2)":[139],"safety.":[141],"Across":[142],"range":[144],"tasks,":[148],"improves":[150],"success":[151],"rates":[152],"while":[153],"maintaining":[154],"practical":[155],"latency.":[157]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2026-01-09T00:00:00"}
