{"id":"https://openalex.org/W2533429627","doi":"https://doi.org/10.1145/2983990.2984006","title":"Speeding up machine-code synthesis","display_name":"Speeding up machine-code synthesis","publication_year":2016,"publication_date":"2016-10-19","ids":{"openalex":"https://openalex.org/W2533429627","doi":"https://doi.org/10.1145/2983990.2984006","mag":"2533429627"},"language":"en","primary_location":{"id":"doi:10.1145/2983990.2984006","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2983990.2984006","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2984006&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=2984006&type=pdf","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101961454","display_name":"Venkatesh Srinivasan","orcid":null},"institutions":[{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Venkatesh Srinivasan","raw_affiliation_strings":["University of Wisconsin-Madison, USA"],"affiliations":[{"raw_affiliation_string":"University of Wisconsin-Madison, USA","institution_ids":["https://openalex.org/I135310074"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101688712","display_name":"Tushar Sharma","orcid":"https://orcid.org/0000-0002-5250-9533"},"institutions":[{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tushar Sharma","raw_affiliation_strings":["University of Wisconsin-Madison, USA"],"affiliations":[{"raw_affiliation_string":"University of Wisconsin-Madison, USA","institution_ids":["https://openalex.org/I135310074"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5066155126","display_name":"Thomas Reps","orcid":"https://orcid.org/0000-0002-5676-9949"},"institutions":[{"id":"https://openalex.org/I4210135696","display_name":"GrammaTech (United States)","ror":"https://ror.org/03mwfxd89","country_code":"US","type":"company","lineage":["https://openalex.org/I4210135696"]},{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thomas Reps","raw_affiliation_strings":["University of Wisconsin-Madison, USA / GrammaTech, USA"],"affiliations":[{"raw_affiliation_string":"University of Wisconsin-Madison, USA / GrammaTech, USA","institution_ids":["https://openalex.org/I4210135696","https://openalex.org/I135310074"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5101961454"],"corresponding_institution_ids":["https://openalex.org/I135310074"],"apc_list":null,"apc_paid":null,"fwci":1.2799,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.79628618,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"165","last_page":"180"},"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.9997000098228455,"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.9997000098228455,"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.9988999962806702,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9976000189781189,"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/computer-science","display_name":"Computer science","score":0.8309329748153687},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.6283459663391113},{"id":"https://openalex.org/keywords/pruning","display_name":"Pruning","score":0.5789024829864502},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5554505586624146},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.530507504940033},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5144358277320862},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.48549798130989075},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4810202717781067},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.45734310150146484},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.4525061547756195},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.4422043263912201},{"id":"https://openalex.org/keywords/heuristic","display_name":"Heuristic","score":0.4335533082485199},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.35969221591949463},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.333046555519104},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17789021134376526},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.1763370931148529},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.14074495434761047}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8309329748153687},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.6283459663391113},{"id":"https://openalex.org/C108010975","wikidata":"https://www.wikidata.org/wiki/Q500094","display_name":"Pruning","level":2,"score":0.5789024829864502},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5554505586624146},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.530507504940033},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5144358277320862},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.48549798130989075},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4810202717781067},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.45734310150146484},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.4525061547756195},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.4422043263912201},{"id":"https://openalex.org/C173801870","wikidata":"https://www.wikidata.org/wiki/Q201413","display_name":"Heuristic","level":2,"score":0.4335533082485199},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35969221591949463},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.333046555519104},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17789021134376526},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.1763370931148529},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.14074495434761047},{"id":"https://openalex.org/C6557445","wikidata":"https://www.wikidata.org/wiki/Q173113","display_name":"Agronomy","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"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/2983990.2984006","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2983990.2984006","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2984006&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/2983990.2984006","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2983990.2984006","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=2984006&type=pdf","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2300527280","display_name":null,"funder_award_id":"8750-14-2-0270","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G2575196006","display_name":null,"funder_award_id":"FA8750-14-2-0270","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G4577670171","display_name":null,"funder_award_id":"FA8750-15-C-0082","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G5505183014","display_name":null,"funder_award_id":"MUSE and STAC programs","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G5744321116","display_name":null,"funder_award_id":"FA8750-14-2-0270 and FA8750-15-C-0082","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"},{"id":"https://openalex.org/G698519724","display_name":null,"funder_award_id":"FA8750-14-2-0270","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"},{"id":"https://openalex.org/G898061048","display_name":null,"funder_award_id":"8750-14-2-0270","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"}],"funders":[{"id":"https://openalex.org/F4320306555","display_name":"Wisconsin Alumni Research Foundation","ror":"https://ror.org/00hwxbz16"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320337368","display_name":"Division of Graduate Education","ror":"https://ror.org/00whkrf32"},{"id":"https://openalex.org/F4320338294","display_name":"Air Force Research Laboratory","ror":"https://ror.org/02e2egq70"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2533429627.pdf","grobid_xml":"https://content.openalex.org/works/W2533429627.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W17195072","https://openalex.org/W1556604985","https://openalex.org/W1744150050","https://openalex.org/W1971065581","https://openalex.org/W1997385049","https://openalex.org/W2030906223","https://openalex.org/W2034314861","https://openalex.org/W2036853599","https://openalex.org/W2057455870","https://openalex.org/W2063257831","https://openalex.org/W2078113878","https://openalex.org/W2079235644","https://openalex.org/W2114012357","https://openalex.org/W2119251836","https://openalex.org/W2136285318","https://openalex.org/W2143861926","https://openalex.org/W2147015581","https://openalex.org/W2150871888","https://openalex.org/W2156981320","https://openalex.org/W2160145830","https://openalex.org/W2170371367","https://openalex.org/W2293962294","https://openalex.org/W2294628582","https://openalex.org/W2330908417","https://openalex.org/W2535644961","https://openalex.org/W4301666354","https://openalex.org/W6600698099"],"related_works":["https://openalex.org/W4232768799","https://openalex.org/W179346248","https://openalex.org/W1777501891","https://openalex.org/W181269922","https://openalex.org/W1493727516","https://openalex.org/W2567138568","https://openalex.org/W91735429","https://openalex.org/W3020408162","https://openalex.org/W2533429627","https://openalex.org/W4237708614"],"abstract_inverted_index":{"Machine-code":[0],"synthesis":[1,137,154,167],"is":[2],"the":[3,42,64,84,109,118,153,162],"problem":[4],"of":[5,105,120,138,143],"searching":[6],"for":[7,55,60,117,127,140,161],"an":[8,51,74],"instruction":[9,34,38,130],"sequence":[10],"that":[11,133],"implements":[12],"a":[13,18,56,88,96,103],"semantic":[14],"specification,":[15],"given":[16],"as":[17],"formula":[19],"in":[20,46,50,87,114],"quantifier-free":[21],"bit-vector":[22],"logic":[23],"(QFBV).":[24],"Instruction":[25],"sets":[26],"like":[27],"Intel's":[28,128],"IA-32":[29,129],"have":[30],"around":[31],"43,000":[32],"unique":[33],"schemas;":[35],"this":[36,77],"huge":[37],"pool,":[39],"along":[40],"with":[41],"exponential":[43],"cost":[44],"inherent":[45],"enumerative":[47],"synthesis,":[48],"results":[49],"enormous":[52],"search":[53],"space":[54],"machine-code":[57,90,123],"synthesizer:":[58],"even":[59],"relatively":[61],"small":[62],"specifications,":[63],"synthesizer":[65,91],"might":[66],"take":[67],"several":[68,81],"hours":[69],"or":[70],"days":[71],"to":[72,83,95],"find":[73],"implementation.":[75],"In":[76,93],"paper,":[78],"we":[79,112],"present":[80],"improvements":[82,101,135],"algorithms":[85],"used":[86],"state-of-the-art":[89],"McSynth.":[92],"addition":[94],"novel":[97,115],"pruning":[98],"heuristic,":[99],"our":[100,134],"incorporate":[102],"number":[104],"ideas":[106],"known":[107],"from":[108],"literature,":[110],"which":[111,147],"adapt":[113],"ways":[116],"purpose":[119],"speeding":[121,151],"up":[122,152,166],"synthesis.":[124],"Our":[125],"experiments":[126],"set":[131],"show":[132],"enable":[136],"code":[139],"12":[141],"out":[142],"14":[144],"formulas":[145],"on":[146],"McSynth":[148],"times":[149],"out,":[150],"time":[155],"by":[156,168],"at":[157],"least":[158],"1981X,":[159],"and":[160],"remaining":[163],"formulas,":[164],"speeds":[165],"3X.":[169]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
