{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,18]],"date-time":"2026-07-18T05:13:58Z","timestamp":1784351638932,"version":"3.55.0"},"reference-count":100,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"6","license":[{"start":{"date-parts":[[2024,6,1]],"date-time":"2024-06-01T00:00:00Z","timestamp":1717200000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2024,6,1]],"date-time":"2024-06-01T00:00:00Z","timestamp":1717200000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2024,6,1]],"date-time":"2024-06-01T00:00:00Z","timestamp":1717200000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2024,6]]},"DOI":"10.1109\/tse.2024.3380393","type":"journal-article","created":{"date-parts":[[2024,3,25]],"date-time":"2024-03-25T19:15:03Z","timestamp":1711394103000},"page":"1306-1324","source":"Crossref","is-referenced-by-count":15,"title":["Understanding and Detecting Real-World Safety Issues in Rust"],"prefix":"10.1109","volume":"50","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8510-8656","authenticated-orcid":false,"given":"Boqin","family":"Qin","sequence":"first","affiliation":[{"name":"China Telecom Cloud Technology Co., Ltd, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yilun","family":"Chen","sequence":"additional","affiliation":[{"name":"HoneycombData Inc., Santa Clara, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-6609-3088","authenticated-orcid":false,"given":"Haopeng","family":"Liu","sequence":"additional","affiliation":[{"name":"University of Chicago, IL, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0532-9783","authenticated-orcid":false,"given":"Hua","family":"Zhang","sequence":"additional","affiliation":[{"name":"Beijing University of Posts and Telecommunications, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7142-9726","authenticated-orcid":false,"given":"Qiaoyan","family":"Wen","sequence":"additional","affiliation":[{"name":"Beijing University of Posts and Telecommunications, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3185-9278","authenticated-orcid":false,"given":"Linhai","family":"Song","sequence":"additional","affiliation":[{"name":"Pennsylvania State University, State College, PA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-6263-7802","authenticated-orcid":false,"given":"Yiying","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of California San Diego, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref1","volume-title":"The Rust Programming Language","author":"Klabnik","year":"2018"},{"key":"ref2","article-title":"Safe concurrency with Rust.","author":"Shanker","year":"2019"},{"key":"ref3","article-title":"Rust empowering everyone to build reliable and efficient software","year":"2019"},{"key":"ref4","article-title":"Appreciating Rusts memory safety guarantees","author":"Chua","year":"2017"},{"key":"ref5","article-title":"Rust versus C GCC fastest programs","year":"2019"},{"key":"ref6","article-title":"Stack Overflow developer survey 2016","year":"2019"},{"key":"ref7","article-title":"Stack Overflow developer survey 2017","year":"2019"},{"key":"ref8","article-title":"Stack Overflow developer survey 2018","year":"2019"},{"key":"ref9","article-title":"The Servo browser engine","year":"2019"},{"key":"ref10","article-title":"Quantum","year":"2019"},{"key":"ref11","article-title":"Stratis: Easy to use local storage management for Linux","year":"2019"},{"key":"ref12","article-title":"Tock embedded operating system","year":"2019"},{"key":"ref13","article-title":"The Redox operating system."},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-01090-4_32"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.65"},{"key":"ref17","article-title":"K-Rust: An executable formal semantics for Rust","author":"Kan","year":"2018"},{"key":"ref18","article-title":"CVE program mission","year":"2019"},{"key":"ref19","article-title":"Security advisory database for Rust crates","year":"2019"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304069"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/3503221.3508404"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/3443420"},{"key":"ref23","first-page":"597","article-title":"Benefits and drawbacks of adopting a secure programming language: Rust as a case study","volume-title":"Proc. 17th Symp. Usable Privacy Secur. (SOUPS 2021)","author":"Fulton","year":"2021"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/3460120.3484541"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1145\/3542948"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454084"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/3640537.3641574"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3639102"},{"key":"ref29","article-title":"Lint (software)","year":"2019"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483570"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"ref32","article-title":"Stack overflow developer survey 2019","year":"2019"},{"key":"ref33","article-title":"Stack overflow developer survey 2020.","year":"2020"},{"key":"ref34","article-title":"Stack overflow developer survey 2021","year":"2021"},{"key":"ref35","article-title":"The State of Octoverse","year":"2019"},{"key":"ref36","article-title":"IoT Edge security daemon","year":"2019"},{"key":"ref37","article-title":"Secure and fast microVMs for serverless computing","year":"2019"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/3144555.3144560"},{"key":"ref39","article-title":"A distributed transactional key-value database","year":"2019"},{"key":"ref40","article-title":"Why Rust for safe systems programming","year":"Microsoft"},{"key":"ref41","article-title":"Microsoft to explore using Rust","author":"Cimpanu","year":"2019"},{"key":"ref42","article-title":"AWS\u2019 sponsorship of the Rust project","author":"Barsky","year":"2019"},{"key":"ref43","article-title":"Google is now writing low-level Android code in Rust","author":"Amadeo","year":"2021"},{"key":"ref44","article-title":"The Ethereum project","year":"2019"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132786"},{"key":"ref46","article-title":"A Rust library for random number generation","author":"\u201c","year":"2019"},{"key":"ref47","article-title":"Tools for concurrent programming in Rust","year":"2019"},{"key":"ref48","article-title":"A very simple thread pool for parallel task execution","year":"2019"},{"key":"ref49","article-title":"A data parallelism library for Rust","year":"2019"},{"key":"ref50","article-title":"A macro for declaring lazily evaluated statics in Rust","year":"2019"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978340"},{"key":"ref52","first-page":"17","article-title":"POMP: Postmortem program analysis with hardware-enhanced post-crash artifacts","volume-title":"Proc. 26th USENIX Conf. Secur. Symp. (Secur. \u201917)","author":"Xu","year":"2017"},{"key":"ref53","first-page":"17","article-title":"REPT: Reverse debugging of failures in deployed software","volume-title":"Proc. 12th USENIX Conf. Oper. Syst. Des. Implementation (OSDI \u201918)","author":"Cui","year":"2018"},{"key":"ref54","first-page":"329","article-title":"Learning from mistakes \u2013 A comprehensive study of real world concurrency bug characteristics","volume-title":"Proc. 13th Int. Conf. Archit. Support Program. Lang. Oper. Syst. (ASPLOS \u201908)","author":"Lu","year":"2008"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872374"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.87"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736041"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950395"},{"key":"ref59","article-title":"CVE-2018-1000810","year":"2018"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180250"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00095"},{"key":"ref62","article-title":"Fearless Concurrency","year":"2019"},{"key":"ref63","article-title":"Interior mutability in Rust, part 2: Thread safety","author":"Martins","year":"2016"},{"key":"ref64","first-page":"151","article-title":"Effective data-race detection for the kernel","volume-title":"Proc. 9th USENIX Conf. Oper. Syst. Des. Implementation (OSDI \u201910)","author":"Erickson","year":"2010"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095832"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755945"},{"key":"ref68","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168864"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1145\/964001.964023"},{"key":"ref70","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884811"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950394"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669181"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555796"},{"key":"ref74","article-title":"Fearless concurrency with Rust","author":"Turon","year":"2019"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950309"},{"key":"ref76","first-page":"221","article-title":"Automated concurrency-bug fixing","volume-title":"Proc. 10th USENIX Conf. Oper. Syst. Des. Implementation (OSDI\u201912)","author":"Jin","year":"2012"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993544"},{"key":"ref78","article-title":"1211-mir","year":"2019"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1145\/3445814.3446756"},{"key":"ref80","doi-asserted-by":"publisher","DOI":"10.1145\/1165389.945468"},{"key":"ref81","first-page":"3559","article-title":"Constraint-guided directed greybox fuzzing","volume-title":"Proc. 30th USENIX Secur. Symp. (USENIX Secur. \u201921), Virtual Conf.","author":"Lee","year":"2021"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134020"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"ref84","first-page":"209","article-title":"KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs","volume-title":"Proc. 8th USENIX Conf. Oper. Syst. Des. Implementation (OSDI \u201908)","author":"Cadar","year":"2008"},{"key":"ref85","article-title":"A bunch of lints to catch common mistakes and improve your Rust code","year":"2019"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-17143-7_33"},{"key":"ref87","article-title":"An interpreter for Rusts mid-level intermediate representation","year":"2019"},{"key":"ref88","doi-asserted-by":"publisher","DOI":"10.1145\/3371109"},{"key":"ref89","first-page":"234","article-title":"Securing unsafe Rust programs with XRust","volume-title":"Proc. 42nd Int. Conf. Softw. Eng. (ICSE \u201920)","author":"Liu","year":"2020"},{"key":"ref90","article-title":"Patina: A formalization of the Rust programming language","author":"Reed","year":"2015"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502042"},{"key":"ref92","doi-asserted-by":"publisher","DOI":"10.1145\/2560012"},{"key":"ref93","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786815"},{"key":"ref94","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254075"},{"key":"ref95","doi-asserted-by":"publisher","DOI":"10.1145\/2670979.2670986"},{"key":"ref96","doi-asserted-by":"publisher","DOI":"10.1145\/3466642"},{"key":"ref97","article-title":"Unsafe in Rust: Syntactic patterns","author":"Ozdemir","year":"2019"},{"key":"ref98","article-title":"Unsafe in Rust: The abstraction safety contract and public escape","author":"Ozdemir","year":"2019"},{"key":"ref99","first-page":"25","article-title":"When memory-safe languages become unsafe","volume-title":"Proc. DEF CON China (DEF CON China \u201918\u2019)","author":"Sun","year":"2018"},{"key":"ref100","first-page":"246","article-title":"Is Rust used safely by software developers?\u201d","volume-title":"Proc. 42nd Int. Conf. Softw. Eng. (ICSE \u201920)","author":"Evans","year":"2020"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/10557781\/10479047.pdf?arnumber=10479047","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T07:00:53Z","timestamp":1725606053000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/10479047\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6]]},"references-count":100,"journal-issue":{"issue":"6"},"URL":"https:\/\/doi.org\/10.1109\/tse.2024.3380393","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"value":"0098-5589","type":"print"},{"value":"1939-3520","type":"electronic"},{"value":"2326-3881","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,6]]}}}