{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T07:35:03Z","timestamp":1777102503283,"version":"3.51.4"},"reference-count":137,"publisher":"Association for Computing Machinery (ACM)","issue":"2","funder":[{"name":"Beijing Municipal Science & Technology Commission, the Administrative Commission of Zhongguancun Science Parki, the NSFC","award":["62425203 and 62522202"],"award-info":[{"award-number":["62425203 and 62522202"]}]},{"name":"Beijing Natural Science Foundation","award":["L253005"],"award-info":[{"award-number":["L253005"]}]},{"name":"Sichuan Science and Technology Plan \u201cUnveiling and Leading\u201d Project","award":["2024YFCY0001"],"award-info":[{"award-number":["2024YFCY0001"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2026,5,31]]},"abstract":"<jats:p>\n                    Linux, developed over the past three decades, has become the cornerstone of modern computing, serving as the foundation for a wide array of applications ranging from large-scale supercomputers to resource-constrained embedded devices. However, this infrastructure has long been plagued by memory and concurrency bugs, primarily due to the permissive nature of memory operations in the C language. The Rust-for-Linux (\n                    <jats:italic toggle=\"yes\">RFL<\/jats:italic>\n                    ) project offers a promising solution to address these long-standing safety concerns by integrating Rust\u2019s advanced features, such as static ownership and type-checking, into the kernel. This integration could potentially eliminate memory and concurrency bugs while maintaining performance. Although\n                    <jats:italic toggle=\"yes\">RFL<\/jats:italic>\n                    has matured and been merged into the Linux mainline, it remains understudied, and its effectiveness in balancing safety and performance is yet to be fully assessed.\n                  <\/jats:p>\n                  <jats:p>\n                    In this study, we present the first empirical analysis of\n                    <jats:italic toggle=\"yes\">RFL<\/jats:italic>\n                    to evaluate its current state and benefits, focusing on how Rust integrates with Linux and whether this fusion ensures driver safety without significant overhead. We analyze eight\n                    <jats:italic toggle=\"yes\">RFL<\/jats:italic>\n                    drivers, examining hundreds of issues and pull requests, thousands of GitHub commits, mail exchanges from the Linux mailing list, and over 12,000 discussions on Zulip. Our findings indicate that while Rust mitigates kernel vulnerabilities, it does not completely eliminate them. If not properly managed, Rust\u2019s safety features even introduce notable runtime overhead and increased development complexity.\n                    <jats:xref ref-type=\"fn\"\/>\n                  <\/jats:p>","DOI":"10.1145\/3789260","type":"journal-article","created":{"date-parts":[[2026,1,24]],"date-time":"2026-01-24T20:45:22Z","timestamp":1769287522000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Rust Meets Linux: Lessons from an Evolving Experiment"],"prefix":"10.1145","volume":"44","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6120-3026","authenticated-orcid":false,"given":"Hongyu","family":"Li","sequence":"first","affiliation":[{"name":"Beijing University of Posts and Telecommunications","place":["Beijing, China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8516-8045","authenticated-orcid":false,"given":"Liwei","family":"Guo","sequence":"additional","affiliation":[{"name":"University of Electronic Science and Technology of China","place":["Chengdu, China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-9489-7880","authenticated-orcid":false,"given":"Yexuan","family":"Yang","sequence":"additional","affiliation":[{"name":"Beijing University of Posts and Telecommunications","place":["Beijing, China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7245-1298","authenticated-orcid":false,"given":"Shangguang","family":"Wang","sequence":"additional","affiliation":[{"name":"Beijing University of Posts and Telecommunications","place":["Beijing, China"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6271-6993","authenticated-orcid":false,"given":"Mengwei","family":"Xu","sequence":"additional","affiliation":[{"name":"Beijing University of Posts and Telecommunications","place":["Beijing, China"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2026,4,24]]},"reference":[{"key":"e_1_3_3_2_2","unstructured":"2006. The static code analysis tool coverity scan results for Linux. Retrieved 2025 from https:\/\/scan.coverity.com\/projects\/linux"},{"key":"e_1_3_3_3_2","unstructured":"2009. Carla Schroder: Missing docuement is the #1 bug in the Linux. Retrieved from https:\/\/www.linuxtoday.com\/blog\/linux-bug-1-bad-documentation\/"},{"key":"e_1_3_3_4_2","unstructured":"2013. A minimal Linux kernel module written in rust. Retrieved from https:\/\/github.com\/tsgates\/rust.ko"},{"key":"e_1_3_3_5_2","unstructured":"2014. The memory layout of net device and its private data. Retrieved from https:\/\/stackoverflow.com\/questions\/24051453\/where-is-the-private-data-stored-for-each-net-device-in-linux-kernel-2-6-32-or-l"},{"key":"e_1_3_3_6_2","unstructured":"2015. Linus explained the docuementation missing problem. Retrieved from https:\/\/www.youtube.com\/watch?v=bAop_8l6_cI&t=2275s"},{"key":"e_1_3_3_7_2","unstructured":"2015. Redox is a Unix-like Operating System written in Rust. Retrieved from https:\/\/gitlab.redox-os.org\/redox-os\/redox\/"},{"key":"e_1_3_3_8_2","unstructured":"2016. TiKV is an open-source distributed and transactional key-value database written in Rust. Retrieved from https:\/\/github.com\/tikv\/tikv"},{"key":"e_1_3_3_9_2","unstructured":"2019. Bindgen does not handle packed and aligned right. Retrieved from https:\/\/github.com\/rust-lang\/rust-bindgen\/issues\/1538"},{"key":"e_1_3_3_10_2","unstructured":"2019. Why writing Linux Kernel Modules in Safe Rust. Retrieved from https:\/\/www.youtube.com\/watch?v=RyY01fRyGhM"},{"key":"e_1_3_3_11_2","unstructured":"2020. Bindgen mishandles aligned typedefs. Retrieved from https:\/\/github.com\/rust-lang\/rust-bindgen\/issues\/1753"},{"key":"e_1_3_3_12_2","unstructured":"2020. The Barriers to in-tree Rust talk in LPC 2020 LLVM MC. Retrieved from https:\/\/lpc.events\/event\/7\/contributions\/804\/"},{"key":"e_1_3_3_13_2","unstructured":"2021. Linux kernel modules in safe Rust. Retrieved from https:\/\/github.com\/fishinabarrel\/linux-kernel-module-rust"},{"key":"e_1_3_3_14_2","unstructured":"2021. The issue of \u201dSafe initialization of pinned structs\u201d in github. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/issues\/290"},{"key":"e_1_3_3_15_2","unstructured":"2021. The RFC in the maillist for Rust support. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20210414184604.23473-1-ojeda@kernel.org\/"},{"key":"e_1_3_3_16_2","unstructured":"2021. The Rust-for-Linux official presentation in the Rust Meetup Linz. Retrieved from https:\/\/www.youtube.com\/watch?v=fVEeqo40IyQ"},{"key":"e_1_3_3_17_2","unstructured":"2022. A Linux CVE caused by data race. Retrieved from https:\/\/www.cvedetails.com\/cve\/CVE-2022-3566\/"},{"key":"e_1_3_3_18_2","unstructured":"2022. A Linux CVE caused by incorrect type casting. Retrieved from https:\/\/www.cvedetails.com\/cve\/CVE-2018-5861"},{"key":"e_1_3_3_19_2","unstructured":"2022. A RFL bug due to the misconfig of Kbuild. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/issues\/735"},{"key":"e_1_3_3_20_2","unstructured":"2022. A RFL driver bug report: potential sleep-in-atomic-context. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/87r0ykny6w.fsf@wdc.com\/T\/#t"},{"key":"e_1_3_3_21_2","unstructured":"2022. It is hard to construct Rust abstraction for the functions manipulating memory. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/pull\/886"},{"key":"e_1_3_3_22_2","unstructured":"2022. KMSAN is a dynamic error detector aimed at finding uses of uninitialized values. Retrieved from https:\/\/docs.kernel.org\/dev-tools\/kmsan.html"},{"key":"e_1_3_3_23_2","unstructured":"2022. Linux merges Rust into the mainline. Retrieved from https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=8aebac82933ff1a7c8eede18cab11e1115e2062b"},{"key":"e_1_3_3_24_2","unstructured":"2022. RFL discards BTF_TYPE_TAG attribute. Retrieved from https:\/\/github.com\/rust-lang\/rust-bindgen\/issues\/2244"},{"key":"e_1_3_3_25_2","unstructured":"2022. The Rust-for-Linux project helping write drivers in Linux. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/"},{"key":"e_1_3_3_26_2","unstructured":"2023. A Linux CVE caused by oob bugs. Retrieved from https:\/\/www.cvedetails.com\/cve\/CVE-2023-38429\/"},{"key":"e_1_3_3_27_2","unstructured":"2023. A Linux CVE caused by use-after-free. Retrieved from https:\/\/www.cvedetails.com\/cve\/CVE-2023-33288\/"},{"key":"e_1_3_3_28_2","unstructured":"2023. A Linux CVE caused by usedouble free. Retrieved from https:\/\/www.cvedetails.com\/cve\/CVE-2023-28464\/"},{"key":"e_1_3_3_29_2","unstructured":"2023. A unit testing framework for the Linux kernel. Retrieved from https:\/\/kunit.dev\/"},{"key":"e_1_3_3_30_2","unstructured":"2023. An envidence that RFL community lacks of enough available reviewers understanding netdev. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/CANiq72mDVQg9dbtbAYLSoxQo4ZTgyKk=e-DCe8itvwgc0=HOZw@mail.gmail.com\/"},{"key":"e_1_3_3_31_2","unstructured":"2023. An envidence that RFL community lacks of reviewers understanding netdev. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20230614230128.199724bd@kernel.org\/"},{"key":"e_1_3_3_32_2","unstructured":"2023. An envidence that V4L2 community lacks of enough available reviewers understanding RFL. Retrieved from https:\/\/lpc.events\/event\/17\/contributions\/1430\/"},{"key":"e_1_3_3_33_2","unstructured":"2023. Fix a AB-BA deadlock using io_uring_cmd_complete_in_task. Retrieved from https:\/\/lore.kernel.org\/lkml\/20230525183607.1793983-55-sashal@kernel.org\/"},{"key":"e_1_3_3_34_2","unstructured":"2023. It is hard to construct Rust abstraction for the functions manipulating memory. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/01010188a42d5319-9cd7b5ec-5b06-4d08-88cb-c2a82a8e3a0d-000000@us-west-2.amazonses.com\/"},{"key":"e_1_3_3_35_2","unstructured":"2023. It is hard to construct Rust abstraction for the functions manipulating memory. Retrieved from https:\/\/lore.kernel.org\/lkml\/CANiq72nkBAfM_b50DsuoJjy3hXhBxNRK0oeU_kyQHaMnnjvGJA@mail.gmail.com\/T\/"},{"key":"e_1_3_3_36_2","unstructured":"2023. Lints for kernel or embedded system development. Retrieved from https:\/\/github.com\/Rust-for-Linux\/klint"},{"key":"e_1_3_3_37_2","unstructured":"2023. PuzzleFS buiild on the top of vfs abstractions in RFL. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20230609063118.24852-1-amiculas@cisco.com\/"},{"key":"e_1_3_3_38_2","unstructured":"2023. Rewriting drivers in RFL can still have bugs. Retrieved from https:\/\/lwn.net\/Articles\/953116\/"},{"key":"e_1_3_3_39_2","unstructured":"2023. RFL breaks the rule of no duplicate drivers in Linux. Retrieved from https:\/\/lpc.events\/event\/17\/contributions\/1501\/"},{"key":"e_1_3_3_40_2","unstructured":"2023. RFL driver selection reasons. Retrieved from https:\/\/lore.kernel.org\/all\/87y1ofj5tt.fsf@metaspace.dk\/"},{"key":"e_1_3_3_41_2","unstructured":"2023. Tarfs buiild on the top of vfs abstractions in RFL. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/pull\/1037"},{"key":"e_1_3_3_42_2","unstructured":"2023. The collaboration method of RFL community. Retrieved from https:\/\/rust-for-linux.com\/contributing"},{"key":"e_1_3_3_43_2","unstructured":"2023. The community-based distributed test automation system KernelCI. Retrieved from https:\/\/foundation.kernelci.org\/"},{"key":"e_1_3_3_44_2","unstructured":"2023. The deadlock of RFL abstraction and real use drivers. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/8e9e2908-c0da-49ec-86ef-b20fb3bd71c3@lunn.ch\/"},{"key":"e_1_3_3_45_2","unstructured":"2023. The first rust driver merged into in the Linux mainline. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20231213004211.1625780-1-fujita.tomonori@gmail.com\/"},{"key":"e_1_3_3_46_2","unstructured":"2023. The google Syzbot kernel fuzzer project. Retrieved from https:\/\/syzkaller.appspot.com\/upstream"},{"key":"e_1_3_3_47_2","unstructured":"2023. The intel Linux Kernel Performance(LKP) project. Retrieved from https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/topic-technology\/open\/linux-kernel-performance\/overview.html"},{"key":"e_1_3_3_48_2","unstructured":"2023. The Linux kernel docuement requirement. Retrieved from https:\/\/docs.kernel.org\/doc-guide\/kernel-doc.html"},{"key":"e_1_3_3_49_2","unstructured":"2023. The LTO optimization for rust kernel modules. Retrieved from https:\/\/kangrejos.com\/2023\/Inlining%20and%20LTO%20for%20Rust%20Kernel%20Modules.pdf"},{"key":"e_1_3_3_50_2","unstructured":"2023. The mainling list of Rust-for-Linux project. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/"},{"key":"e_1_3_3_51_2","unstructured":"2023. The network PHY driver abstraction is merged. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/170263322444.1975.17234929609368010648.git-patchwork-notify@kernel.org\/"},{"key":"e_1_3_3_52_2","unstructured":"2023. The official statistics about the RFL community size. Retrieved from https:\/\/kangrejos.com\/2023\/"},{"key":"e_1_3_3_53_2","unstructured":"2023. The ownership mechanism of the Rust. Retrieved from https:\/\/doc.rust-lang.org\/book\/ch04-00-understanding-ownership.html"},{"key":"e_1_3_3_54_2","unstructured":"2023. The patch of pin-init API. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/commit\/90e53c5e70a69159ec255fec361f7dcf9cf36eae"},{"key":"e_1_3_3_55_2","unstructured":"2023. The Rust implementation of drivers\/net\/phy\/ax88796b.c. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20231213004211.1625780-5-fujita.tomonori@gmail.com\/"},{"key":"e_1_3_3_56_2","unstructured":"2023. The Rust Programming Language. Retrieved from https:\/\/www.rust-lang.org\/"},{"key":"e_1_3_3_57_2","unstructured":"2023. Time since first commit in the git history in netdev subsystem of Linux. Retrieved from https:\/\/people.kernel.org\/kuba\/more-development-statistics"},{"key":"e_1_3_3_58_2","unstructured":"2024. A deadlock bug in the RFL project. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/issues\/998"},{"key":"e_1_3_3_59_2","unstructured":"2024. An interpreter for Rust\u2019s mid-level intermediate representation. Retrieved from https:\/\/github.com\/rust-lang\/miri"},{"key":"e_1_3_3_60_2","unstructured":"2024. Kernel Self Protection Project. Retrieved from https:\/\/kernsec.org\/wiki\/index.php\/Kernel_Self_Protection_Project"},{"key":"e_1_3_3_61_2","unstructured":"2024. RFL vfs safety abstraction. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/CY6W7MLYLYEI.1DX1F6OL9IIDV@suppilovahvero\/T\/#mbadc4049b874d7cc9621e0c4abced36ec4bf9e4b"},{"key":"e_1_3_3_62_2","unstructured":"2024. The 7 pin-init patches proposed in the Github. Retrieved from https:\/\/lore.kernel.org\/all\/?q=Rust+pin-init+API+for+pinned+initialization+of+structs"},{"key":"e_1_3_3_63_2","unstructured":"2024. The Address space layout randomization wiki. Retrieved from https:\/\/en.wikipedia.org\/wiki\/Address_space_layout_randomization"},{"key":"e_1_3_3_64_2","unstructured":"2024. The android binder driver in Rust. Retrieved from https:\/\/github.com\/Darksonn\/linux"},{"key":"e_1_3_3_65_2","unstructured":"2024. The book Linux Device Drivers Third Edition. Retrieved from https:\/\/lwn.net\/Kernel\/LDD3\/"},{"key":"e_1_3_3_66_2","unstructured":"2024. The documentation about how Linux handle bugs. Retrieved from https:\/\/docs.kernel.org\/process\/index.html#dealing-with-bugs"},{"key":"e_1_3_3_67_2","unstructured":"2024. The e1000 NIC driver in Rust. Retrieved from https:\/\/github.com\/fujita\/rust-e1000"},{"key":"e_1_3_3_68_2","unstructured":"2024. The ebpf project. Retrieved from https:\/\/ebpf.io\/"},{"key":"e_1_3_3_69_2","unstructured":"2024. The gpio driver written in Rust. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/blob\/rust\/drivers\/gpio\/gpio_pl061_rust.rs"},{"key":"e_1_3_3_70_2","unstructured":"2024. The io_uring project. Retrieved from https:\/\/github.com\/axboe\/liburing"},{"key":"e_1_3_3_71_2","unstructured":"2024. The issue labels in the Rust-for-Linux Github. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/issues"},{"key":"e_1_3_3_72_2","unstructured":"2024. The Mac GPU driver in Rust. Retrieved from https:\/\/github.com\/AsahiLinux\/linux\/tree\/gpu\/rust-wip"},{"key":"e_1_3_3_73_2","unstructured":"2024. The null block driver written in Rust. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20230503090708.2524310-1-nmi@metaspace.dk\/"},{"key":"e_1_3_3_74_2","unstructured":"2024. The nvme device driver written in Rust. Retrieved from https:\/\/github.com\/metaspace\/linux\/tree\/nvme"},{"key":"e_1_3_3_75_2","unstructured":"2024. The presentation of introducing Rust to file system in LPC. Retrieved from https:\/\/youtu.be\/WiPp9YEBV0Q?t=1529"},{"key":"e_1_3_3_76_2","unstructured":"2024. The semaphore driver written in Rust. Retrieved from https:\/\/github.com\/Rust-for-Linux\/linux\/blob\/rust\/samples\/rust\/rust_semaphore.rs"},{"key":"e_1_3_3_77_2","unstructured":"2024. Wedson\u2019s retiring letter from the Rust for Linux project. Retrieved from https:\/\/lore.kernel.org\/lkml\/20240828211117.9422-1-wedsonaf@gmail.com\/"},{"key":"e_1_3_3_78_2","unstructured":"2025. DMA maintainer refuses to merge RFL abstraction code. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20250108135951.GA18074@lst.de"},{"key":"e_1_3_3_79_2","unstructured":"2025. Example 1: a build failure in linux-next. Retrieved from https:\/\/lkml.org\/lkml\/2025\/8\/21\/26"},{"key":"e_1_3_3_80_2","unstructured":"2025. Greg\u2019s response in the RFL maillist. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/2025021954-flaccid-pucker-f7d9@gregkh\/"},{"key":"e_1_3_3_81_2","unstructured":"2025. Linus will refuse to merge the code breaking the bindgen. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/CAHk-=wie_Winz7CtRCM62S2b1pWKN2Jt2wdGHgFBv=aBU8qwqg@mail.gmail.com\/"},{"key":"e_1_3_3_82_2","unstructured":"2025. Linux DMA maintainer don\u2019t want new maintainer. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20250128092334.GA28548@lst.de\/"},{"key":"e_1_3_3_83_2","unstructured":"2025. Linux has the minimal Rust compiler and Rust-bindgen version. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/20240701183625.665574-1-ojeda@kernel.org\/t\/#m26754b90e2ee52e2528bc7fddbecc916af8b8bbe"},{"key":"e_1_3_3_84_2","unstructured":"2025. RFL has performance overhead in the bandwidth. Retrieved from https:\/\/rust-for-linux.com\/rust-kernel-policy#how-is-rust-introduced-in-a-subsystem"},{"key":"e_1_3_3_85_2","unstructured":"2025. Rust-bindgen has a bug when generating rust union. Retrieved from https:\/\/github.com\/rust-lang\/rust-bindgen\/issues\/3130"},{"key":"e_1_3_3_86_2","unstructured":"2025. Rust kernel policy. Retrieved from https:\/\/lore.kernel.org\/rust-for-linux\/Z7hulnJ4fwslRILy@pollux\/t\/#m0266688fd3577f9279617384fdbff0ed7f442c53"},{"key":"e_1_3_3_87_2","unstructured":"2025. Some key kernel maintainers are supporting RFL. Retrieved from https:\/\/fosdem.org\/2025\/events\/attachments\/fosdem-2025-6507-rust-for-linux\/slides\/236835\/2025-02-0_iwSaMYM.pdf"},{"key":"e_1_3_3_88_2","unstructured":"2025. Stable release supporting of RFL. Retrieved from https:\/\/rust-for-linux.com\/backporting-and-stable-lts-releases"},{"key":"e_1_3_3_89_2","unstructured":"2025. The bug of using Rust Union in rust-bindgen. Retrieved from https:\/\/github.com\/Richardhongyu\/rfl_empirical_tools\/issues\/1"},{"key":"e_1_3_3_90_2","unstructured":"2025. The (successful) end of the kernel Rust experiment. Retrieved 2025 from https:\/\/lwn.net\/Articles\/1049831\/"},{"key":"e_1_3_3_91_2","doi-asserted-by":"publisher","DOI":"10.1145\/3428204"},{"key":"e_1_3_3_92_2","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483570"},{"key":"e_1_3_3_93_2","doi-asserted-by":"publisher","DOI":"10.1145\/3139645.3139660"},{"key":"e_1_3_3_94_2","first-page":"6947","volume-title":"Proceedings of the 32nd USENIX Security Symposium (USENIX Security 23)","author":"Bang Inyoung","year":"2023","unstructured":"Inyoung Bang, Martin Kayondo, HyunGon Moon, and Yunheung Paek. 2023. TRust: A compilation framework for in-process isolation to protect safe rust against untrusted code. In Proceedings of the 32nd USENIX Security Symposium (USENIX Security 23). USENIX Association, Anaheim, CA, 6947\u20136964. Retrieved from https:\/\/www.usenix.org\/conference\/usenixsecurity23\/presentation\/bang"},{"key":"e_1_3_3_95_2","doi-asserted-by":"publisher","DOI":"10.5555\/998675.999420"},{"key":"e_1_3_3_96_2","doi-asserted-by":"publisher","DOI":"10.1145\/3625275.3625401"},{"key":"e_1_3_3_97_2","doi-asserted-by":"publisher","DOI":"10.1145\/3698576.3698766"},{"issue":"4","key":"e_1_3_3_98_2","first-page":"410","article-title":"Significance of software documentation in software development process","volume":"3","author":"Chomal Vikas S.","year":"2014","unstructured":"Vikas S. Chomal and Jatinderkumar R. Saini. 2014. Significance of software documentation in software development process. International Journal of Engineering Innovations and Research 3, 4 (2014), 410.","journal-title":"International Journal of Engineering Innovations and Research"},{"key":"e_1_3_3_99_2","unstructured":"Michael Coblenz April Porter Varun Das Teja Nallagorla and Michael Hicks. 2023. A Multimodal study of challenges using rust. Plateau workshop."},{"key":"e_1_3_3_100_2","unstructured":"2025. cloc: count lines of code. Retrieved from https:\/\/github.com\/AlDanial\/cloc"},{"key":"e_1_3_3_101_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380413"},{"key":"e_1_3_3_102_2","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483549"},{"key":"e_1_3_3_103_2","doi-asserted-by":"publisher","DOI":"10.1145\/3623759.3624547"},{"key":"e_1_3_3_104_2","first-page":"675","volume-title":"Proceedings of the 2019 USENIX Annual Technical Conference (USENIX ATC 19)","author":"Guo Liwei","year":"2019","unstructured":"Liwei Guo, Shuang Zhai, Yi Qiao, and Felix Xiaozhu Lin. 2019. Transkernel: Bridging monolithic kernels to peripheral cores. In Proceedings of the 2019 USENIX Annual Technical Conference (USENIX ATC 19). 675\u2013692."},{"key":"e_1_3_3_105_2","first-page":"2509","volume-title":"Proceedings of the 32nd USENIX Security Symposium (USENIX Security 23)","author":"H\u00f6ltervennhoff Sandra","year":"2023","unstructured":"Sandra H\u00f6ltervennhoff, Philip Klostermeyer, Noah W\u00f6hler, Yasemin Acar, and Sascha Fahl. 2023. \u201cI wouldn\u2019t want my unsafe code to run my pacemaker\u201d: An interview study on the use, comprehension, and perceived risks of unsafe rust. In Proceedings of the 32nd USENIX Security Symposium (USENIX Security 23). USENIX Association, Anaheim, CA, 2509\u20132525. Retrieved from https:\/\/www.usenix.org\/conference\/usenixsecurity23\/presentation\/holtervennhoff"},{"key":"e_1_3_3_106_2","doi-asserted-by":"publisher","DOI":"10.1007\/11813040_32"},{"key":"e_1_3_3_107_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2018.8573512"},{"key":"e_1_3_3_108_2","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"e_1_3_3_109_2","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150987"},{"key":"e_1_3_3_110_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSAC.2002.1176286"},{"key":"e_1_3_3_111_2","doi-asserted-by":"publisher","DOI":"10.1145\/3492321.3519582"},{"key":"e_1_3_3_112_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-81685-8_20"},{"key":"e_1_3_3_113_2","doi-asserted-by":"publisher","DOI":"10.1145\/3144555.3144562"},{"key":"e_1_3_3_114_2","doi-asserted-by":"publisher","DOI":"10.1145\/3365137.3365395"},{"key":"e_1_3_3_115_2","doi-asserted-by":"publisher","DOI":"10.1145\/3694715.3695952"},{"key":"e_1_3_3_116_2","doi-asserted-by":"publisher","DOI":"10.1145\/3586037"},{"key":"e_1_3_3_117_2","doi-asserted-by":"publisher","DOI":"10.1145\/2818302.2818306"},{"key":"e_1_3_3_118_2","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132786"},{"key":"e_1_3_3_119_2","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124717"},{"key":"e_1_3_3_120_2","first-page":"425","volume-title":"Proceedings of the 2024 USENIX Annual Technical Conference (USENIX ATC 24)","author":"Li Hongyu","year":"2024","unstructured":"Hongyu Li, Liwei Guo, Yexuan Yang, Shangguang Wang, and Mengwei Xu. 2024. An empirical study of \\(\\lbrace\\) rust-for-linux \\(\\rbrace\\) : The success, dissatisfaction, and compromise. In Proceedings of the 2024 USENIX Annual Technical Conference (USENIX ATC 24). 425\u2013443."},{"key":"e_1_3_3_121_2","unstructured":"2025. RROS: A Dual-kernel real-time operating system in rust. Retrieved from https:\/\/github.com\/BUPT-OS\/RROS"},{"key":"e_1_3_3_122_2","doi-asserted-by":"publisher","DOI":"10.1145\/3339252.3340506"},{"key":"e_1_3_3_123_2","doi-asserted-by":"publisher","DOI":"10.1145\/3460120.3484541"},{"key":"e_1_3_3_124_2","unstructured":"Alex Light. 2015. Reenix: Implementing a unix-like operating system in rust. Undergraduate Honors Theses Brown University (2015) 28."},{"key":"e_1_3_3_125_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380325"},{"key":"e_1_3_3_126_2","volume-title":"Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201920)","author":"Narayanan Vikram","year":"2020","unstructured":"Vikram Narayanan, Tianjiao Huang, David Detweiler, Dan Appel, Zhaofeng Li, Gerd Zellweger, and Anton Burtsev. 2020. RedLeaf: Isolation and communication in a safe operating system. In Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201920). USENIX Association, USA, Article 2, 19 pages."},{"key":"e_1_3_3_127_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597457.2597462"},{"key":"e_1_3_3_128_2","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_3_129_2","doi-asserted-by":"publisher","DOI":"10.1145\/3485832.3485903"},{"key":"e_1_3_3_130_2","unstructured":"Aaron Weiss Olek Gierczak Daniel Patterson and Amal Ahmed. 2019. Oxide: The essence of rust. arXiv preprint arXiv:1903.00982. Retrieved from https:\/\/arxiv.org\/abs\/1903.00982"},{"key":"e_1_3_3_131_2","first-page":"1","volume-title":"Proceedings of the International Workshop on Sustainable Software Systems Engineering","author":"Wong-Mozqueda Jorge Arturo","year":"2015","unstructured":"Jorge Arturo Wong-Mozqueda, Robert Haines, and Caroline Jay. 2015. Is code quality related to test coverage?. In Proceedings of the International Workshop on Sustainable Software Systems Engineering. 1\u20132."},{"key":"e_1_3_3_132_2","doi-asserted-by":"crossref","unstructured":"Xinmeng Xia Yang Feng and Qingkai Shi. 2023. Understanding bugs in rust compilers. In 2023 IEEE 23rd International Conference on Software Quality Reliability and Security (QRS). 138\u2013149.","DOI":"10.1109\/QRS60937.2023.00023"},{"key":"e_1_3_3_133_2","doi-asserted-by":"publisher","DOI":"10.1145\/3466642"},{"key":"e_1_3_3_134_2","doi-asserted-by":"publisher","DOI":"10.1145\/3456727.3463783"},{"key":"e_1_3_3_135_2","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3559494"},{"key":"e_1_3_3_136_2","volume-title":"Proceedings of the 40th Annual Computer Security Applications Conference","author":"Narayanan Xiangdong Chen Jerry Zhang Anton Burtsev Zhaofeng Li, Vikram","year":"2024","unstructured":"Xiangdong Chen Jerry Zhang Anton Burtsev Zhaofeng Li, Vikram Narayanan. 2024. Rust for linux: Understanding the security impact of rust in the linux kernel. In Proceedings of the 40th Annual Computer Security Applications Conference."},{"key":"e_1_3_3_137_2","doi-asserted-by":"publisher","DOI":"10.1145\/3624738"},{"key":"e_1_3_3_138_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510164"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3789260","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T06:38:50Z","timestamp":1777099130000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3789260"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,4,24]]},"references-count":137,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2026,5,31]]}},"alternative-id":["10.1145\/3789260"],"URL":"https:\/\/doi.org\/10.1145\/3789260","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,4,24]]},"assertion":[{"value":"2025-03-11","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-12-28","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-04-24","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}