{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,10,30]],"date-time":"2024-10-30T21:38:54Z","timestamp":1730324334123,"version":"3.28.0"},"publisher-location":"New York, NY, USA","reference-count":65,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,10,26]],"date-time":"2022-10-26T00:00:00Z","timestamp":1666742400000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"DARPA","award":["PA-20-02-07-FP-020"]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,10,26]]},"DOI":"10.1145\/3477132.3483570","type":"proceedings-article","created":{"date-parts":[[2021,10,19]],"date-time":"2021-10-19T11:59:18Z","timestamp":1634644758000},"page":"84-99","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["Rudra"],"prefix":"10.1145","author":[{"given":"Yechan","family":"Bae","sequence":"first","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Youngsuk","family":"Kim","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Ammar","family":"Askar","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Jungwon","family":"Lim","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]},{"given":"Taesoo","family":"Kim","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}]}],"member":"320","published-online":{"date-parts":[[2021,10,26]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2015. CVE-2015-20001: BinaryHeap is not exception safe. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2015-20001 2015. CVE-2015-20001: BinaryHeap is not exception safe. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2015-20001"},{"key":"e_1_3_2_1_2_1","unstructured":"2015. Rust Issue #25860: Implied bounds on nested references + variance = soundness hole. Retrieved 2021-09-26 from https:\/\/github.com\/rust-lang\/rust\/issues\/25860 2015. Rust Issue #25860: Implied bounds on nested references + variance = soundness hole. Retrieved 2021-09-26 from https:\/\/github.com\/rust-lang\/rust\/issues\/25860"},{"volume-title":"MutexGuard<Cell<i32>>","year":"2021","key":"e_1_3_2_1_3_1","unstructured":"2017. CVE-2017-20004 : MutexGuard<Cell<i32>> ; must not be Sync. Retrieved 2021 -05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2017-20004 2017. CVE-2017-20004: MutexGuard<Cell<i32>> must not be Sync. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2017-20004"},{"key":"e_1_3_2_1_4_1","unstructured":"2018. CVE-2018-1000657: seg fault pushing on either side of a VecDeque. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-1000657 2018. CVE-2018-1000657: seg fault pushing on either side of a VecDeque. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-1000657"},{"key":"e_1_3_2_1_5_1","unstructured":"2019. RUSTSEC-2019-0010: libflate: MultiDecoder::read() drops uninitialized memory of arbitrary type on panic in client code. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0010.html 2019. RUSTSEC-2019-0010: libflate: MultiDecoder::read() drops uninitialized memory of arbitrary type on panic in client code. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0010.html"},{"key":"e_1_3_2_1_6_1","unstructured":"2019. RUSTSEC-2019-0011: memoffset: Flaw in offset_of and span_-of causes SIGILL drops uninitialized memory of arbitrary type on panic in client code. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0011.html 2019. RUSTSEC-2019-0011: memoffset: Flaw in offset_of and span_-of causes SIGILL drops uninitialized memory of arbitrary type on panic in client code. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0011.html"},{"key":"e_1_3_2_1_7_1","unstructured":"2019. RUSTSEC-2019-0022: portaudio-rs: Stream callback function is not unwind safe. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0022.html 2019. RUSTSEC-2019-0022: portaudio-rs: Stream callback function is not unwind safe. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC-2019-0022.html"},{"key":"e_1_3_2_1_8_1","unstructured":"2020. CVE-2020-35905: MappedMutexGuard Send\/Sync bound is unsound. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-35905 2020. CVE-2020-35905: MappedMutexGuard Send\/Sync bound is unsound. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-35905"},{"key":"e_1_3_2_1_9_1","unstructured":"2020. CVE-2020-36317: String::retain allows safely creating invalid (non-utf8) strings when abusing panic. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-36317 2020. CVE-2020-36317: String::retain allows safely creating invalid (non-utf8) strings when abusing panic. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-36317"},{"key":"e_1_3_2_1_10_1","unstructured":"2020. CVE-2020-36323: API soundness issue in join() implementation of [Borrow<str>]. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-36323 2020. CVE-2020-36323: API soundness issue in join() implementation of [Borrow<str>]. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-36323"},{"key":"e_1_3_2_1_11_1","unstructured":"2020. RUSTSEC-2020-0028: rocket: Clone implementation for Local-Request is unsound. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC- 2020-0028.html 2020. RUSTSEC-2020-0028: rocket: Clone implementation for Local-Request is unsound. Retrieved 2021-05-06 from https:\/\/rustsec.org\/advisories\/RUSTSEC- 2020-0028.html"},{"key":"e_1_3_2_1_12_1","unstructured":"2021. CVE-2021-28876: Panic safety issue in Zip specialization. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi? name=CVE-2021-28876 2021. CVE-2021-28876: Panic safety issue in Zip specialization. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi? name=CVE-2021-28876"},{"key":"e_1_3_2_1_13_1","unstructured":"2021. CVE-2021-28879: Side effect handling in specialized zip implementation causes buffer overflow. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-28879 2021. CVE-2021-28879: Side effect handling in specialized zip implementation causes buffer overflow. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-28879"},{"key":"e_1_3_2_1_14_1","unstructured":"2021. CVE-2021-31162: Double free in Vec::from_iter specialization when drop panics. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-28879 2021. CVE-2021-31162: Double free in Vec::from_iter specialization when drop panics. Retrieved 2021-05-06 from https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-28879"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-39953-4_6"},{"key":"e_1_3_2_1_16_1","first-page":"1","article-title":"How Do Programmers Use Unsafe Rust?. In Proceedings of the 31st Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)","volume":"136","author":"Astrauskas Vytautas","year":"2020","unstructured":"Vytautas Astrauskas , Christoph Matheja , Federico Poli , Peter M\u00fcller , and Alexander J. Summers . 2020 . How Do Programmers Use Unsafe Rust?. In Proceedings of the 31st Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) . Everywhere , 136 : 1 - 136 :27. Vytautas Astrauskas, Christoph Matheja, Federico Poli, Peter M\u00fcller, and Alexander J. Summers. 2020. How Do Programmers Use Unsafe Rust?. In Proceedings of the 31st Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Everywhere, 136:1-136:27.","journal-title":"Everywhere"},{"key":"e_1_3_2_1_17_1","first-page":"1","article-title":"Leveraging Rust Types for Modular Specification and Verification. In Proceedings of the 30th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Athens","volume":"147","author":"Astrauskas Vytautas","year":"2019","unstructured":"Vytautas Astrauskas , Peter M\u00fcller , Federico Poli , and Alexander J. Summers . 2019 . Leveraging Rust Types for Modular Specification and Verification. In Proceedings of the 30th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Athens , Greece , 147 : 1 -- 147 :30. Vytautas Astrauskas, Peter M\u00fcller, Federico Poli, and Alexander J. Summers. 2019. Leveraging Rust Types for Modular Specification and Verification. In Proceedings of the 30th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). Athens, Greece, 147:1--147:30.","journal-title":"Greece"},{"key":"e_1_3_2_1_18_1","unstructured":"Rust Fuzzing Authority. 2017. cargo-fuzz. Retrieved 2021-05-06 from https:\/\/github.com\/rust-fuzz\/cargo-fuzz Rust Fuzzing Authority. 2017. cargo-fuzz. Retrieved 2021-05-06 from https:\/\/github.com\/rust-fuzz\/cargo-fuzz"},{"key":"e_1_3_2_1_19_1","volume-title":"Proceedings of the 18th European Software Engineering Conference (ESEC) \/ 27th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE). Tallinn, Estonia.","author":"Babic Domagoj","year":"2019","unstructured":"Domagoj Babic , Stefan Bucur , Yaohui Chen , Franjo Ivancic , Tim King , Markus Kusano , Caroline Lemieux , L\u00e1szl\u00f3 Szekeres , and Wei Wang . 2019 . FUDGE: fuzz driver generation at scale . In Proceedings of the 18th European Software Engineering Conference (ESEC) \/ 27th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE). Tallinn, Estonia. Domagoj Babic, Stefan Bucur, Yaohui Chen, Franjo Ivancic, Tim King, Markus Kusano, Caroline Lemieux, L\u00e1szl\u00f3 Szekeres, and Wei Wang. 2019. FUDGE: fuzz driver generation at scale. In Proceedings of the 18th European Software Engineering Conference (ESEC) \/ 27th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE). Tallinn, Estonia."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-01090-4_32"},{"key":"e_1_3_2_1_21_1","volume-title":"Rocket: A web framework for Rust (nightly) with a focus on ease-of-use, expressibility, and speed. Retrieved 2021-05-06 from https:\/\/rocket.rs\/","author":"Benitez Sergio","year":"2016","unstructured":"Sergio Benitez . 2016 . Rocket: A web framework for Rust (nightly) with a focus on ease-of-use, expressibility, and speed. Retrieved 2021-05-06 from https:\/\/rocket.rs\/ Sergio Benitez. 2016. Rocket: A web framework for Rust (nightly) with a focus on ease-of-use, expressibility, and speed. Retrieved 2021-05-06 from https:\/\/rocket.rs\/"},{"key":"e_1_3_2_1_22_1","volume-title":"Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 1--19","author":"Boos Kevin","year":"2020","unstructured":"Kevin Boos , Namitha Liyanage , Ramla Ijaz , and Lin Zhong . 2020 . Theseus: an Experiment in Operating System Structure and State Management . In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 1--19 . Kevin Boos, Namitha Liyanage, Ramla Ijaz, and Lin Zhong. 2020. Theseus: an Experiment in Operating System Structure and State Management. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 1--19."},{"key":"e_1_3_2_1_23_1","volume-title":"Proceedings of the 29th USENIX Security Symposium (Security)","author":"Brown Fraser","year":"2020","unstructured":"Fraser Brown , Deian Stefan , and Dawson Engler . 2020 . Sys: A Static\/Symbolic Tool for Finding Good Bugs in Good (Browser) Code . In Proceedings of the 29th USENIX Security Symposium (Security) . Boston, MA, 199--216. Fraser Brown, Deian Stefan, and Dawson Engler. 2020. Sys: A Static\/Symbolic Tool for Finding Good Bugs in Good (Browser) Code. In Proceedings of the 29th USENIX Security Symposium (Security). Boston, MA, 199--216."},{"volume-title":"C++ gems","author":"Cargill Tom","key":"e_1_3_2_1_24_1","unstructured":"Tom Cargill . 1996. Exception handling: A false sense of security . In C++ gems . SIGS Publications, Inc. , New York, NY , 423--431. Tom Cargill. 1996. Exception handling: A false sense of security. In C++ gems. SIGS Publications, Inc., New York, NY, 423--431."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24730-2_15"},{"key":"e_1_3_2_1_26_1","volume-title":"Tokio: A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. Retrieved 2021-05-06 from https:\/\/tokio.rs\/","author":"Contributors Tokio","year":"2016","unstructured":"Tokio Contributors . 2016 . Tokio: A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. Retrieved 2021-05-06 from https:\/\/tokio.rs\/ Tokio Contributors. 2016. Tokio: A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. Retrieved 2021-05-06 from https:\/\/tokio.rs\/"},{"key":"e_1_3_2_1_27_1","volume-title":"Proceedings of the 46th ACM Symposium on Principles of Programming Languages (POPL)","author":"Dang Hoang-Hai","year":"2019","unstructured":"Hoang-Hai Dang , Jacques-Henri Jourdan , Jan-Oliver Kaiser , and Derek Dreyer . 2019 . RustBelt meets relaxed memory . In Proceedings of the 46th ACM Symposium on Principles of Programming Languages (POPL) . Cascais, Portugal, 34:1--34:29. Hoang-Hai Dang, Jacques-Henri Jourdan, Jan-Oliver Kaiser, and Derek Dreyer. 2019. RustBelt meets relaxed memory. In Proceedings of the 46th ACM Symposium on Principles of Programming Languages (POPL). Cascais, Portugal, 34:1--34:29."},{"key":"e_1_3_2_1_28_1","unstructured":"DeepCode AG. 2020. DeepCode. Retrieved 2021-05-06 from https:\/\/www.deepcode.ai\/ DeepCode AG. 2020. DeepCode. Retrieved 2021-05-06 from https:\/\/www.deepcode.ai\/"},{"key":"e_1_3_2_1_29_1","unstructured":"Redox Developers. 2015. Redox Operating System. Retrieved 2021-05-06 from https:\/\/www.redox-os.org\/ Redox Developers. 2015. Redox Operating System. Retrieved 2021-05-06 from https:\/\/www.redox-os.org\/"},{"key":"e_1_3_2_1_30_1","unstructured":"Jeehoon Kang et al. 2018. rv6. Retrieved 2021-05-06 from https:\/\/www.redox-os.org\/ Jeehoon Kang et al. 2018. rv6. Retrieved 2021-05-06 from https:\/\/www.redox-os.org\/"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380413"},{"key":"e_1_3_2_1_32_1","volume-title":"RFC: Reading into uninitialized buffers. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/2930-read-buf.md","author":"Fackler Steven","year":"2020","unstructured":"Steven Fackler . 2020 . RFC: Reading into uninitialized buffers. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/2930-read-buf.md Steven Fackler. 2020. RFC: Reading into uninitialized buffers. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/2930-read-buf.md"},{"key":"e_1_3_2_1_33_1","unstructured":"Rust for Linux Team. 2021. Rust for Linux. Retrieved 2021-05-06 from https:\/\/github.com\/Rust-for-Linux\/linux Rust for Linux Team. 2021. Rust for Linux. Retrieved 2021-05-06 from https:\/\/github.com\/Rust-for-Linux\/linux"},{"key":"e_1_3_2_1_34_1","unstructured":"GitHub Inc. 2006. CodeQL. Retrieved 2021-05-06 from https:\/\/github.com\/github\/codeql GitHub Inc. 2006. CodeQL. Retrieved 2021-05-06 from https:\/\/github.com\/github\/codeql"},{"key":"e_1_3_2_1_35_1","unstructured":"Google. 2010. Honggfuzz. Retrieved 2021-05-06 from https:\/\/github.com\/rust-fuzz\/cargo-fuzz Google. 2010. Honggfuzz. Retrieved 2021-05-06 from https:\/\/github.com\/rust-fuzz\/cargo-fuzz"},{"key":"e_1_3_2_1_36_1","unstructured":"Google. 2021. Android Gabeldorsche Bluetooth Stack. Retrieved 2021-05-06 from https:\/\/android.googlesource.com\/platform\/system\/bt\/+\/master\/gd\/rust\/ Google. 2021. Android Gabeldorsche Bluetooth Stack. Retrieved 2021-05-06 from https:\/\/android.googlesource.com\/platform\/system\/bt\/+\/master\/gd\/rust\/"},{"key":"e_1_3_2_1_37_1","unstructured":"Google. 2021. Google C++ Style Guide. Retrieved 2021-05-06 from https:\/\/google.github.io\/styleguide\/cppguide.html Google. 2021. Google C++ Style Guide. Retrieved 2021-05-06 from https:\/\/google.github.io\/styleguide\/cppguide.html"},{"key":"e_1_3_2_1_38_1","unstructured":"Rust Secure Code Working Group. 2016. Rust Safety Dance. Retrieved 2021-05-06 from https:\/\/github.com\/rust-secure-code\/safety-dance Rust Secure Code Working Group. 2016. Rust Safety Dance. Retrieved 2021-05-06 from https:\/\/github.com\/rust-secure-code\/safety-dance"},{"key":"e_1_3_2_1_39_1","unstructured":"Rust Secure Code Working Group. 2016. RustSec: The Rust Security Advisory Database. Retrieved 2021-05-06 from https:\/\/rustsec.org\/ Rust Secure Code Working Group. 2016. RustSec: The Rust Security Advisory Database. Retrieved 2021-05-06 from https:\/\/rustsec.org\/"},{"key":"e_1_3_2_1_40_1","volume-title":"Proceedings of the 29th USENIX Security Symposium (Security)","author":"Ispoglou Kyriakos","year":"2020","unstructured":"Kyriakos Ispoglou , Daniel Austin , Vishwath Mohan , and Mathias Payer . 2020 . FuzzGen: Automatic Fuzzer Generation . In Proceedings of the 29th USENIX Security Symposium (Security) . Boston, MA. Kyriakos Ispoglou, Daniel Austin, Vishwath Mohan, and Mathias Payer. 2020. FuzzGen: Automatic Fuzzer Generation. In Proceedings of the 29th USENIX Security Symposium (Security). Boston, MA."},{"key":"e_1_3_2_1_41_1","volume-title":"Joern: The Bug Hunter's Workbench. Retrieved 2021-05-06 from https:\/\/joern.io\/","author":"Contributors Joern","year":"2019","unstructured":"Joern Contributors . 2019 . Joern: The Bug Hunter's Workbench. Retrieved 2021-05-06 from https:\/\/joern.io\/ Joern Contributors. 2019. Joern: The Bug Hunter's Workbench. Retrieved 2021-05-06 from https:\/\/joern.io\/"},{"key":"e_1_3_2_1_42_1","unstructured":"Ralf Jung. 2018. Two Kinds of Invariants: Safety and Validity. Retrieved 2021-05-06 from https:\/\/www.ralfj.de\/blog\/2018\/08\/22\/two-kinds-of-invariants.html Ralf Jung. 2018. Two Kinds of Invariants: Safety and Validity. Retrieved 2021-05-06 from https:\/\/www.ralfj.de\/blog\/2018\/08\/22\/two-kinds-of-invariants.html"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371109"},{"key":"e_1_3_2_1_44_1","volume-title":"Proceedings of the 44th ACM Symposium on Principles of Programming Languages (POPL)","author":"Jung Ralf","year":"2017","unstructured":"Ralf Jung , Jacques-Henri Jourdan , Robbert Krebbers , and Derek Dreyer . 2017 . RustBelt: Securing the Foundations of the Rust Programming Language . In Proceedings of the 44th ACM Symposium on Principles of Programming Languages (POPL) . Paris, France, 66:1--66:34. Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, and Derek Dreyer. 2017. RustBelt: Securing the Foundations of the Rust Programming Language. In Proceedings of the 44th ACM Symposium on Principles of Programming Languages (POPL). Paris, France, 66:1--66:34."},{"key":"e_1_3_2_1_45_1","volume-title":"RFC: Semantic versioning for the language. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/1122-language-semver.md","author":"Matsakis Niko","year":"2015","unstructured":"Niko Matsakis . 2015 . RFC: Semantic versioning for the language. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/1122-language-semver.md Niko Matsakis. 2015. RFC: Semantic versioning for the language. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/1122-language-semver.md"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-49122-5_2"},{"key":"e_1_3_2_1_47_1","volume-title":"Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 21--39","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 Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 21--39 . 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 Symposium on Operating Systems Design and Implementation (OSDI). Virtual Event, 21--39."},{"volume-title":"Abstraction Layers and Energy Efficiency in TockOS, a Rust-based Runtime for the Internet of Things. Master's thesis","author":"Nilsson Filip","key":"e_1_3_2_1_48_1","unstructured":"Filip Nilsson and Sebastian Lund . 2018. Abstraction Layers and Energy Efficiency in TockOS, a Rust-based Runtime for the Internet of Things. Master's thesis . Chalmers University of Technology , Gothenburg, Sweden . Filip Nilsson and Sebastian Lund. 2018. Abstraction Layers and Energy Efficiency in TockOS, a Rust-based Runtime for the Internet of Things. Master's thesis. Chalmers University of Technology, Gothenburg, Sweden."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_2_1_50_1","unstructured":"r2c. 2020. Semgrep. Retrieved 2021-05-06 from https:\/\/semgrep.dev\/ r2c. 2020. Semgrep. Retrieved 2021-05-06 from https:\/\/semgrep.dev\/"},{"key":"e_1_3_2_1_51_1","volume-title":"Patina: A formalization of the Rust programming language. Master's thesis","author":"Reed Eric","year":"2015","unstructured":"Eric Reed . 2015 . Patina: A formalization of the Rust programming language. Master's thesis . University of Washington , Seattle, WA . Eric Reed. 2015. Patina: A formalization of the Rust programming language. Master's thesis. University of Washington, Seattle, WA."},{"key":"e_1_3_2_1_52_1","volume-title":"Clippy: A bunch of lints to catch common mistakes and improve your Rust code. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rust-clippy","author":"Team The Rust","year":"2014","unstructured":"The Rust Team . 2014 . Clippy: A bunch of lints to catch common mistakes and improve your Rust code. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rust-clippy The Rust Team. 2014. Clippy: A bunch of lints to catch common mistakes and improve your Rust code. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/rust-clippy"},{"key":"e_1_3_2_1_53_1","volume-title":"Miri: An interpreter for Rust's mid-level intermediate representation. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/miri","author":"Team The Rust","year":"2015","unstructured":"The Rust Team . 2015 . Miri: An interpreter for Rust's mid-level intermediate representation. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/miri The Rust Team. 2015. Miri: An interpreter for Rust's mid-level intermediate representation. Retrieved 2021-05-06 from https:\/\/github.com\/rust-lang\/miri"},{"key":"e_1_3_2_1_54_1","volume-title":"Rust: A language empowering everyone to build reliable and efficient software. Retrieved 2021-05-06 from https:\/\/www.rust-lang.org\/","author":"Team The Rust","year":"2015","unstructured":"The Rust Team . 2015 . Rust: A language empowering everyone to build reliable and efficient software. Retrieved 2021-05-06 from https:\/\/www.rust-lang.org\/ The Rust Team. 2015. Rust: A language empowering everyone to build reliable and efficient software. Retrieved 2021-05-06 from https:\/\/www.rust-lang.org\/"},{"key":"e_1_3_2_1_55_1","unstructured":"The Rust Team. 2015. The Rust Reference - Trait and lifetime bounds. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/reference\/trait-bounds.html The Rust Team. 2015. The Rust Reference - Trait and lifetime bounds. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/reference\/trait-bounds.html"},{"key":"e_1_3_2_1_56_1","unstructured":"The Rust Team. 2015. The Rust Reference - Types. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/reference\/types.html The Rust Team. 2015. The Rust Reference - Types. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/reference\/types.html"},{"key":"e_1_3_2_1_57_1","unstructured":"The Rust Team. 2015. The Rust Standard Library Documentation -std::io::Read. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/std\/io\/trait.Read.html The Rust Team. 2015. The Rust Standard Library Documentation -std::io::Read. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/std\/io\/trait.Read.html"},{"key":"e_1_3_2_1_58_1","volume-title":"The Rustonomicon: The Dark Arts of Advanced and Unsafe Rust Programming. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/nomicon\/","author":"Team The Rust","year":"2015","unstructured":"The Rust Team . 2015 . The Rustonomicon: The Dark Arts of Advanced and Unsafe Rust Programming. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/nomicon\/ The Rust Team. 2015. The Rustonomicon: The Dark Arts of Advanced and Unsafe Rust Programming. Retrieved 2021-05-06 from https:\/\/doc.rust-lang.org\/nomicon\/"},{"key":"e_1_3_2_1_59_1","volume-title":"Servo: The Servo Browser Engine. Retrieved 2021-05-06 from https:\/\/servo.org\/","author":"Team The Servo","year":"2012","unstructured":"The Servo Team . 2012 . Servo: The Servo Browser Engine. Retrieved 2021-05-06 from https:\/\/servo.org\/ The Servo Team. 2012. Servo: The Servo Browser Engine. Retrieved 2021-05-06 from https:\/\/servo.org\/"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.77"},{"volume-title":"Programming concepts and methods, Manfred Broy and Cliff B","author":"Wadler Philip","key":"e_1_3_2_1_61_1","unstructured":"Philip Wadler . 1990. Linear Types can Change the World! . In Programming concepts and methods, Manfred Broy and Cliff B . Jones (Eds.). North-Holland, Sea of Galilee, Israel , 561. Philip Wadler. 1990. Linear Types can Change the World!. In Programming concepts and methods, Manfred Broy and Cliff B. Jones (Eds.). North-Holland, Sea of Galilee, Israel, 561."},{"volume-title":"Advanced topics in types and programming languages","author":"Walker David","key":"e_1_3_2_1_62_1","unstructured":"David Walker . 2004. Substructural type systems . In Advanced topics in types and programming languages , Benjamin C Pierce (Ed.). MIT press , Cambridge, PA , Chapter 1, 3--44. David Walker. 2004. Substructural type systems. In Advanced topics in types and programming languages, Benjamin C Pierce (Ed.). MIT press, Cambridge, PA, Chapter 1, 3--44."},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASE.2018.00014"},{"key":"e_1_3_2_1_64_1","volume-title":"Oxide: The essence of Rust. CoRR","author":"Weiss Aaron","year":"2019","unstructured":"Aaron Weiss , Daniel Patterson , Nicholas D Matsakis , and Amal Ahmed . 2019 . Oxide: The essence of Rust. CoRR (2019). arXiv:1903.00982 Aaron Weiss, Daniel Patterson, Nicholas D Matsakis, and Amal Ahmed. 2019. Oxide: The essence of Rust. CoRR (2019). arXiv:1903.00982"},{"key":"e_1_3_2_1_65_1","volume-title":"Memory-Safety Challenge Considered Solved? An Empirical Study with All Rust CVEs. CoRR abs\/2003.03296","author":"Xu Hui","year":"2020","unstructured":"Hui Xu , Zhuangbin Chen , Mingshen Sun , and Yangfan Zhou . 2020. Memory-Safety Challenge Considered Solved? An Empirical Study with All Rust CVEs. CoRR abs\/2003.03296 ( 2020 ). arXiv:2003.03296https:\/\/arxiv.org\/abs\/2003.03296 Hui Xu, Zhuangbin Chen, Mingshen Sun, and Yangfan Zhou. 2020. Memory-Safety Challenge Considered Solved? An Empirical Study with All Rust CVEs. CoRR abs\/2003.03296 (2020). arXiv:2003.03296https:\/\/arxiv.org\/abs\/2003.03296"}],"event":{"name":"SOSP '21: ACM SIGOPS 28th Symposium on Operating Systems Principles","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems","USENIX Assoc USENIX Assoc"],"location":"Virtual Event Germany","acronym":"SOSP '21"},"container-title":["Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3477132.3483570","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3477132.3483570","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,3]],"date-time":"2023-06-03T06:21:40Z","timestamp":1685773300000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477132.3483570"}},"subtitle":["Finding Memory Safety Bugs in Rust at the Ecosystem Scale"],"short-title":[],"issued":{"date-parts":[[2021,10,26]]},"references-count":65,"alternative-id":["10.1145\/3477132.3483570","10.1145\/3477132"],"URL":"https:\/\/doi.org\/10.1145\/3477132.3483570","relation":{},"subject":[],"published":{"date-parts":[[2021,10,26]]},"assertion":[{"value":"2021-10-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}