{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,26]],"date-time":"2026-02-26T16:10:56Z","timestamp":1772122256693,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":21,"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:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2023,11,30]]},"DOI":"10.1145\/3611643.3613878","type":"proceedings-article","created":{"date-parts":[[2023,11,30]],"date-time":"2023-11-30T23:14:38Z","timestamp":1701386078000},"page":"2032-2037","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["On the Dual Nature of Necessity in Use of Rust Unsafe Code"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2346-5789","authenticated-orcid":false,"given":"Yuchen","family":"Zhang","sequence":"first","affiliation":[{"name":"Stevens Institute of Technology, Hoboken, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1499-5558","authenticated-orcid":false,"given":"Ashish","family":"Kundu","sequence":"additional","affiliation":[{"name":"Cisco Research, San Francisco, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1665-803X","authenticated-orcid":false,"given":"Georgios","family":"Portokalidis","sequence":"additional","affiliation":[{"name":"Stevens Institute of Technology, Hoboken, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0002-8128-5062","authenticated-orcid":false,"given":"Jun","family":"Xu","sequence":"additional","affiliation":[{"name":"University of Utah, Salt Lake City, USA"}]}],"member":"320","published-online":{"date-parts":[[2023,11,30]]},"reference":[{"key":"e_1_3_2_2_1_1","volume":"202","author":"Astrauskas Vytautas","unstructured":"Vytautas Astrauskas, Christoph Matheja, Federico Poli, Peter M\u00fcller, and Alexander J Summers. 2020. How do programmers use unsafe rust? Proceedings of the ACM on Programming Languages, 4, OOPSLA (2020), 1\u201327.","journal-title":"Alexander J Summers."},{"key":"e_1_3_2_2_2_1","unstructured":"Rust Fuzzing Authority. 2017. cargo-fuzz. https:\/\/github.com\/rust-fuzz\/cargo-fuzz"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483570"},{"key":"e_1_3_2_2_4_1","unstructured":"Jansens Dana. 2013. The Use of Rust in the Chromium. https:\/\/security.googleblog.com\/supporting-use-of-rust-in-chromium.html"},{"key":"e_1_3_2_2_5_1","unstructured":"Pinho Eduardo. 2016. safe-transmute-rs: A safeguarded transmute() for Rust.. https:\/\/github.com\/nabijaczleweli\/safe-transmute-rs\/pull\/36"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380413"},{"key":"e_1_3_2_2_7_1","volume-title":"Union: Provide native support for C-compatible unions. https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/1444-union.md","author":"Josh Triplett","year":"2015","unstructured":"Triplett Josh, Matsakis Niko, and Jung Ralf. 2015. Union: Provide native support for C-compatible unions. https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/1444-union.md"},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3460120.3484541"},{"key":"e_1_3_2_2_9_1","unstructured":"Member of RustSec. 2021. Out-of-bounds write in nix::unistd::getgrouplist. https:\/\/github.com\/nix-rust\/nix\/issues\/1541"},{"key":"e_1_3_2_2_10_1","unstructured":"Member of Servo. 2018. servo: a prototype web browser engine written in the Rust language.. https:\/\/github.com\/servo\/servo"},{"key":"e_1_3_2_2_11_1","unstructured":"Meta. 2021. the Rust Foundation. https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/"},{"key":"e_1_3_2_2_12_1","unstructured":"Shane Miller and Carl Lerche. 2022. Sustainability with Rust. https:\/\/aws.amazon.com\/blogs\/opensource\/sustainability-with-rust\/"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_2_2_14_1","unstructured":"Davidoff Sergey Arcieri Tony and Gaynor Alex. 2020. RustSec: is a repository of security advisories filed against Rust crates. https:\/\/github.com\/rustsec\/advisory-db"},{"key":"e_1_3_2_2_15_1","volume-title":"Miri: An interpreter for Rust\u2019s mid-level intermediate representation. https:\/\/github.com\/rust-lang\/miri","author":"Team The Rust","year":"2015","unstructured":"The Rust Team. 2015. Miri: An interpreter for Rust\u2019s mid-level intermediate representation. https:\/\/github.com\/rust-lang\/miri"},{"key":"e_1_3_2_2_16_1","unstructured":"The Crates.io Team. 2015. crates: Source code for the default Cargo registry.. https:\/\/github.com\/rust-lang\/crates.io\/"},{"key":"e_1_3_2_2_17_1","unstructured":"The Google Team. 2021. Android Gabeldorsche Bluetooth Stack. https:\/\/android.googlesource.com\/"},{"key":"e_1_3_2_2_18_1","unstructured":"The Member of RustSec. 2021. Optional Deserialize implementations lacking validation. https:\/\/github.com\/gz\/rust-cpuid\/issues\/43"},{"key":"e_1_3_2_2_19_1","unstructured":"Bratt Thomas Rubio Jes\u00fas and Boegli Antoine. 2020. awesome-rust: A curated list of Rust code and resources. https:\/\/github.com\/awesome-rust-com\/awesome-rust"},{"key":"e_1_3_2_2_20_1","unstructured":"Paul Thurrott. 2023. Microsoft is Rewriting Parts of the Windows Kernel in Rust. https:\/\/www.thurrott.com\/windows\/282471\/microsoft-is-rewriting-parts-of-the-windows-kernel-in-rust"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3559494"}],"event":{"name":"ESEC\/FSE '23: 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","location":"San Francisco CA USA","acronym":"ESEC\/FSE '23","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"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.3613878","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3611643.3613878","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:10Z","timestamp":1750178230000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3611643.3613878"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11,30]]},"references-count":21,"alternative-id":["10.1145\/3611643.3613878","10.1145\/3611643"],"URL":"https:\/\/doi.org\/10.1145\/3611643.3613878","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"}}]}}