{"id":"https://openalex.org/W1964238136","doi":"https://doi.org/10.1145/2784731.2789052","title":"Program synthesis: opportunities for the next decade","display_name":"Program synthesis: opportunities for the next decade","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W1964238136","doi":"https://doi.org/10.1145/2784731.2789052","mag":"1964238136"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2789052","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2789052","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085160432","display_name":"Rastislav Bod\u00edk","orcid":"https://orcid.org/0000-0001-6639-1647"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Rastislav Bodik","raw_affiliation_strings":["University of Washington, USA"],"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5085160432"],"corresponding_institution_ids":["https://openalex.org/I201448701"],"apc_list":null,"apc_paid":null,"fwci":0.323,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.58222943,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"1"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9861000180244446,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9861000180244446,"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.9842000007629395,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9690999984741211,"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/computer-science","display_name":"Computer science","score":0.8275362253189087},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7841073274612427},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7152127027511597},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.6575582027435303},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6378143429756165},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.5449700355529785},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4479790925979614},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.44224339723587036},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.4200507402420044},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.36598917841911316}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8275362253189087},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7841073274612427},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7152127027511597},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.6575582027435303},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6378143429756165},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.5449700355529785},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4479790925979614},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.44224339723587036},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.4200507402420044},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.36598917841911316}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2784731.2789052","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2789052","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.7400000095367432,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W1590649805","https://openalex.org/W2110317952","https://openalex.org/W3014668873","https://openalex.org/W2886887129","https://openalex.org/W2761958682","https://openalex.org/W2791689149","https://openalex.org/W1568242184","https://openalex.org/W3129549213","https://openalex.org/W1567814706","https://openalex.org/W2134429143"],"abstract_inverted_index":{"Program":[0],"synthesis":[1,67,89,114,160,190,193,198,217],"is":[2,171],"the":[3,22,26,29,131,146,221,229],"contemporary":[4],"answer":[5],"to":[6,69,98,129,141,157,162,197],"automatic":[7],"programming.":[8],"It":[9],"innovates":[10],"in":[11,24,38,152,183],"two":[12],"ways:":[13],"First,":[14],"it":[15,33,151],"replaces":[16],"batch":[17],"automation":[18],"with":[19,104],"interactivity,":[20],"assisting":[21],"programmer":[23],"refining":[25],"understanding":[27],"of":[28,88,115,194,199,224,231],"programming":[30,225],"problem.":[31],"Second,":[32],"produces":[34],"programs":[35,196],"using":[36],"search":[37,65,164],"a":[39,47,143,153,159,163,168,172,179],"candidate":[40,147],"space":[41,148],"rather":[42],"than":[43],"by":[44,243],"derivation":[45,74],"from":[46,192],"specification.":[48],"Searching":[49],"for":[50,102,121,136,213],"an":[51,96],"acceptable":[52],"program":[53,180],"means":[54],"that":[55,71],"we":[56,109,139,187],"can":[57,175,181],"accommodate":[58],"incomplete":[59],"specifications,":[60],"such":[61,76],"as":[62,77,178],"examples.":[63],"Additionally,":[64],"makes":[66],"applicable":[68],"domains":[70],"lack":[72],"correct-by-construction":[73],"rules,":[75],"hardware":[78],"design,":[79],"education,":[80],"end-user":[81],"programming,":[82],"and":[83,123,149,201,210,241],"systems":[84],"biology.":[85,214],"The":[86,203],"future":[87],"rests":[90],"on":[91,145],"four":[92],"challenges,":[93],"each":[94],"presenting":[95],"opportunity":[97],"develop":[99],"novel":[100],"abstractions":[101,232],"\"programming":[103],"search.\"":[105],"Larger":[106],"scope:":[107],"today,":[108],"synthesize":[110],"small,":[111],"flat":[112],"programs;":[113],"large":[116],"software":[117],"will":[118,188],"need":[119,140],"constructs":[120],"modularity":[122],"stepwise":[124],"refinement.":[125],"New":[126],"interaction":[127],"modes:":[128],"solicit":[130],"specification":[132],"without":[133,166],"simply":[134],"asking":[135],"more":[137],"examples,":[138],"impose":[142],"structure":[144],"explore":[150],"dialogue.":[154],"Construction:":[155],"how":[156],"compile":[158],"problem":[161],"algorithm":[165],"building":[167],"compiler?":[169],"Everything":[170],"program:":[173],"whatever":[174],"be":[176,182],"phrased":[177],"principle":[184],"synthesized.":[185],"Indeed,":[186],"see":[189],"advance":[191],"plain":[195],"compilers":[200],"languages.":[202],"latter":[204],"may":[205],"include":[206],"DSLs,":[207],"type":[208],"systems,":[209],"modeling":[211],"languages":[212,226],"As":[215],"such,":[216],"could":[218],"help":[219],"mechanize":[220],"crown":[222],"jewel":[223],"research":[227],"---":[228,233],"design":[230],"which":[234],"has":[235],"so":[236],"far":[237],"been":[238],"done":[239],"manually":[240],"only":[242],"experts.":[244]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
