{"id":"https://openalex.org/W4225113125","doi":"https://doi.org/10.1145/3527315","title":"Automated transpilation of imperative to functional code using neural-guided program synthesis","display_name":"Automated transpilation of imperative to functional code using neural-guided program synthesis","publication_year":2022,"publication_date":"2022-04-29","ids":{"openalex":"https://openalex.org/W4225113125","doi":"https://doi.org/10.1145/3527315"},"language":"en","primary_location":{"id":"doi:10.1145/3527315","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527315","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527315","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/3527315","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5080981819","display_name":"Benjamin Mariano","orcid":"https://orcid.org/0000-0003-2987-6260"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Benjamin Mariano","raw_affiliation_strings":["University of Texas at Austin, USA"],"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, USA","institution_ids":["https://openalex.org/I86519309"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101573237","display_name":"Yanju Chen","orcid":"https://orcid.org/0000-0002-6494-3126"},"institutions":[{"id":"https://openalex.org/I154570441","display_name":"University of California, Santa Barbara","ror":"https://ror.org/02t274463","country_code":"US","type":"education","lineage":["https://openalex.org/I154570441"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yanju Chen","raw_affiliation_strings":["University of California at Santa Barbara, USA"],"affiliations":[{"raw_affiliation_string":"University of California at Santa Barbara, USA","institution_ids":["https://openalex.org/I154570441"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101567136","display_name":"Yu Feng","orcid":"https://orcid.org/0000-0003-1000-1229"},"institutions":[{"id":"https://openalex.org/I154570441","display_name":"University of California, Santa Barbara","ror":"https://ror.org/02t274463","country_code":"US","type":"education","lineage":["https://openalex.org/I154570441"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yu Feng","raw_affiliation_strings":["University of California at Santa Barbara, USA"],"affiliations":[{"raw_affiliation_string":"University of California at Santa Barbara, USA","institution_ids":["https://openalex.org/I154570441"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015133105","display_name":"Greg Durrett","orcid":"https://orcid.org/0000-0002-7061-7298"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Greg Durrett","raw_affiliation_strings":["University of Texas at Austin, USA"],"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, USA","institution_ids":["https://openalex.org/I86519309"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5006424908","display_name":"I\u015f\u0131l Dillig","orcid":"https://orcid.org/0000-0001-8006-1230"},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"I\u015fil Dillig","raw_affiliation_strings":["University of Texas at Austin, USA"],"affiliations":[{"raw_affiliation_string":"University of Texas at Austin, USA","institution_ids":["https://openalex.org/I86519309"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5080981819"],"corresponding_institution_ids":["https://openalex.org/I86519309"],"apc_list":null,"apc_paid":null,"fwci":8.2891,"has_fulltext":true,"cited_by_count":26,"citation_normalized_percentile":{"value":0.97581427,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"6","issue":"OOPSLA1","first_page":"1","last_page":"27"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9954000115394592,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9948999881744385,"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/computer-science","display_name":"Computer science","score":0.8809865117073059},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.724402904510498},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6886841654777527},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.6789363622665405},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6073393821716309},{"id":"https://openalex.org/keywords/porting","display_name":"Porting","score":0.5873565673828125},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.5512272119522095},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.4853459894657135},{"id":"https://openalex.org/keywords/toolchain","display_name":"Toolchain","score":0.47775521874427795},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.45181870460510254},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.42552828788757324},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4241240620613098},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.287040114402771},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.200837641954422}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8809865117073059},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.724402904510498},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6886841654777527},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.6789363622665405},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6073393821716309},{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.5873565673828125},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.5512272119522095},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.4853459894657135},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.47775521874427795},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.45181870460510254},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.42552828788757324},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4241240620613098},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.287040114402771},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.200837641954422},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3527315","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527315","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527315","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/3527315","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527315","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527315","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/G5503499271","display_name":"SHF: Small: Scalable Program Synthesis using Counterexample-Guided Abstraction Refinement","funder_award_id":"1811865","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5921281487","display_name":null,"funder_award_id":"number","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5985606540","display_name":null,"funder_award_id":"1908494","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6208393420","display_name":null,"funder_award_id":"1918889","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","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/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4225113125.pdf","grobid_xml":"https://content.openalex.org/works/W4225113125.grobid-xml"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W1507894341","https://openalex.org/W1846534677","https://openalex.org/W1902237438","https://openalex.org/W1905591175","https://openalex.org/W1991069419","https://openalex.org/W2040943118","https://openalex.org/W2048960787","https://openalex.org/W2063337452","https://openalex.org/W2064675550","https://openalex.org/W2084875723","https://openalex.org/W2124807415","https://openalex.org/W2130942839","https://openalex.org/W2154929064","https://openalex.org/W2163671349","https://openalex.org/W2293033107","https://openalex.org/W2606974598","https://openalex.org/W2610002206","https://openalex.org/W2768510408","https://openalex.org/W2768572539","https://openalex.org/W2785559831","https://openalex.org/W2886081451","https://openalex.org/W2949895386","https://openalex.org/W2963084773","https://openalex.org/W2963655793","https://openalex.org/W2964165364","https://openalex.org/W2998195985","https://openalex.org/W3006309927","https://openalex.org/W3023891024","https://openalex.org/W3085921543","https://openalex.org/W3098044990","https://openalex.org/W3098585900","https://openalex.org/W3098843277","https://openalex.org/W3099302725","https://openalex.org/W3171035942","https://openalex.org/W3214514975","https://openalex.org/W4221141797","https://openalex.org/W4231970275","https://openalex.org/W4234542549","https://openalex.org/W4253977062","https://openalex.org/W4287757334","https://openalex.org/W4298144617"],"related_works":["https://openalex.org/W4256348452","https://openalex.org/W2004997206","https://openalex.org/W2905001159","https://openalex.org/W4252702401","https://openalex.org/W301967743","https://openalex.org/W2469935013","https://openalex.org/W593478746","https://openalex.org/W3016342375","https://openalex.org/W2594924361","https://openalex.org/W2566335152"],"abstract_inverted_index":{"While":[0],"many":[1],"mainstream":[2],"languages":[3],"such":[4],"as":[5],"Java,":[6],"Python,":[7],"and":[8,17,130,161,168,178,191,197],"C#":[9],"increasingly":[10],"incorporate":[11],"functional":[12,36,172],"APIs":[13,180],"to":[14,29,35,111,138,164,171],"simplify":[15],"programming":[16],"improve":[18],"parallelization/performance,":[19],"there":[20],"are":[21,200],"no":[22],"effective":[23],"techniques":[24,199],"that":[25,67,80,118,146,174,185,192],"can":[26],"be":[27],"used":[28],"automatically":[30],"translate":[31,165],"existing":[32,58],"imperative":[33,166],"code":[34,170],"variants":[37,173],"using":[38],"these":[39,95],"APIs.":[40],"Motivated":[41],"by":[42],"this":[43,45,75,109],"problem,":[44],"paper":[46],"presents":[47],"a":[48,113,121,133,149,157],"transpilation":[49],"approach":[50,155],"based":[51,63,142],"on":[52,64,143],"inductive":[53],"program":[54],"synthesis":[55,116],"for":[56,202],"modernizing":[57],"code.":[59],"Our":[60,106,182],"method":[61,107],"is":[62],"the":[65,68,87,99,176],"observation":[66,110],"overwhelming":[69],"majority":[70],"of":[71,135],"source/target":[72],"programs":[73,88,141],"in":[74,102,156],"setting":[76],"satisfy":[77],"an":[78],"assumption":[79],"we":[81],"call":[82],"trace-compatibility:":[83],"not":[84],"only":[85],"do":[86],"share":[89],"syntactically":[90],"identical":[91],"low-level":[92],"expressions,":[93],"but":[94],"expressions":[96],"also":[97],"take":[98],"same":[100],"values":[101,145],"corresponding":[103],"execution":[104,137],"traces.":[105],"leverages":[108,132],"design":[112],"new":[114],"neural-guided":[115],"algorithm":[117],"(1)":[119],"uses":[120],"novel":[122],"neural":[123,195],"architecture":[124,196],"called":[125,159],"cognate":[126],"grammar":[127],"network":[128],"(CGN)":[129],"(2)":[131],"form":[134],"concolic":[136],"prune":[139],"partial":[140],"intermediate":[144],"arise":[147],"during":[148],"computation.":[150],"We":[151],"have":[152],"implemented":[153],"our":[154,193],"tool":[158],"NGST2":[160,186],"use":[162,175],"it":[163],"Java":[167],"Python":[169],"Stream":[177],"functools":[179],"respectively.":[181],"experiments":[183],"show":[184],"significantly":[187],"outperforms":[188],"several":[189],"baselines":[190],"proposed":[194],"pruning":[198],"vital":[201],"achieving":[203],"good":[204],"results.":[205]},"counts_by_year":[{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":14},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
