{"id":"https://openalex.org/W2151326751","doi":"https://doi.org/10.1145/2500365.2500618","title":"A nanopass framework for commercial compiler development","display_name":"A nanopass framework for commercial compiler development","publication_year":2013,"publication_date":"2013-09-25","ids":{"openalex":"https://openalex.org/W2151326751","doi":"https://doi.org/10.1145/2500365.2500618","mag":"2151326751"},"language":"en","primary_location":{"id":"doi:10.1145/2500365.2500618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500365.2500618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th 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/A5028897181","display_name":"Andrew W. Keep","orcid":null},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Andrew W. Keep","raw_affiliation_strings":["University of Utah, Salt Lake City, UT, USA"],"affiliations":[{"raw_affiliation_string":"University of Utah, Salt Lake City, UT, USA","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5079493924","display_name":"R. Kent Dybvig","orcid":null},"institutions":[{"id":"https://openalex.org/I135428043","display_name":"Cisco Systems (United States)","ror":"https://ror.org/03yt1ez60","country_code":"US","type":"company","lineage":["https://openalex.org/I135428043"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"R. Kent Dybvig","raw_affiliation_strings":["Cisco Systems Inc., Research Triangle Park, NC, USA"],"affiliations":[{"raw_affiliation_string":"Cisco Systems Inc., Research Triangle Park, NC, USA","institution_ids":["https://openalex.org/I135428043"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5028897181"],"corresponding_institution_ids":["https://openalex.org/I223532165"],"apc_list":null,"apc_paid":null,"fwci":2.22,"has_fulltext":false,"cited_by_count":21,"citation_normalized_percentile":{"value":0.88441995,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"343","last_page":"350"},"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.9959999918937683,"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.9959999918937683,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9914000034332275,"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"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9807999730110168,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/compiler","display_name":"Compiler","score":0.9206240773200989},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8681463599205017},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.7593536972999573},{"id":"https://openalex.org/keywords/compiler-correctness","display_name":"Compiler correctness","score":0.7124649286270142},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.6722593903541565},{"id":"https://openalex.org/keywords/compiler-construction","display_name":"Compiler construction","score":0.6219867467880249},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6171726584434509},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.6061255931854248},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5734497904777527},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5420171022415161},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.5336877107620239},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.4922596514225006},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34481436014175415},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.2518618106842041}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.9206240773200989},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8681463599205017},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.7593536972999573},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.7124649286270142},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.6722593903541565},{"id":"https://openalex.org/C9957790","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler construction","level":3,"score":0.6219867467880249},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6171726584434509},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.6061255931854248},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5734497904777527},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5420171022415161},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.5336877107620239},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.4922596514225006},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34481436014175415},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.2518618106842041},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2500365.2500618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500365.2500618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},{"id":"pmh:oai:pqdtoai.proquest.com:3560746","is_oa":false,"landing_page_url":"http://pqdtopen.proquest.com/#viewpdf?dispub=3560746","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"thesis"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.5299999713897705,"id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":80,"referenced_works":["https://openalex.org/W62105794","https://openalex.org/W70764853","https://openalex.org/W99105187","https://openalex.org/W100466825","https://openalex.org/W155170228","https://openalex.org/W191103339","https://openalex.org/W582661777","https://openalex.org/W643702755","https://openalex.org/W1486562535","https://openalex.org/W1491178396","https://openalex.org/W1491578883","https://openalex.org/W1502533617","https://openalex.org/W1503831567","https://openalex.org/W1580664042","https://openalex.org/W1598340254","https://openalex.org/W1608714802","https://openalex.org/W1721908487","https://openalex.org/W1783388813","https://openalex.org/W1931764807","https://openalex.org/W1934931359","https://openalex.org/W1976218147","https://openalex.org/W1984698918","https://openalex.org/W1985450085","https://openalex.org/W1998466493","https://openalex.org/W2002301065","https://openalex.org/W2004944457","https://openalex.org/W2009775190","https://openalex.org/W2016618736","https://openalex.org/W2026156212","https://openalex.org/W2032053109","https://openalex.org/W2033675214","https://openalex.org/W2036245334","https://openalex.org/W2041042116","https://openalex.org/W2044636417","https://openalex.org/W2052937395","https://openalex.org/W2055806388","https://openalex.org/W2057085278","https://openalex.org/W2059416532","https://openalex.org/W2066905785","https://openalex.org/W2070531891","https://openalex.org/W2073771426","https://openalex.org/W2075545071","https://openalex.org/W2076988379","https://openalex.org/W2079398856","https://openalex.org/W2089921825","https://openalex.org/W2094455839","https://openalex.org/W2096081453","https://openalex.org/W2101225843","https://openalex.org/W2103705372","https://openalex.org/W2111084623","https://openalex.org/W2112502633","https://openalex.org/W2114922959","https://openalex.org/W2118172707","https://openalex.org/W2118382442","https://openalex.org/W2123200683","https://openalex.org/W2124509807","https://openalex.org/W2125872407","https://openalex.org/W2126126443","https://openalex.org/W2128224544","https://openalex.org/W2131021047","https://openalex.org/W2134717046","https://openalex.org/W2139647340","https://openalex.org/W2140509606","https://openalex.org/W2141706154","https://openalex.org/W2142928318","https://openalex.org/W2144540543","https://openalex.org/W2151479827","https://openalex.org/W2153185479","https://openalex.org/W2156184473","https://openalex.org/W2159430067","https://openalex.org/W2160248416","https://openalex.org/W2166894669","https://openalex.org/W2208923056","https://openalex.org/W2251730819","https://openalex.org/W2473146284","https://openalex.org/W2911336663","https://openalex.org/W2912126004","https://openalex.org/W4256011414","https://openalex.org/W4285719527","https://openalex.org/W6629148087"],"related_works":["https://openalex.org/W2078984893","https://openalex.org/W4253234344","https://openalex.org/W2911899620","https://openalex.org/W2552474338","https://openalex.org/W3092853977","https://openalex.org/W2999274628","https://openalex.org/W2004605222","https://openalex.org/W2151326751","https://openalex.org/W2014073886","https://openalex.org/W4237677661"],"abstract_inverted_index":{"Contemporary":[0],"compilers":[1,32],"must":[2],"typically":[3],"handle":[4],"sophisticated":[5,172],"high-level":[6],"source":[7],"languages,":[8],"generate":[9],"efficient":[10],"code":[11,122,156],"for":[12,98,129],"multiple":[13],"hardware":[14],"architectures":[15],"and":[16,19,24,110,120,146,165,177,200],"operating":[17],"systems,":[18],"support":[20],"source-level":[21],"debugging,":[22],"profiling,":[23],"other":[25],"program":[26],"development":[27],"tools.":[28],"As":[29],"a":[30,70,95,130,170,187],"result,":[31],"tend":[33],"to":[34,47,80,169,179],"be":[35],"among":[36],"the":[37,75,90,99,114,117,121,126,139,143,147,158,192,196,201,207],"most":[38],"complex":[39],"of":[40,57,69,116,133,149,189,191,203,206],"software":[41],"systems.":[42],"Nanopass":[43],"frameworks":[44],"are":[45],"designed":[46],"help":[48],"manage":[49],"this":[50,88],"complexity.":[51],"A":[52],"nanopass":[53,71,108,141],"compiler":[54,72,119,128,153],"is":[55,73,89],"comprised":[56],"many":[58],"single-task":[59],"passes":[60,77,205],"with":[61,210],"formally":[62],"defined":[63],"intermediate":[64],"languages.":[65],"The":[66,152],"perceived":[67],"downside":[68],"that":[74],"extra":[76],"will":[78],"lead":[79],"substantially":[81],"longer":[82],"compilation":[83],"times.":[84],"To":[85],"determine":[86],"whether":[87],"case,":[91],"we":[92,111],"have":[93,112],"created":[94],"plug":[96],"replacement":[97,202],"commercial":[100],"Chez":[101],"Scheme":[102],"compiler,":[103,145,194],"implemented":[104],"using":[105],"an":[106],"updated":[107,140],"framework,":[109,142],"compared":[113],"speed":[115],"new":[118,144],"it":[123],"generates":[124],"against":[125],"original":[127,193,208],"large":[131],"set":[132],"benchmark":[134],"programs.":[135],"This":[136],"paper":[137],"describes":[138],"results":[148],"our":[150],"experiments.":[151],"produces":[154],"faster":[155],"than":[157],"original,":[159],"averaging":[160],"15-27%":[161],"depending":[162],"on":[163],"architecture":[164],"optimization":[166],"level,":[167],"due":[168],"more":[171],"but":[173],"slower":[174,197],"register":[175,198],"allocator":[176,199],"improvements":[178],"several":[180],"optimizations.":[181],"Compilation":[182],"times":[183],"average":[184],"well":[185],"within":[186],"factor":[188],"two":[190],"despite":[195],"five":[204],"10":[209],"over":[211],"50":[212],"nanopasses.":[213]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2018,"cited_by_count":3},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":4}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
