{"id":"https://openalex.org/W4379537202","doi":"https://doi.org/10.1145/3591278","title":"Leveraging Rust Types for Program Synthesis","display_name":"Leveraging Rust Types for Program Synthesis","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379537202","doi":"https://doi.org/10.1145/3591278"},"language":"en","primary_location":{"id":"doi:10.1145/3591278","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591278","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591278","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/3591278","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5028474318","display_name":"Jon\u00e1\u0161 Fiala","orcid":"https://orcid.org/0009-0001-2121-7044"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Jon\u00e1\u0161 Fiala","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0009-0001-2121-7044","affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5010920313","display_name":"Shachar Itzhaky","orcid":"https://orcid.org/0000-0002-7276-7644"},"institutions":[{"id":"https://openalex.org/I174306211","display_name":"Technion \u2013 Israel Institute of Technology","ror":"https://ror.org/03qryx823","country_code":"IL","type":"education","lineage":["https://openalex.org/I174306211"]}],"countries":["IL"],"is_corresponding":false,"raw_author_name":"Shachar Itzhaky","raw_affiliation_strings":["Technion, Israel"],"raw_orcid":"https://orcid.org/0000-0002-7276-7644","affiliations":[{"raw_affiliation_string":"Technion, Israel","institution_ids":["https://openalex.org/I174306211"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073853337","display_name":"P\u00e9ter M\u00fcller","orcid":"https://orcid.org/0000-0001-7001-2566"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Peter M\u00fcller","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0001-7001-2566","affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"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, USA"],"raw_orcid":"https://orcid.org/0000-0001-5571-173X","affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5009639508","display_name":"Ilya Sergey","orcid":"https://orcid.org/0000-0003-4250-5392"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Ilya Sergey","raw_affiliation_strings":["National University of Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0003-4250-5392","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":4,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5028474318"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":2.3194,"has_fulltext":true,"cited_by_count":14,"citation_normalized_percentile":{"value":0.90497084,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":99},"biblio":{"volume":"7","issue":"PLDI","first_page":"1414","last_page":"1437"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9993000030517578,"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.9987999796867371,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.9220183491706848},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7804305553436279},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.621833860874176},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4436675012111664},{"id":"https://openalex.org/keywords/aliasing","display_name":"Aliasing","score":0.44058868288993835},{"id":"https://openalex.org/keywords/root","display_name":"Root (linguistics)","score":0.4254136085510254},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3432080149650574},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2721962332725525}],"concepts":[{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.9220183491706848},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7804305553436279},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.621833860874176},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4436675012111664},{"id":"https://openalex.org/C4069607","wikidata":"https://www.wikidata.org/wiki/Q868732","display_name":"Aliasing","level":3,"score":0.44058868288993835},{"id":"https://openalex.org/C171078966","wikidata":"https://www.wikidata.org/wiki/Q111029","display_name":"Root (linguistics)","level":2,"score":0.4254136085510254},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3432080149650574},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2721962332725525},{"id":"https://openalex.org/C136536468","wikidata":"https://www.wikidata.org/wiki/Q1225894","display_name":"Undersampling","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3591278","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591278","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591278","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/3591278","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591278","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591278","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":[{"id":"https://metadata.un.org/sdg/16","score":0.8100000023841858,"display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G5144877073","display_name":null,"funder_award_id":"Grant No. 191114","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6182133220","display_name":null,"funder_award_id":"1911149","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"},{"id":"https://openalex.org/F4320322724","display_name":"Ministry of Education, India","ror":"https://ror.org/048xjjh50"},{"id":"https://openalex.org/F4320323346","display_name":"B\u1ed9 Gi\u00e1o d\u1ee5c v\u00e0 \u00d0\u00e0o t\u1ea1o","ror":"https://ror.org/00drv3378"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4379537202.pdf","grobid_xml":"https://content.openalex.org/works/W4379537202.grobid-xml"},"referenced_works_count":23,"referenced_works":["https://openalex.org/W1495368328","https://openalex.org/W1505565262","https://openalex.org/W2012436850","https://openalex.org/W2013892605","https://openalex.org/W2057292961","https://openalex.org/W2091385303","https://openalex.org/W2124192263","https://openalex.org/W2294722445","https://openalex.org/W2779850521","https://openalex.org/W2883187296","https://openalex.org/W2912116179","https://openalex.org/W2913530642","https://openalex.org/W2996725384","https://openalex.org/W3017077459","https://openalex.org/W3173198614","https://openalex.org/W3173363254","https://openalex.org/W3183258024","https://openalex.org/W3207026105","https://openalex.org/W3209913027","https://openalex.org/W4281773296","https://openalex.org/W4283019774","https://openalex.org/W4362661194","https://openalex.org/W4362728620"],"related_works":["https://openalex.org/W2166247150","https://openalex.org/W4243252198","https://openalex.org/W2109507516","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W3137189469","https://openalex.org/W2740990710","https://openalex.org/W4235530921","https://openalex.org/W2999589555","https://openalex.org/W1541967140"],"abstract_inverted_index":{"The":[0,155],"Rust":[1,63,123,127,225],"type":[2,14,52,128,187],"system":[3,129],"guarantees":[4],"memory":[5],"safety":[6],"and":[7,29,95,212],"data-race":[8],"freedom.":[9],"However,":[10],"to":[11,42,87,147,176,219],"satisfy":[12,177],"Rust's":[13,51,185],"rules,":[15],"many":[16],"familiar":[17],"implementation":[18],"patterns":[19],"must":[20],"be":[21,105],"adapted":[22],"substantially.":[23],"These":[24],"necessary":[25],"adaptations":[26],"complicate":[27],"programming":[28],"might":[30],"hinder":[31],"language":[32],"adoption.":[33],"In":[34,139],"this":[35,102,140,191],"paper,":[36],"we":[37,142],"demonstrate":[38],"that,":[39],"in":[40,57,73,83,99,152,193,207,214],"contrast":[41],"manual":[43],"programming,":[44],"automatic":[45],"synthesis":[46,160],"is":[47,162],"not":[48],"complicated":[49],"by":[50,223],"system,":[53],"but":[54],"rather":[55],"benefits":[56],"two":[58],"major":[59],"ways.":[60],"First,":[61],"a":[62,84,119,166,179,194],"synthesizer":[64],"can":[65,104],"get":[66],"away":[67],"with":[68],"significantly":[69],"simpler":[70],"specifications.":[71],"While":[72],"more":[74],"traditional":[75],"imperative":[76],"languages,":[77],"synthesizers":[78],"often":[79],"require":[80],"lengthy":[81],"annotations":[82],"complex":[85],"logic":[86,169,192],"describe":[88],"the":[89,108,111,126,131,144,202],"shape":[90],"of":[91,122,158,204,209],"data":[92],"structures,":[93],"aliasing,":[94],"potential":[96],"side":[97],"effects,":[98],"Rust,":[100],"all":[101],"information":[103],"inferred":[106],"from":[107],"types,":[109],"letting":[110],"user":[112],"focus":[113],"on":[114],"specifying":[115],"functional":[116,181],"properties":[117],"using":[118],"slight":[120],"extension":[121],"expressions.":[124],"Second,":[125],"reduces":[130],"search":[132],"space":[133],"for":[134,170],"synthesis,":[135],"which":[136],"improves":[137],"performance.":[138],"work,":[141],"present":[143],"first":[145],"approach":[146],"automatically":[148],"synthesizing":[149,215],"correct-by-construction":[150],"programs":[151,172],"safe":[153],"Rust.":[154],"key":[156],"ingredient":[157],"our":[159],"procedure":[161],"Synthetic":[163],"Ownership":[164],"Logic,":[165],"new":[167,195,224],"program":[168],"deriving":[171],"that":[173],"are":[174],"guaranteed":[175],"both":[178,206],"user-provided":[180],"specification":[182],"and,":[183],"importantly,":[184],"intricate":[186],"system.":[188],"We":[189],"implement":[190],"tool":[196],"called":[197],"RusSOL.":[198],"Our":[199],"evaluation":[200],"shows":[201],"effectiveness":[203],"RusSOL,":[205],"terms":[208],"annotation":[210],"burden":[211],"performance,":[213],"provably":[216],"correct":[217],"solutions":[218],"common":[220],"problems":[221],"faced":[222],"developers.":[226]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":6}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
