{"id":"https://openalex.org/W4399851393","doi":"https://doi.org/10.1145/3656389","title":"Optimistic Stack Allocation and Dynamic Heapification for Managed Runtimes","display_name":"Optimistic Stack Allocation and Dynamic Heapification for Managed Runtimes","publication_year":2024,"publication_date":"2024-06-20","ids":{"openalex":"https://openalex.org/W4399851393","doi":"https://doi.org/10.1145/3656389"},"language":"en","primary_location":{"id":"doi:10.1145/3656389","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656389","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656389","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/3656389","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017132690","display_name":"Aditya Anand","orcid":"https://orcid.org/0000-0003-3752-3908"},"institutions":[{"id":"https://openalex.org/I162827531","display_name":"Indian Institute of Technology Bombay","ror":"https://ror.org/02qyf5152","country_code":"IN","type":"education","lineage":["https://openalex.org/I162827531"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Aditya Anand","raw_affiliation_strings":["Indian Institute of Technology Bombay, Mumbai, India"],"raw_orcid":"https://orcid.org/0000-0003-3752-3908","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Bombay, Mumbai, India","institution_ids":["https://openalex.org/I162827531"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007106719","display_name":"S S S N V Adithya","orcid":null},"institutions":[{"id":"https://openalex.org/I9579091","display_name":"Indian Institute of Technology Mandi","ror":"https://ror.org/05r9r2f34","country_code":"IN","type":"education","lineage":["https://openalex.org/I9579091"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Solai Adithya","raw_affiliation_strings":["Indian Institute of Technology Mandi, Mandi, India"],"raw_orcid":"https://orcid.org/0009-0004-6108-150X","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Mandi, Mandi, India","institution_ids":["https://openalex.org/I9579091"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027474382","display_name":"Swapnil Rustagi","orcid":"https://orcid.org/0009-0001-4685-2052"},"institutions":[{"id":"https://openalex.org/I9579091","display_name":"Indian Institute of Technology Mandi","ror":"https://ror.org/05r9r2f34","country_code":"IN","type":"education","lineage":["https://openalex.org/I9579091"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Swapnil Rustagi","raw_affiliation_strings":["Indian Institute of Technology Mandi, Mandi, India"],"raw_orcid":"https://orcid.org/0009-0001-4685-2052","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Mandi, Mandi, India","institution_ids":["https://openalex.org/I9579091"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5099292362","display_name":"Priyam Seth","orcid":null},"institutions":[{"id":"https://openalex.org/I9579091","display_name":"Indian Institute of Technology Mandi","ror":"https://ror.org/05r9r2f34","country_code":"IN","type":"education","lineage":["https://openalex.org/I9579091"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Priyam Seth","raw_affiliation_strings":["Indian Institute of Technology Mandi, Mandi, India"],"raw_orcid":"https://orcid.org/0009-0002-1414-9837","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Mandi, Mandi, India","institution_ids":["https://openalex.org/I9579091"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017443088","display_name":"Vijay Sundaresan","orcid":"https://orcid.org/0009-0006-9342-4356"},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Vijay Sundaresan","raw_affiliation_strings":["IBM Canada Lab, Markham, Canada"],"raw_orcid":"https://orcid.org/0009-0006-9342-4356","affiliations":[{"raw_affiliation_string":"IBM Canada Lab, Markham, Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031111759","display_name":"Daryl Maier","orcid":"https://orcid.org/0009-0006-8467-3270"},"institutions":[{"id":"https://openalex.org/I4210113654","display_name":"IBM (Canada)","ror":"https://ror.org/025sxka56","country_code":"CA","type":"company","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210113654"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Daryl Maier","raw_affiliation_strings":["IBM Canada Lab, Markham, Canada"],"raw_orcid":"https://orcid.org/0009-0006-8467-3270","affiliations":[{"raw_affiliation_string":"IBM Canada Lab, Markham, Canada","institution_ids":["https://openalex.org/I4210113654"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5022804082","display_name":"V. Krishna Nandivada","orcid":"https://orcid.org/0000-0002-5949-0046"},"institutions":[{"id":"https://openalex.org/I24676775","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49","country_code":"IN","type":"education","lineage":["https://openalex.org/I24676775"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"V. Krishna Nandivada","raw_affiliation_strings":["Indian Institute of Technology Madras, Chennai, India"],"raw_orcid":"https://orcid.org/0000-0002-5949-0046","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Madras, Chennai, India","institution_ids":["https://openalex.org/I24676775"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5037950146","display_name":"Manas Thakur","orcid":"https://orcid.org/0000-0002-0740-9701"},"institutions":[{"id":"https://openalex.org/I162827531","display_name":"Indian Institute of Technology Bombay","ror":"https://ror.org/02qyf5152","country_code":"IN","type":"education","lineage":["https://openalex.org/I162827531"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Manas Thakur","raw_affiliation_strings":["Indian Institute of Technology Bombay, Mumbai, India"],"raw_orcid":"https://orcid.org/0000-0002-0740-9701","affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Bombay, Mumbai, India","institution_ids":["https://openalex.org/I162827531"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":8,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.7719,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.84873323,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"8","issue":"PLDI","first_page":"296","last_page":"319"},"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.9983999729156494,"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.9983999729156494,"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.996999979019165,"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/T11424","display_name":"Security and Verification in Computing","score":0.9965000152587891,"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/stack","display_name":"Stack (abstract data type)","score":0.7858134508132935},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6895278096199036},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6039940714836121},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.37568187713623047},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20270398259162903}],"concepts":[{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.7858134508132935},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6895278096199036},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6039940714836121},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.37568187713623047},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20270398259162903}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3656389","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656389","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656389","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/3656389","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656389","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656389","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/9","display_name":"Industry, innovation and infrastructure","score":0.6200000047683716}],"awards":[{"id":"https://openalex.org/G2939117654","display_name":null,"funder_award_id":"1101, 1156","funder_id":"https://openalex.org/F4320333755","funder_display_name":"IBM Canada"}],"funders":[{"id":"https://openalex.org/F4320333755","display_name":"IBM Canada","ror":"https://ror.org/025sxka56"}],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4399851393.pdf"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W1525893933","https://openalex.org/W1536098516","https://openalex.org/W2006638707","https://openalex.org/W2014530617","https://openalex.org/W2019555613","https://openalex.org/W2075675735","https://openalex.org/W2077850509","https://openalex.org/W2095558030","https://openalex.org/W2102839400","https://openalex.org/W2109268862","https://openalex.org/W2110588041","https://openalex.org/W2161600851","https://openalex.org/W2162544703","https://openalex.org/W2167363133","https://openalex.org/W2955188035","https://openalex.org/W3113163436","https://openalex.org/W4233730851","https://openalex.org/W4234229576","https://openalex.org/W4251478049","https://openalex.org/W4252411141","https://openalex.org/W4312709848","https://openalex.org/W6635659031","https://openalex.org/W6911260927","https://openalex.org/W7034024642"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2380576232","https://openalex.org/W2937054111","https://openalex.org/W2066223521","https://openalex.org/W2013178899","https://openalex.org/W373327546","https://openalex.org/W2321534397","https://openalex.org/W2058958858","https://openalex.org/W2077601556"],"abstract_inverted_index":{"The":[0,239],"runtimes":[1,29],"of":[2,32,68,85,142,156,168,176,207,216,245,260,290,308],"managed":[3,121],"object-oriented":[4],"languages":[5],"such":[6,28,86],"as":[7],"Java":[8],"allocate":[9],"objects":[10,150,291],"on":[11,16,60,151,292],"the":[12,65,69,77,83,98,140,163,174,193,201,227,231,235,242,251,257,261,268,275,293,296,306],"heap,":[13],"and":[14,40,159,241,255,279,311],"rely":[15],"automatic":[17],"garbage":[18],"collection":[19],"(GC)":[20],"techniques":[21],"for":[22,148,237,318],"freeing":[23],"up":[24,63],"unused":[25],"objects.":[26],"Most":[27],"also":[30],"consist":[31],"just-in-time":[33],"(JIT)":[34],"compilers":[35],"that":[36,49,135,198,233,281],"optimize":[37],"memory":[38],"access":[39],"GC":[41,309],"times":[42],"by":[43,221],"employing":[44],"escape":[45,52,146,180,277],"analysis:":[46],"an":[47],"object":[48],"does":[50],"not":[51,113],"(outlive)":[53],"its":[54],"allocating":[55,149,285],"method":[56],"can":[57],"be":[58],"allocated":[59],"(and":[61],"freed":[62],"with)":[64],"stack":[66,185,217,298],"frame":[67],"corresponding":[70],"method.":[71],"However,":[72],"in":[73,80,119,162,250,256,284,305],"order":[74],"to":[75,105,115,138,225,301],"minimize":[76],"time":[78],"spent":[79],"JIT":[81,188],"compilation,":[82],"scope":[84],"useful":[87],"analyses":[88,109],"is":[89,103,112],"quite":[90],"limited,":[91],"thereby":[92],"restricting":[93],"their":[94,117],"precision":[95],"significantly.":[96],"On":[97],"contrary,":[99],"even":[100],"though":[101],"it":[102,111,182,191,211,282],"feasible":[104],"perform":[106],"precise":[107,144],"program":[108],"statically,":[110],"possible":[114],"use":[116],"results":[118,141,175],"a":[120,124,132,143,177,204,222,286,302],"runtime":[122,243],"without":[123],"closed-world":[125],"assumption.":[126],"In":[127],"this":[128],"paper,":[129],"we":[130,270],"propose":[131],"static+dynamic":[133],"scheme":[134,166,273],"allows":[136],"one":[137],"harness":[139],"static":[145,223,240],"analysis":[147,278],"stack,":[152],"while":[153],"taking":[154],"care":[155],"both":[157],"soundness":[158],"efficiency":[160],"concerns":[161],"runtime.":[164],"Our":[165],"comprises":[167],"three":[169],"key":[170],"ideas.":[171],"First,":[172],"using":[173,203],"statically":[178],"performed":[179],"analysis,":[181,224],"performs":[183],"optimistic":[184],"allocation":[186,299],"during":[187],"compilation.":[189],"Second,":[190],"handles":[192],"challenges":[194],"associated":[195,229],"with":[196,230,274],"features":[197],"may":[199],"invalidate":[200],"optimism,":[202],"novel":[205,214],"idea":[206],"dynamic":[208],"heapification.":[209,238],"Third,":[210],"uses":[212],"another":[213],"notion":[215],"ordering,":[218],"again":[219],"supported":[220],"reduce":[226],"overheads":[228],"checks":[232],"determine":[234],"need":[236],"components":[244],"our":[246,272],"approach":[247],"are":[248],"implemented":[249],"Soot":[252],"optimization":[253],"framework":[254],"tiered":[258],"infrastructure":[259],"Eclipse":[262],"OpenJ9":[263],"VM,":[264],"respectively.":[265],"To":[266],"evaluate":[267],"benefits,":[269],"compare":[271],"existing":[276],"find":[280],"succeeds":[283],"much":[287],"larger":[288],"number":[289,307],"stack.":[294],"Furthermore,":[295],"enhanced":[297],"leads":[300],"significant":[303],"reduction":[304],"cycles":[310],"brings":[312],"decent":[313],"performance":[314],"improvements,":[315],"especially":[316],"suited":[317],"constrained-memory":[319],"environments.":[320]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
