{"id":"https://openalex.org/W3215883039","doi":"https://doi.org/10.1145/3486609.3487207","title":"On-stack replacement for program generators and source-to-source compilers","display_name":"On-stack replacement for program generators and source-to-source compilers","publication_year":2021,"publication_date":"2021-10-17","ids":{"openalex":"https://openalex.org/W3215883039","doi":"https://doi.org/10.1145/3486609.3487207","mag":"3215883039"},"language":"en","primary_location":{"id":"doi:10.1145/3486609.3487207","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3486609.3487207","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3486609.3487207","source":null,"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 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3486609.3487207","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5015770451","display_name":"Gr\u00e9gory M. Essertel","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Gr\u00e9gory M. Essertel","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5054261003","display_name":"Ruby Y. Tahboub","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ruby Y. Tahboub","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5003153354","display_name":"Tiark Rompf","orcid":"https://orcid.org/0000-0002-2068-3238"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tiark Rompf","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5015770451"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":0.7074,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.69068056,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"156","last_page":"169"},"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.9998999834060669,"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.9998999834060669,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9995999932289124,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.8146966695785522},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7028560042381287},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6833800673484802},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.6686223149299622},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.6175453066825867},{"id":"https://openalex.org/keywords/undo","display_name":"Undo","score":0.5409132242202759},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.5345304012298584},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.5323465466499329},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5249911546707153},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.5229440331459045},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5157570838928223},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5131117105484009},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4528071880340576},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.42545416951179504},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4246477782726288},{"id":"https://openalex.org/keywords/call-stack","display_name":"Call stack","score":0.4135352075099945}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8146966695785522},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7028560042381287},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6833800673484802},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.6686223149299622},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6175453066825867},{"id":"https://openalex.org/C2780154230","wikidata":"https://www.wikidata.org/wiki/Q513420","display_name":"Undo","level":2,"score":0.5409132242202759},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.5345304012298584},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.5323465466499329},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5249911546707153},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.5229440331459045},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5157570838928223},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5131117105484009},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4528071880340576},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.42545416951179504},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4246477782726288},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.4135352075099945},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3486609.3487207","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3486609.3487207","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3486609.3487207","source":null,"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 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3486609.3487207","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3486609.3487207","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3486609.3487207","source":null,"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 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1083356329","display_name":null,"funder_award_id":"1564207","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3747613611","display_name":null,"funder_award_id":"1553471","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6500779413","display_name":null,"funder_award_id":"DE-SC001805","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G7364598548","display_name":null,"funder_award_id":"DE-SC0018050","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G787217599","display_name":"FMitF: Track I: Symbolic Reasoning with Graph Networks","funder_award_id":"1918483","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/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3215883039.pdf","grobid_xml":"https://content.openalex.org/works/W3215883039.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W72484077","https://openalex.org/W1598886868","https://openalex.org/W1979823255","https://openalex.org/W1993335798","https://openalex.org/W2007920703","https://openalex.org/W2021080349","https://openalex.org/W2021246880","https://openalex.org/W2022144522","https://openalex.org/W2022800813","https://openalex.org/W2038412523","https://openalex.org/W2048423324","https://openalex.org/W2055312318","https://openalex.org/W2058213389","https://openalex.org/W2069902027","https://openalex.org/W2070262175","https://openalex.org/W2084845478","https://openalex.org/W2094455839","https://openalex.org/W2106771621","https://openalex.org/W2118547657","https://openalex.org/W2136952590","https://openalex.org/W2141293928","https://openalex.org/W2143609451","https://openalex.org/W2146766856","https://openalex.org/W2147578933","https://openalex.org/W2159558457","https://openalex.org/W2165046128","https://openalex.org/W2275121803","https://openalex.org/W2289151794","https://openalex.org/W2292788936","https://openalex.org/W2572804059","https://openalex.org/W2750784287","https://openalex.org/W2791759077","https://openalex.org/W2793541452","https://openalex.org/W2794632349","https://openalex.org/W2798416929","https://openalex.org/W2798432239","https://openalex.org/W2898896770","https://openalex.org/W2979523740","https://openalex.org/W3000286628","https://openalex.org/W3013366866","https://openalex.org/W3121850185","https://openalex.org/W3162747900","https://openalex.org/W4249620867"],"related_works":["https://openalex.org/W2030281933","https://openalex.org/W3138455083","https://openalex.org/W119121303","https://openalex.org/W4387773832","https://openalex.org/W2050572856","https://openalex.org/W2004337747","https://openalex.org/W1880498397","https://openalex.org/W2158718504","https://openalex.org/W4243308008","https://openalex.org/W3215883039"],"abstract_inverted_index":{"On-stack":[0],"replacement":[1],"(OSR)":[2],"describes":[3],"the":[4,72],"ability":[5],"to":[6,28],"replace":[7],"currently":[8],"executing":[9],"code":[10],"with":[11],"a":[12,16,23,35,55],"different":[13],"version,":[14],"either":[15],"more":[17,24,56],"optimized":[18],"one":[19,26],"(tiered":[20],"execution)":[21],"or":[22,46],"general":[25],"(deoptimization":[27],"undo":[29],"speculative":[30],"optimization).":[31],"While":[32],"OSR":[33,48,70],"is":[34],"key":[36],"component":[37],"in":[38,71],"all":[39],"modern":[40],"VMs":[41],"for":[42],"languages":[43],"like":[44],"Java":[45],"JavaScript,":[47],"has":[49,67],"only":[50,68],"recently":[51],"been":[52],"studied":[53],"as":[54],"abstract":[57],"program":[58],"transformation,":[59],"independent":[60],"of":[61,74],"language":[62],"VMs.":[63],"Still,":[64],"previous":[65],"work":[66],"considered":[69],"context":[73],"low-level":[75],"execution":[76],"models":[77],"based":[78],"on":[79],"stack":[80],"frames,":[81],"labels,":[82],"and":[83],"jumps.":[84]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
