{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,18]],"date-time":"2026-01-18T13:37:24Z","timestamp":1768743444429,"version":"3.49.0"},"reference-count":114,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T00:00:00Z","timestamp":1697414400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2023,10,16]]},"abstract":"<jats:p>After decades of research, constructing call graphs for modern C-based software remains either imprecise or inefficient when scaling up to the ever-growing complexity. The main culprit is the difficulty of resolving function pointers, as precise pointer analyses are cubic in nature and become exponential when considering calling contexts. This paper takes a practical stance by first conducting a comprehensive empirical study of function pointer manipulations in the wild. By investigating 5355 indirect calls in five popular open-source systems, we conclude that, instead of the past uniform treatments for function pointers, a cocktail approach can be more effective in \u201csqueezing\u201d the number of difficult pointers to a minimum using a potpourri of cheap methods. In particular, we decompose the costs of constructing highly precise call graphs of big code by tailoring several increasingly precise algorithms and synergizing them into a concerted workflow. As a result, many indirect calls can be precisely resolved in an efficient and principled fashion, thereby reducing the final, expensive refinements. This is, in spirit, similar to the well-known cocktail medical therapy.<\/jats:p>\n          <jats:p>The results are encouraging \u2014 our implemented prototype called Coral can achieve similar precision versus the previous field-, flow-, and context-sensitive Andersen-style call graph construction, yet scale up to millions of lines of code for the first time, to the best of our knowledge. Moreover, by evaluating the produced call graphs through the lens of downstream clients (i.e., use-after-free detection, thin slicing, and directed grey-box fuzzing), the results show that Coral can dramatically improve their effectiveness for better vulnerability hunting, understanding, and reproduction. More excitingly, we found twelve confirmed bugs (six impacted by indirect calls) in popular systems (e.g., MariaDB), spreading across multiple historical versions.<\/jats:p>","DOI":"10.1145\/3622833","type":"journal-article","created":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T15:41:29Z","timestamp":1697470889000},"page":"1001-1033","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["A Cocktail Approach to Practical Call Graph Construction"],"prefix":"10.1145","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6340-1416","authenticated-orcid":false,"given":"Yuandao","family":"Cai","sequence":"first","affiliation":[{"name":"Hong Kong University of Science and Technology, Hong Kong, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6417-1034","authenticated-orcid":false,"given":"Charles","family":"Zhang","sequence":"additional","affiliation":[{"name":"Hong Kong University of Science and Technology, Hong Kong, China"}]}],"member":"320","published-online":{"date-parts":[[2023,10,16]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Inc. 2020 Synopsys. [n. d.]. The Heartbleed Bug. https:\/\/heartbleed.com\/ \t\t\t\t  Inc. 2020 Synopsys. [n. d.]. The Heartbleed Bug. https:\/\/heartbleed.com\/"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2956925"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_30"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_3"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2824234"},{"key":"e_1_2_1_6_1","unstructured":"Lars Ole Andersen. 1994. Program Analysis and Specialization for the C Programming Language. DIKU. \t\t\t\t  Lars Ole Andersen. 1994. Program Analysis and Specialization for the C Programming Language. DIKU."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.1999.756682"},{"key":"e_1_2_1_8_1","volume-title":"The Problems with Global Variables. https:\/\/embeddedartistry.com\/fieldatlas\/the-problems-with-global-variables\/ Accessed","author":"Artistry Embedded","year":"2023","unstructured":"Embedded Artistry . 2021. The Problems with Global Variables. https:\/\/embeddedartistry.com\/fieldatlas\/the-problems-with-global-variables\/ Accessed : March 6, 2023 Embedded Artistry. 2021. The Problems with Global Variables. https:\/\/embeddedartistry.com\/fieldatlas\/the-problems-with-global-variables\/ Accessed: March 6, 2023"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594299"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2004.16"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31985-6_19"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24723-4_2"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-53413-7_5"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2020.24"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3564625.3564627"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646353.1646374"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134020"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2017.68"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3054924"},{"key":"e_1_2_1_20_1","volume-title":"Place Your Locks Well: Understanding and Detecting Lock Misuse Bugs. In 32nd USENIX Security Symposium, USENIX Security 2023","author":"Cai Yuandao","year":"2023","unstructured":"Yuandao Cai , Peisen Yao , Chengfeng Ye , and Charles Zhang . 2023 . Place Your Locks Well: Understanding and Detecting Lock Misuse Bugs. In 32nd USENIX Security Symposium, USENIX Security 2023 , Anaheim, CA, USA , August 9-11, 2023, Joseph A. Calandrino and Carmela Troncoso (Eds.). USENIX Association. https:\/\/www.usenix.org\/conference\/usenixsecurity23\/presentation\/cai-yuandao Yuandao Cai, Peisen Yao, Chengfeng Ye, and Charles Zhang. 2023. Place Your Locks Well: Understanding and Detecting Lock Misuse Bugs. In 32nd USENIX Security Symposium, USENIX Security 2023, Anaheim, CA, USA, August 9-11, 2023, Joseph A. Calandrino and Carmela Troncoso (Eds.). USENIX Association. https:\/\/www.usenix.org\/conference\/usenixsecurity23\/presentation\/cai-yuandao"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454099"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549110"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"Ben-Chung Cheng and Wen-Mei W. Hwu. 1999. An Empirical Study of Function Pointers Using SPEC Benchmarks. In LCPC. \t\t\t\t  Ben-Chung Cheng and Wen-Mei W. Hwu. 1999. An Empirical Study of Function Pointers Using SPEC Benchmarks. In LCPC.","DOI":"10.1007\/3-540-44905-1_38"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375620"},{"key":"e_1_2_1_25_1","unstructured":"EvanLi. [n. d.]. Top 100 Stars in C. https:\/\/github.com\/EvanLi\/Github-Ranking\/blob\/master\/Top100\/C.md \t\t\t\t  EvanLi. [n. d.]. Top 100 Stars in C. https:\/\/github.com\/EvanLi\/Github-Ranking\/blob\/master\/Top100\/C.md"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00025"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146238.1146254"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2016.24"},{"key":"e_1_2_1_29_1","volume-title":"Temporal System Call Specialization for Attack Surface Reduction. In 29th USENIX Security Symposium, USENIX Security 2020","author":"Ghavamnia Seyedhamed","year":"2020","unstructured":"Seyedhamed Ghavamnia , Tapti Palit , Shachee Mishra , and Michalis Polychronakis . 2020 . Temporal System Call Specialization for Attack Surface Reduction. In 29th USENIX Security Symposium, USENIX Security 2020 , August 12-14, 2020, Srdjan Capkun and Franziska Roesner (Eds.). USENIX Association, 1749\u20131766. https:\/\/www.usenix.org\/conference\/usenixsecurity20\/presentation\/ghavamnia Seyedhamed Ghavamnia, Tapti Palit, Shachee Mishra, and Michalis Polychronakis. 2020. Temporal System Call Specialization for Attack Surface Reduction. In 29th USENIX Security Symposium, USENIX Security 2020, August 12-14, 2020, Srdjan Capkun and Franziska Roesner (Eds.). USENIX Association, 1749\u20131766. https:\/\/www.usenix.org\/conference\/usenixsecurity20\/presentation\/ghavamnia"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250767"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1480881.1480911"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2011.5764696"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2021.16"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2022.30"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379665"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP46214.2022.9833751"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2014.23287"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133924"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375613"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73368-3_26"},{"key":"e_1_2_1_41_1","volume-title":"Origin-sensitive Control Flow Integrity. In 28th USENIX Security Symposium, USENIX Security 2019","author":"Khandaker Mustakimur","year":"2019","unstructured":"Mustakimur Khandaker , Wenqing Liu , Abu Naser , Zhi Wang , and Jie Yang . 2019 . Origin-sensitive Control Flow Integrity. In 28th USENIX Security Symposium, USENIX Security 2019 , Santa Clara, CA, USA , August 14-16, 2019, Nadia Heninger and Patrick Traynor (Eds.). USENIX Association, 195\u2013211. https:\/\/www.usenix.org\/conference\/usenixsecurity19\/presentation\/khandaker Mustakimur Khandaker, Wenqing Liu, Abu Naser, Zhi Wang, and Jie Yang. 2019. Origin-sensitive Control Flow Integrity. In 28th USENIX Security Symposium, USENIX Security 2019, Santa Clara, CA, USA, August 14-16, 2019, Nadia Heninger and Patrick Traynor (Eds.). USENIX Association, 195\u2013211. https:\/\/www.usenix.org\/conference\/usenixsecurity19\/presentation\/khandaker"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2019.00017"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2021.24386"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.23919\/FMCAD.2019.8894275"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250766"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926389"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIFS.2018.2797932"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025160"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491894.2466483"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276511"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236041"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3381915"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454073"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450492"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-88806-0_13"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360574"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3319535.3354244"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2022.3174631"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3591242"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2501854"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:AUSE.0000008666.56394.a1"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/566172.566174"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/1044834.1044835"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/587051.587062"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/279310.279314"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3460319.3464836"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594295"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660281"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2023.3241639"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2009.9"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2983991"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950312"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542506"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00146"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062361"},{"key":"e_1_2_1_78_1","volume-title":"Points-To and Data-Flow Analysis. European Conference on Object-Oriented Programming (ECOOP), https:\/\/www.bodden.de\/pubs\/shb21lossless.pdf","author":"Schubert Philipp","year":"2021","unstructured":"Philipp Schubert , Ben Hermann , and Eric Bodden . 2021 . Lossless, Persisted Summarization of Static Callgraph , Points-To and Data-Flow Analysis. European Conference on Object-Oriented Programming (ECOOP), https:\/\/www.bodden.de\/pubs\/shb21lossless.pdf Philipp Schubert, Ben Hermann, and Eric Bodden. 2021. Lossless, Persisted Summarization of Static Callgraph, Points-To and Data-Flow Analysis. European Conference on Object-Oriented Programming (ECOOP), https:\/\/www.bodden.de\/pubs\/shb21lossless.pdf"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.7282\/T3X92FRK"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192418"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000014"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594320"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2019.8"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133923"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2016.22"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134027"},{"key":"e_1_2_1_87_1","volume-title":"Correlation Tracking for Points-to Analysis of JavaScript. In European Conference on Object Oriented Programming (ECOOP). https:\/\/doi.org\/index\/M560325412605761","author":"Sridharan Manu","year":"2012","unstructured":"Manu Sridharan , Julian Dolby , Satish Chandra , Max Sch\u00e4fer , and Frank Tip . 2012 . Correlation Tracking for Points-to Analysis of JavaScript. In European Conference on Object Oriented Programming (ECOOP). https:\/\/doi.org\/index\/M560325412605761 .pdf Manu Sridharan, Julian Dolby, Satish Chandra, Max Sch\u00e4fer, and Frank Tip. 2012. Correlation Tracking for Points-to Analysis of JavaScript. In European Conference on Object Oriented Programming (ECOOP). https:\/\/doi.org\/index\/M560325412605761.pdf"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03237-0_15"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250748"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094817"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/237721.237727"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950296"},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892235"},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892235"},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2869336"},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062360"},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328463"},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3561154"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287654"},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380386"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510178"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380396"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594314"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03013-0_6"},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180178"},{"key":"e_1_2_1_106_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-10936-7_20"},{"key":"e_1_2_1_107_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772954.1772985"},{"key":"e_1_2_1_108_1","doi-asserted-by":"publisher","DOI":"10.1145\/2046707.2046713"},{"key":"e_1_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.1109\/TrustCom53373.2021.00116"},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.1145\/239098.239112"},{"key":"e_1_2_1_111_1","volume-title":"PeX: A Permission Check Analysis Framework for Linux Kernel. In 28th USENIX Security Symposium, USENIX Security 2019","author":"Zhang Tong","year":"2019","unstructured":"Tong Zhang , Wenbo Shen , Dongyoon Lee , Changhee Jung , Ahmed M. Azab , and Ruowen Wang . 2019 . PeX: A Permission Check Analysis Framework for Linux Kernel. In 28th USENIX Security Symposium, USENIX Security 2019 , Santa Clara, CA, USA , August 14-16, 2019, Nadia Heninger and Patrick Traynor (Eds.). USENIX Association, 1205\u20131220. https:\/\/www.usenix.org\/conference\/usenixsecurity19\/presentation\/zhang-tong Tong Zhang, Wenbo Shen, Dongyoon Lee, Changhee Jung, Ahmed M. Azab, and Ruowen Wang. 2019. PeX: A Permission Check Analysis Framework for Linux Kernel. In 28th USENIX Security Symposium, USENIX Security 2019, Santa Clara, CA, USA, August 14-16, 2019, Nadia Heninger and Patrick Traynor (Eds.). USENIX Association, 1205\u20131220. https:\/\/www.usenix.org\/conference\/usenixsecurity19\/presentation\/zhang-tong"},{"key":"e_1_2_1_112_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485832.3485900"},{"key":"e_1_2_1_113_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328464"},{"key":"e_1_2_1_114_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454085"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622833","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3622833","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:04Z","timestamp":1750178224000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622833"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,10,16]]},"references-count":114,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2023,10,16]]}},"alternative-id":["10.1145\/3622833"],"URL":"https:\/\/doi.org\/10.1145\/3622833","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,10,16]]},"assertion":[{"value":"2023-10-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}