{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,24]],"date-time":"2025-06-24T06:30:07Z","timestamp":1750746607950,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":46,"publisher":"ACM","license":[{"start":{"date-parts":[[2023,11,30]],"date-time":"2023-11-30T00:00:00Z","timestamp":1701302400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100018735","name":"Ant Group","doi-asserted-by":"publisher","award":["2021092335587"],"award-info":[{"award-number":["2021092335587"]}],"id":[{"id":"10.13039\/100018735","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2023,11,30]]},"DOI":"10.1145\/3611643.3616303","type":"proceedings-article","created":{"date-parts":[[2023,11,30]],"date-time":"2023-11-30T23:14:38Z","timestamp":1701386078000},"page":"733-744","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["OOM-Guard: Towards Improving the Ergonomics of Rust OOM Handling via a Reservation-Based Approach"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7622-560X","authenticated-orcid":false,"given":"Chengjun","family":"Chen","sequence":"first","affiliation":[{"name":"Fudan University, Shanghai, China \/ Ant Group, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-5667-0699","authenticated-orcid":false,"given":"Zhicong","family":"Zhang","sequence":"additional","affiliation":[{"name":"Fudan University, Shanghai, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-1248-4078","authenticated-orcid":false,"given":"Hongliang","family":"Tian","sequence":"additional","affiliation":[{"name":"Ant Group, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-9580-5395","authenticated-orcid":false,"given":"Shoumeng","family":"Yan","sequence":"additional","affiliation":[{"name":"Ant Group, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2465-8627","authenticated-orcid":false,"given":"Hui","family":"Xu","sequence":"additional","affiliation":[{"name":"Fudan University, Shanghai, China"}]}],"member":"320","published-online":{"date-parts":[[2023,11,30]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"2014. Rust RFC-2116. https:\/\/rust-lang.github.io\/rfcs\/2116-alloc-me-maybe.html"},{"key":"e_1_3_2_2_2_1","unstructured":"2022. Procedural Macros. https:\/\/doc.rust-lang.org\/reference\/procedural-macros.html"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10817-010-9174-1"},{"key":"e_1_3_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2012.10.008"},{"volume-title":"Modern compiler implementation in C","author":"Appel Andrew W","key":"e_1_3_2_2_5_1","unstructured":"Andrew W Appel. 2004. Modern compiler implementation in C. Cambridge university press."},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/356989.357000"},{"key":"e_1_3_2_2_7_1","unstructured":"Jeff Bonwick. 1994. The slab allocator: An object-caching kernel memory allocator.. In USENIX summer. 16."},{"key":"e_1_3_2_2_8_1","volume-title":"ECOOP Workshop. 150","author":"Boyland John","year":"2005","unstructured":"John Boyland. 2005. Position paper: Handling \u201cout of memory\u201d errors. In ECOOP Workshop. 150."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2006.5.5.a2"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375634.1375655"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3361525.3361534"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375634.1375656"},{"key":"e_1_3_2_2_13_1","unstructured":"Jonathan Corbet. 2014. The \u201ctoo small to fail\u201d memory-allocation rule. https:\/\/lwn.net\/Articles\/627419\/"},{"key":"e_1_3_2_2_14_1","unstructured":"Jonathan Corbet. 2015. Reservations for must-succeed memory allocations. https:\/\/lwn.net\/Articles\/636797\/"},{"key":"e_1_3_2_2_15_1","unstructured":"Jonathan Corbet. 2017. Revisiting \u201ctoo small to fail\u201d."},{"key":"e_1_3_2_2_16_1","volume-title":"13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18)","author":"Cutler Cody","year":"2018","unstructured":"Cody Cutler, M Frans Kaashoek, and Robert T Morris. 2018. The benefits and costs of writing a $POSIX$ kernel in a high-level language. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). 89\u2013105."},{"volume-title":"Selected Writings on Computing: A Personal Perspective","author":"Dijkstra Edsger W","key":"e_1_3_2_2_17_1","unstructured":"Edsger W Dijkstra. 1982. The mathematics behind the Banker\u2019s algorithm. In Selected Writings on Computing: A Personal Perspective. Springer, 308\u2013312."},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502041"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24622-0_17"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380413"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(85)90014-5"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926427"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009842"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11957-6_16"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/640128.604148"},{"key":"e_1_3_2_2_26_1","volume-title":"25th USENIX Security Symposium (USENIX Security 16)","author":"Jana Suman","year":"2016","unstructured":"Suman Jana, Yuan Jochen Kang, Samuel Roth, and Baishakhi Ray. 2016. Automatically detecting error handling bugs using error specifications. In 25th USENIX Security Symposium (USENIX Security 16). 345\u2013362."},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/355588.365140"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1982185.1982324"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"crossref","unstructured":"Gunnar Kudrjavets Jeff Thomas Aditya Kumar Nachiappan Nagappan and Ayushi Rastogi. 2022. When malloc () Never Returns NULL\u2013Reliability as an Illusion. arXiv preprint arXiv:2208.08484.","DOI":"10.1109\/ISSREW55968.2022.00035"},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236079"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE51524.2021.9678836"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45070-2_16"},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1060289.1060297"},{"key":"e_1_3_2_2_34_1","volume-title":"Proceedings of the GCC Developers\u2019 Summit. 97\u2013110","author":"Novillo Diego","year":"2007","unstructured":"Diego Novillo. 2007. Memory SSA-a unified approach for sparsely representing memory operations. In Proceedings of the GCC Developers\u2019 Summit. 97\u2013110."},{"key":"e_1_3_2_2_35_1","article-title":"Efficient handling of low memory situations in linux","author":"Patare P","year":"2015","unstructured":"P Patare and V Govindan. 2015. Efficient handling of low memory situations in linux. In International Journal of Engineering Research and Technology. 4, ESRSA Publications.","journal-title":"International Journal of Engineering Research and Technology. 4, ESRSA Publications."},{"volume-title":"Effective handling of low memory scenarios in android using logs","author":"Prodduturi Rajesh","key":"e_1_3_2_2_36_1","unstructured":"Rajesh Prodduturi and Deepak B Phatak. 2013. Effective handling of low memory scenarios in android using logs. Indian Institute of Technology."},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1982185.1982268"},{"key":"e_1_3_2_2_38_1","unstructured":"sploitfun. 2015. Understanding glibc malloc. https:\/\/sploitfun.wordpress.com\/2015\/02\/10\/understanding-glibc-malloc\/"},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892235"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336784"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2302311"},{"key":"e_1_3_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2018.10271"},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2078861.2078863"},{"key":"e_1_3_2_2_44_1","unstructured":"wikipedia. 2022. Memory overcommitment. https:\/\/en.wikipedia.org\/wiki\/Memory_overcommitment"},{"key":"e_1_3_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081728"},{"key":"e_1_3_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1189256.1189259"}],"event":{"name":"ESEC\/FSE '23: 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"],"location":"San Francisco CA USA","acronym":"ESEC\/FSE '23"},"container-title":["Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3611643.3616303","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3611643.3616303","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:36:04Z","timestamp":1750178164000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3611643.3616303"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11,30]]},"references-count":46,"alternative-id":["10.1145\/3611643.3616303","10.1145\/3611643"],"URL":"https:\/\/doi.org\/10.1145\/3611643.3616303","relation":{},"subject":[],"published":{"date-parts":[[2023,11,30]]},"assertion":[{"value":"2023-11-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}