{"id":"https://openalex.org/W2986061690","doi":"https://doi.org/10.1145/3371080","title":"Program synthesis by type-guided abstraction refinement","display_name":"Program synthesis by type-guided abstraction refinement","publication_year":2019,"publication_date":"2019-12-20","ids":{"openalex":"https://openalex.org/W2986061690","doi":"https://doi.org/10.1145/3371080","mag":"2986061690"},"language":"en","primary_location":{"id":"doi:10.1145/3371080","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371080","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":"preprint","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3371080","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056167925","display_name":"Zheng Guo","orcid":"https://orcid.org/0000-0002-0927-4011"},"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":"Zheng Guo","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067742382","display_name":"Michael B. James","orcid":"https://orcid.org/0009-0007-2219-9355"},"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":"Michael James","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072422663","display_name":"David Justo","orcid":null},"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":"David Justo","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047231988","display_name":"Jiaxiao Zhou","orcid":null},"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":"Jiaxiao Zhou","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101673728","display_name":"Ziteng Wang","orcid":"https://orcid.org/0009-0001-8487-8093"},"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":"Ziteng Wang","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002412544","display_name":"Ranjit Jhala","orcid":"https://orcid.org/0000-0002-1802-9421"},"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":"Ranjit Jhala","raw_affiliation_strings":["University of California at San Diego, USA","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","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","University of California at San Diego,USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]},{"raw_affiliation_string":"University of California at San Diego,USA","institution_ids":["https://openalex.org/I36258959"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":7,"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.13965313,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"4","issue":"POPL","first_page":"1","last_page":"28"},"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.9991000294685364,"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/T10142","display_name":"Formal Methods in Verification","score":0.9972000122070312,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9258458614349365},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.814624547958374},{"id":"https://openalex.org/keywords/reachability","display_name":"Reachability","score":0.6916447877883911},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.6192891597747803},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5680657625198364},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5267894864082336},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5106304287910461},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.49252280592918396},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.47456127405166626},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4336085617542267},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.18312481045722961},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13754352927207947}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9258458614349365},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.814624547958374},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.6916447877883911},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.6192891597747803},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5680657625198364},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5267894864082336},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5106304287910461},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.49252280592918396},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.47456127405166626},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4336085617542267},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.18312481045722961},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13754352927207947},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3371080","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371080","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"},{"id":"pmh:oai:arXiv.org:1911.04091","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1911.04091","pdf_url":"https://arxiv.org/pdf/1911.04091","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"},{"id":"mag:2986061690","is_oa":true,"landing_page_url":"http://arxiv.org/pdf/1911.04091.pdf","pdf_url":null,"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":"arXiv (Cornell University)","raw_type":null},{"id":"doi:10.48550/arxiv.1911.04091","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1911.04091","pdf_url":null,"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":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.1145/3371080","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371080","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":[{"id":"https://openalex.org/G6647742441","display_name":null,"funder_award_id":"1814358, 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"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":43,"referenced_works":["https://openalex.org/W408676302","https://openalex.org/W1480909796","https://openalex.org/W1497571013","https://openalex.org/W1514516864","https://openalex.org/W1553136405","https://openalex.org/W1558442354","https://openalex.org/W1566704763","https://openalex.org/W1581757680","https://openalex.org/W1858945639","https://openalex.org/W1963705166","https://openalex.org/W1982209843","https://openalex.org/W2013596093","https://openalex.org/W2036676170","https://openalex.org/W2043100293","https://openalex.org/W2059895047","https://openalex.org/W2097335450","https://openalex.org/W2101432564","https://openalex.org/W2115733813","https://openalex.org/W2122384298","https://openalex.org/W2132525863","https://openalex.org/W2143861926","https://openalex.org/W2144952376","https://openalex.org/W2152599613","https://openalex.org/W2153943889","https://openalex.org/W2154273644","https://openalex.org/W2157976942","https://openalex.org/W2263738566","https://openalex.org/W2276356546","https://openalex.org/W2295283668","https://openalex.org/W2528573969","https://openalex.org/W2561055248","https://openalex.org/W2573436692","https://openalex.org/W2603456259","https://openalex.org/W2740330300","https://openalex.org/W2798628553","https://openalex.org/W2899212285","https://openalex.org/W2899590559","https://openalex.org/W3005855585","https://openalex.org/W3123182306","https://openalex.org/W3137596000","https://openalex.org/W4232188856","https://openalex.org/W4237412827","https://openalex.org/W4242767025"],"related_works":["https://openalex.org/W1732367193","https://openalex.org/W2714643361","https://openalex.org/W1942516780","https://openalex.org/W1989439909","https://openalex.org/W3162231075","https://openalex.org/W2731851135","https://openalex.org/W2155996966","https://openalex.org/W2914051670","https://openalex.org/W2763435855","https://openalex.org/W3014408551","https://openalex.org/W1479960293","https://openalex.org/W3025915380","https://openalex.org/W1769779070","https://openalex.org/W2093463375","https://openalex.org/W2912166712","https://openalex.org/W2037201895","https://openalex.org/W3120377669","https://openalex.org/W2007578346","https://openalex.org/W34805863","https://openalex.org/W2118384863"],"abstract_inverted_index":{"We":[0,94,138,177,237],"consider":[1],"the":[2,20,29,45,82,85,120,169,207,212,263,286],"problem":[3],"of":[4,12,48,56,84,135,161,163,191,247,254,270,292],"type-directed":[5,105],"component-based":[6],"synthesis":[7,92,106],"where,":[8],"given":[9],"a":[10,16,25,100,124,131,155,172,183,189,195,200,245,252],"set":[11,134,190,246],"(typed)":[13],"components":[14,79],"and":[15,74,78,110,153,194,198,226,229],"query":[17,196,213],"type":[18,227],",":[19],"goal":[21],"is":[22,115,175],"to":[23,44,71,141,145,166,210,221,235,280,289],"synthesize":[24],"term":[26,202],"that":[27,87,116,158,185,203,276,299],"inhabits":[28],"query.":[30],"Classical":[31],"approaches":[32],"based":[33,61],"on":[34,241,310],"proof":[35],"search":[36,146],"in":[37,181],"intuitionistic":[38],"logics":[39],"do":[40,66],"not":[41],"scale":[42],"up":[43],"standard":[46],"libraries":[47,193,209,250],"modern":[49],"languages,":[50],"which":[51,129],"span":[52],"hundreds":[53],"or":[54],"thousands":[55],"components.":[57,111,256],"Recent":[58],"graph":[59,86,125,143],"reachability":[60,144],"methods":[62],"proposed":[63],"for":[64,103,147,217,267],"Java":[65],"scale,":[67],"but":[68],"only":[69],"apply":[70],"monomorphic":[72],"data":[73,77],"components:":[75],"polymorphic":[76,108],"infinitely":[80],"explode":[81],"size":[83],"must":[88],"be":[89],"searched,":[90],"rendering":[91],"intractable.":[93],"introduce":[95,154],"type-guided":[96],"abstraction":[97,170],"refinement":[98,303],"(TYGAR),":[99],"new":[101,156],"approach":[102],"scalable":[104],"over":[107,126,150,304],"datatypes":[109],"Our":[112,215,273],"key":[113],"insight":[114],"we":[117,297],"can":[118],"overcome":[119],"explosion":[121],"by":[122],"building":[123],"abstract":[127,151],"types":[128],"represent":[130],"potentially":[132],"unbounded":[133],"concrete":[136],"types.":[137],"show":[139,275],"how":[140],"use":[142],"candidate":[148],"terms":[149],"types,":[152],"algorithm":[157],"uses":[159,204],"proofs":[160],"untypeability":[162],"ill-typed":[164],"candidates":[165],"iteratively":[167],"refine":[168],"until":[171],"well-typed":[173,283],"result":[174],"found.":[176],"have":[178,238],"implemented":[179],"TYGAR":[180,277],"H+,":[182],"tool":[184],"takes":[186],"as":[187],"input":[188],"Haskell":[192,201,249],"type,":[197],"returns":[199,258],"functions":[205,225],"from":[206,301],"provided":[208],"implement":[211],"type.":[214],"support":[216],"polymorphism":[218],"allows":[219,278],"H+":[220,240,257,279],"work":[222],"with":[223,251,285],"higher-order":[224],"classes,":[228],"enables":[230],"more":[231,308],"precise":[232],"queries":[233,243],"due":[234],"parametricity.":[236],"evaluated":[239],"44":[242,271],"using":[244],"popular":[248],"total":[253],"291":[255],"an":[259],"interesting":[260],"solution":[261,291],"within":[262],"first":[264,290],"five":[265],"results":[266,274],"32":[268],"out":[269],"queries.":[272,312],"rapidly":[281],"return":[282],"terms,":[284],"median":[287],"time":[288],"just":[293],"1.4":[294],"seconds.":[295],"Moreover,":[296],"observe":[298],"gains":[300],"iterative":[302],"exhaustive":[305],"enumeration":[306],"are":[307],"pronounced":[309],"harder":[311]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
