{"id":"https://openalex.org/W4392265924","doi":"https://doi.org/10.1109/cgo57630.2024.10444847","title":"Revealing Compiler Heuristics Through Automated Discovery and Optimization","display_name":"Revealing Compiler Heuristics Through Automated Discovery and Optimization","publication_year":2024,"publication_date":"2024-02-28","ids":{"openalex":"https://openalex.org/W4392265924","doi":"https://doi.org/10.1109/cgo57630.2024.10444847"},"language":"en","primary_location":{"id":"doi:10.1109/cgo57630.2024.10444847","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo57630.2024.10444847","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/en/publications/47054d5b-b36b-4832-b4bb-073e44501b69","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5075217209","display_name":"Volker Seeker","orcid":"https://orcid.org/0000-0002-0120-895X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Volker Seeker","raw_affiliation_strings":["Meta AI,USA","Meta AI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta AI,USA","institution_ids":[]},{"raw_affiliation_string":"Meta AI, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034975204","display_name":"Chris Cummins","orcid":"https://orcid.org/0000-0001-8708-4515"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Chris Cummins","raw_affiliation_strings":["Meta AI,USA","Meta AI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta AI,USA","institution_ids":[]},{"raw_affiliation_string":"Meta AI, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032376930","display_name":"Murray Cole","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Murray Cole","raw_affiliation_strings":["The University of Edinburgh,UK","The University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh,UK","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"The University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bj\u00f6rn Franke","raw_affiliation_strings":["The University of Edinburgh,UK","The University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh,UK","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"The University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046756907","display_name":"Kim Hazelwood","orcid":"https://orcid.org/0000-0002-2713-8507"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Kim Hazelwood","raw_affiliation_strings":["Meta AI,USA","Meta AI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta AI,USA","institution_ids":[]},{"raw_affiliation_string":"Meta AI, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053757097","display_name":"Hugh Leather","orcid":"https://orcid.org/0000-0003-0664-4176"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hugh Leather","raw_affiliation_strings":["Meta AI,USA","Meta AI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Meta AI,USA","institution_ids":[]},{"raw_affiliation_string":"Meta AI, USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.4581,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.96438605,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"55","last_page":"66"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9983999729156494,"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.9983999729156494,"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.9958000183105469,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9955999851226807,"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/heuristics","display_name":"Heuristics","score":0.9499082565307617},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8600670099258423},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8382121324539185},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.6217721700668335},{"id":"https://openalex.org/keywords/heuristic","display_name":"Heuristic","score":0.5625823140144348},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5552793145179749},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4507184624671936},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.44788193702697754},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.43630585074424744},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.36265790462493896},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.35220658779144287},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.34981226921081543},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2792532444000244},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.16653171181678772},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.16035538911819458}],"concepts":[{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.9499082565307617},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8600670099258423},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8382121324539185},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.6217721700668335},{"id":"https://openalex.org/C173801870","wikidata":"https://www.wikidata.org/wiki/Q201413","display_name":"Heuristic","level":2,"score":0.5625823140144348},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5552793145179749},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4507184624671936},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.44788193702697754},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.43630585074424744},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.36265790462493896},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.35220658779144287},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.34981226921081543},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2792532444000244},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.16653171181678772},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.16035538911819458},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/cgo57630.2024.10444847","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo57630.2024.10444847","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/47054d5b-b36b-4832-b4bb-073e44501b69","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/47054d5b-b36b-4832-b4bb-073e44501b69","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Seeker, V, Cummins, C, Cole, M, Franke, B, Hazelwood, K & Leather, H 2024, Revealing Compiler Heuristics through Automated Discovery and Optimization. in CGO 2024: Proceedings of the 22nd ACM/IEEE International Symposium on Code Generation and Optimization. International Symposium on Code Generation and Optimization, Institute of Electrical and Electronics Engineers, pp. 55-66, 2024 International Symposium on Code Generation and Optimization, Edinburgh, United Kingdom, 2/03/24. https://doi.org/10.1109/CGO57630.2024.10444847","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.ed.ac.uk:publications/47054d5b-b36b-4832-b4bb-073e44501b69","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/389049758/Revealing_computer_heuristics_SEEKER_DOA31072023_AFV_CC_BY.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Seeker, V, Cummins, C, Cole, M, Franke, B, Hazelwood, K & Leather, H 2024, Revealing Compiler Heuristics through Automated Discovery and Optimization. in CGO 2024: Proceedings of the 22nd ACM/IEEE International Symposium on Code Generation and Optimization. International Symposium on Code Generation and Optimization, Institute of Electrical and Electronics Engineers, pp. 55-66, 2024 International Symposium on Code Generation and Optimization, Edinburgh, United Kingdom, 2/03/24. https://doi.org/10.1109/CGO57630.2024.10444847","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/47054d5b-b36b-4832-b4bb-073e44501b69","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/47054d5b-b36b-4832-b4bb-073e44501b69","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Seeker, V, Cummins, C, Cole, M, Franke, B, Hazelwood, K & Leather, H 2024, Revealing Compiler Heuristics through Automated Discovery and Optimization. in CGO 2024: Proceedings of the 22nd ACM/IEEE International Symposium on Code Generation and Optimization. International Symposium on Code Generation and Optimization, Institute of Electrical and Electronics Engineers, pp. 55-66, 2024 International Symposium on Code Generation and Optimization, Edinburgh, United Kingdom, 2/03/24. https://doi.org/10.1109/CGO57630.2024.10444847","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":36,"referenced_works":["https://openalex.org/W15442747","https://openalex.org/W109452506","https://openalex.org/W307918303","https://openalex.org/W350392096","https://openalex.org/W1509875415","https://openalex.org/W1583837637","https://openalex.org/W1967846636","https://openalex.org/W1991495385","https://openalex.org/W2055312318","https://openalex.org/W2096698236","https://openalex.org/W2100218206","https://openalex.org/W2104283600","https://openalex.org/W2118937112","https://openalex.org/W2133128124","https://openalex.org/W2155877593","https://openalex.org/W2618564128","https://openalex.org/W2786320458","https://openalex.org/W2808279976","https://openalex.org/W2888297879","https://openalex.org/W2962724414","https://openalex.org/W2979628762","https://openalex.org/W3004176791","https://openalex.org/W3008788679","https://openalex.org/W3082811184","https://openalex.org/W3120378074","https://openalex.org/W3130095569","https://openalex.org/W3163667142","https://openalex.org/W4220838981","https://openalex.org/W4238083723","https://openalex.org/W4294845020","https://openalex.org/W6604335577","https://openalex.org/W6678055996","https://openalex.org/W6748324931","https://openalex.org/W6749259350","https://openalex.org/W6753910507","https://openalex.org/W6788495927"],"related_works":["https://openalex.org/W4246454774","https://openalex.org/W2083681681","https://openalex.org/W2091689272","https://openalex.org/W2053033210","https://openalex.org/W4220800565","https://openalex.org/W1488300410","https://openalex.org/W1496844168","https://openalex.org/W1597127505","https://openalex.org/W2002505081","https://openalex.org/W2535844943"],"abstract_inverted_index":{"Tuning":[0],"compiler":[1,40,160,231],"heuristics":[2,33,64,93,103,136,157,176,279,301,330],"and":[3,20,36,77,111,167,212,232,312,332,345],"parameters":[4,173],"is":[5,73,117,122,127,129,183,290],"well":[6],"known":[7],"to":[8,96,114,137,268,276,302,317,326,334,372],"improve":[9],"optimization":[10,165,287],"outcomes":[11],"dramatically.":[12],"Prior":[13],"works":[14],"have":[15,61],"tuned":[16,267],"command":[17],"line":[18],"flags":[19],"a":[21,42,83,118,130,151,195,235,242,347,363,369,378],"few":[22],"expert":[23],"identified":[24,260,300,342],"heuristics.":[25],"However,":[26],"there":[27],"are":[28,162],"an":[29,198,270,318,366],"unknown":[30],"number":[31],"of":[32,44,46,55,86,101,107,109,132,142,194,225,255,293,306,340],"buried,":[34],"unmarked":[35],"unexposed":[37],"inside":[38],"the":[39,53,66,159,186,192,202,223,230,256,285,304,310,338],"as":[41],"consequence":[43],"decades":[45],"development":[47],"without":[48],"auto-tuning":[49,75,115],"being":[50],"foremost":[51],"in":[52,158,229,261],"minds":[54],"developers.":[56],"Many":[57],"may":[58],"not":[59,124],"even":[60],"been":[62],"considered":[63],"by":[65,324],"developers":[67],"who":[68],"wrote":[69],"them.":[70],"The":[71],"result":[72],"that":[74,121,153,161,206],"search":[76,277,349,352],"machine":[78,371],"learning":[79],"can":[80,264],"optimize":[81,269],"only":[82,331],"tiny":[84],"fraction":[85],"what":[87],"could":[88],"be":[89,266],"possible":[90],"if":[91,239],"all":[92,100,294],"were":[94],"available":[95,171,295],"tune.":[97],"Manually":[98],"discovering":[99],"these":[102,135],"hidden":[104],"among":[105,280],"millions":[106],"lines":[108],"code":[110,204,228],"exposing":[112],"them":[113],"tools":[116],"Herculean":[119],"task":[120],"simply":[123],"practical.":[125],"What":[126],"needed":[128],"method":[131],"automatically":[133,154,169,221],"finding":[134],"extract":[138],"every":[139],"last":[140],"drop":[141],"potential":[143,156,226],"optimization.":[144],"In":[145],"this":[146,262],"work,":[147],"we":[148,220,240,249,320],"propose":[149],"Heureka,":[150],"framework":[152],"identifies":[155],"highly":[163],"profitable":[164],"targets":[166,344,376],"then":[168,265,298],"finds":[170],"tuning":[172,343],"for":[174,278,377],"those":[175],"with":[177,350],"minimal":[178,351],"human":[179],"involvement.":[180],"Our":[181],"work":[182],"based":[184],"on":[185,218,361,368],"following":[187],"key":[188],"insight:":[189],"When":[190],"modifying":[191],"output":[193,207,224,247],"heuristic":[196,227,243,375],"within":[197],"acceptable":[199,252],"value":[200,253],"range,":[201],"calling":[203],"using":[205,234],"will":[208],"still":[209],"function":[210],"correctly":[211],"produce":[213],"semantically":[214],"correct":[215],"results.":[216],"Building":[217],"that,":[219],"manipulate":[222],"decide":[233],"Differential":[236],"Testing":[237],"approach":[238],"found":[241],"or":[244],"not.":[245],"During":[246],"manipulation,":[248],"also":[250],"explore":[251],"ranges":[254],"targeted":[257],"code.":[258],"Heuristics":[259],"way":[263],"objective":[271],"function.":[272],"We":[273,297],"used":[274],"Heureka":[275,359],"eight":[281],"thousand":[282],"functions":[283],"from":[284,309,355],"LLVM":[286],"passes,":[288],"which":[289],"about":[291],"2%":[292],"functions.":[296],"use":[299],"tune":[303],"compilation":[305],"38":[307],"applications":[308],"NAS":[311],"Polybench":[313],"benchmark":[314],"suites.":[315],"Compared":[316],"-ozbaseline":[319],"reduce":[321],"binary":[322],"sizes":[323],"up":[325,333],"11.6%":[327],"considering":[328],"single":[329,370],"19.5%":[335],"when":[336],"stacking":[337],"effects":[339],"multiple":[341],"applying":[346],"random":[348],"effort.":[353],"Generalizing":[354],"existing":[356],"analysis":[357],"results,":[358],"needs,":[360],"average,":[362],"little":[364],"under":[365],"hour":[367],"identify":[373],"relevant":[374],"previously":[379],"unseen":[380],"application.":[381]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":2}],"updated_date":"2026-07-07T14:30:12.667765","created_date":"2025-10-10T00:00:00"}
