{"id":"https://openalex.org/W4387674229","doi":"https://doi.org/10.1145/3622825","title":"Concrete Type Inference for Code Optimization using Machine Learning with SMT Solving","display_name":"Concrete Type Inference for Code Optimization using Machine Learning with SMT Solving","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387674229","doi":"https://doi.org/10.1145/3622825"},"language":"en","primary_location":{"id":"doi:10.1145/3622825","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622825","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622825","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/3622825","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040434791","display_name":"Fangke Ye","orcid":"https://orcid.org/0000-0002-8545-6116"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Fangke Ye","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, USA"],"raw_orcid":"https://orcid.org/0000-0002-8545-6116","affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082818548","display_name":"Jisheng Zhao","orcid":"https://orcid.org/0000-0003-0334-0492"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jisheng Zhao","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, USA"],"raw_orcid":"https://orcid.org/0000-0003-0334-0492","affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067511475","display_name":"Jun Shirako","orcid":"https://orcid.org/0000-0002-7900-7680"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jun Shirako","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, USA"],"raw_orcid":"https://orcid.org/0000-0002-7900-7680","affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043513001","display_name":"Vivek Sarkar","orcid":"https://orcid.org/0000-0002-3433-8830"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vivek Sarkar","raw_affiliation_strings":["Georgia Institute of Technology, Atlanta, USA"],"raw_orcid":"https://orcid.org/0000-0002-3433-8830","affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, Atlanta, USA","institution_ids":["https://openalex.org/I130701444"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.1568,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.90270084,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"773","last_page":"800"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9927999973297119,"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.9927999973297119,"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.9919000267982483,"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/T11975","display_name":"Evolutionary Algorithms and Applications","score":0.9625999927520752,"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/type-inference","display_name":"Type inference","score":0.8233646154403687},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.813483476638794},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7900114059448242},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.649409294128418},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6021831035614014},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5793518424034119},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4763750731945038},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.47036096453666687},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.43309056758880615},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3543580174446106},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3330910801887512},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.3259151577949524},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3207727074623108},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.26189151406288147}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.8233646154403687},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.813483476638794},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7900114059448242},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.649409294128418},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6021831035614014},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5793518424034119},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4763750731945038},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.47036096453666687},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.43309056758880615},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3543580174446106},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3330910801887512},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.3259151577949524},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3207727074623108},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.26189151406288147}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622825","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622825","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622825","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/3622825","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622825","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622825","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/7","display_name":"Affordable and clean energy","score":0.5699999928474426}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387674229.pdf","grobid_xml":"https://content.openalex.org/works/W4387674229.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W1481397690","https://openalex.org/W2091909330","https://openalex.org/W2166822586","https://openalex.org/W2245493112","https://openalex.org/W2342249984","https://openalex.org/W2883903648","https://openalex.org/W2899384793","https://openalex.org/W2954950681","https://openalex.org/W2962784628","https://openalex.org/W2963935794","https://openalex.org/W3003257820","https://openalex.org/W3018033251","https://openalex.org/W3022049116","https://openalex.org/W3100869085","https://openalex.org/W3105735055","https://openalex.org/W3110471741","https://openalex.org/W3129781741","https://openalex.org/W3194752080","https://openalex.org/W3198685994","https://openalex.org/W4225922019","https://openalex.org/W4281763794","https://openalex.org/W4284685949","https://openalex.org/W4284687350","https://openalex.org/W4287819720","https://openalex.org/W4313563756","https://openalex.org/W4321184667"],"related_works":["https://openalex.org/W2058965144","https://openalex.org/W2164382479","https://openalex.org/W98480971","https://openalex.org/W2150291671","https://openalex.org/W2027972911","https://openalex.org/W2146343568","https://openalex.org/W2013643406","https://openalex.org/W2778498407","https://openalex.org/W3102142559","https://openalex.org/W3007026952"],"abstract_inverted_index":{"Despite":[0],"the":[1,25,72,118,163,188,208,220,262],"widespread":[2],"popularity":[3],"of":[4,27,66,74,85,129,155,176,236,287],"dynamically":[5,113],"typed":[6,114,196],"languages":[7],"such":[8],"as":[9,50,254,266],"Python,":[10,246],"it":[11],"is":[12,103,193,250],"well":[13],"known":[14],"that":[15,102,207],"they":[16],"pose":[17],"significant":[18,82,276],"challenges":[19],"to":[20,24,45,80,98,105,120,168,201,231,244],"code":[21,55,75,110,171,202],"optimization":[22,111],"due":[23,230],"lack":[26],"concrete":[28,99,177],"type":[29,48,100,123,130,166,178,232],"information.":[30,124],"To":[31],"overcome":[32],"this":[33,61,91],"limitation,":[34],"many":[35],"ahead-of-time":[36],"optimizing":[37,257,264],"compiler":[38,265],"approaches":[39],"for":[40,53,112,172,187,223],"Python":[41,67],"rely":[42],"on":[43,148,278],"programmers":[44,59],"provide":[46,60,121],"optional":[47],"information":[49],"a":[51,63,81,95,153,173,183,267,275],"prerequisite":[52],"extensive":[54],"optimization.":[56,203],"Since":[57],"few":[58],"information,":[62],"large":[64],"majority":[65],"applications":[68],"are":[69,198],"executed":[70],"without":[71,116],"benefit":[73],"optimization,":[76],"thereby":[77],"contributing":[78],"collectively":[79],"worldwide":[83],"wastage":[84],"compute":[86,288],"and":[87,151,157,217,225,259,289],"energy":[88,290],"resources.":[89,291],"In":[90],"paper,":[92],"we":[93],"introduce":[94],"new":[96],"approach":[97,135,160],"inference":[101,131,146,167],"shown":[104],"be":[106],"effective":[107],"in":[108,133,211,234],"enabling":[109],"languages,":[115],"requiring":[117],"programmer":[119],"any":[122],"We":[125],"explore":[126],"three":[127],"kinds":[128],"algorithms":[132,222],"our":[134],"based":[136,147],"on:":[137],"1)":[138,156,224],"machine":[139],"learning":[140],"models":[141],"including":[142,182],"GPT-4,":[143],"2)":[144],"constraint-based":[145],"SMT":[149],"solving,":[150],"3)":[152,212,249],"combination":[154],"2).":[158,226],"Our":[159],"then":[161,199],"uses":[162],"output":[164],"from":[165],"generate":[169],"multi-version":[170],"bounded":[174],"number":[175],"options,":[179],"while":[180,281],"also":[181,282],"catch-all":[184],"untyped":[185],"version":[186],"case":[189],"when":[190,247],"no":[191],"match":[192],"found.":[194],"The":[195,227],"versions":[197],"amenable":[200],"Experimental":[204],"results":[205],"show":[206],"combined":[209],"algorithm":[210],"delivers":[213],"far":[214],"superior":[215],"precision":[216],"performance":[218,228,271],"than":[219],"separate":[221],"improvement":[229],"inference,":[233],"terms":[235],"geometric":[237],"mean":[238],"speedup":[239],"across":[240],"all":[241],"benchmarks":[242],"compared":[243],"standard":[245],"using":[248],"26.4\u00d7":[251],"with":[252,261],"Numba":[253],"an":[255],"AOT":[256],"back-end":[258],"62.2\u00d7":[260],"Intrepydd":[263],"back-end.":[268],"These":[269],"vast":[270],"improvements":[272],"can":[273],"have":[274],"impact":[277],"programmers\u2019":[279],"productivity,":[280],"reducing":[283],"their":[284],"applications\u2019":[285],"use":[286]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
