{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T02:15:28Z","timestamp":1775873728909,"version":"3.50.1"},"reference-count":78,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"9","license":[{"start":{"date-parts":[[2024,9,1]],"date-time":"2024-09-01T00:00:00Z","timestamp":1725148800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2024,9,1]],"date-time":"2024-09-01T00:00:00Z","timestamp":1725148800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2024,9,1]],"date-time":"2024-09-01T00:00:00Z","timestamp":1725148800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["62372304"],"award-info":[{"award-number":["62372304"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Research Grant of Ant Group"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2024,9]]},"DOI":"10.1109\/tse.2024.3443624","type":"journal-article","created":{"date-parts":[[2024,8,13]],"date-time":"2024-08-13T17:27:46Z","timestamp":1723570066000},"page":"2472-2484","source":"Crossref","is-referenced-by-count":2,"title":["rCanary: Detecting Memory Leaks Across Semi-Automated Memory Management Boundary in Rust"],"prefix":"10.1109","volume":"50","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5117-5829","authenticated-orcid":false,"given":"Mohan","family":"Cui","sequence":"first","affiliation":[{"name":"Ant Group, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2465-8627","authenticated-orcid":false,"given":"Hui","family":"Xu","sequence":"additional","affiliation":[{"name":"Fudan University of Computer Science, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-1248-4078","authenticated-orcid":false,"given":"Hongliang","family":"Tian","sequence":"additional","affiliation":[{"name":"Ant Group, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9184-7383","authenticated-orcid":false,"given":"Yangfan","family":"Zhou","sequence":"additional","affiliation":[{"name":"Fudan University of Computer Science, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1145\/2692956.2663188"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"ref3","volume-title":"The Rust Programming Language (Covers Rust 2018)","author":"Klabnik","year":"2023"},{"key":"ref4","first-page":"81","article-title":"Engineering the servo web browser engine using Rust","volume-title":"Proc. 38th Int. Conf. Softw. Eng. Companion","author":"Anderson","year":"2016"},{"key":"ref5","article-title":"Reenix: Implementing a UNIX-like operating system in rust","volume-title":"Undergraduate Honors Theses, Brown University","author":"Light","year":"2015"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1109\/ISSREW53611.2021.00075"},{"key":"ref7","article-title":"RedoxOS Contributors","year":"2022"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378469"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/3365137.3365395"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/2818302.2818306"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/3131672.3136988"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132786"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2012.6237017"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029883"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/3102980.3103006"},{"key":"ref16","article-title":"Uncontrolled resource consumption","year":"2024"},{"key":"ref17","first-page":"1","article-title":"LLVM and Clang: Next generation compiler technology","volume-title":"Proc. BSD Conf.","volume":"5","author":"Lattner","year":"2008"},{"key":"ref18","first-page":"209","article-title":"KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs","volume-title":"Proc. Oper. Syst. Design Implementation","volume":"8","author":"Cadar","year":"2008"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/1375634.1375653"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-17143-7_33"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3639136"},{"key":"ref22","article-title":"Unsafe intrinsic mem::forget in rust release version 0.12","year":"2015"},{"key":"ref23","article-title":"The Rust communitys crate registry","year":"2024"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/3428204"},{"key":"ref25","doi-asserted-by":"crossref","first-page":"246","DOI":"10.1145\/3377811.3380413","article-title":"Is rust used safely by software developers?","volume-title":"Proc. ACM\/IEEE 42nd Int. Conf. Softw. Eng.","author":"Evans","year":"2020"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2302311"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1007\/11823230_26"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892235"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/278283.278285"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781150"},{"key":"ref31","article-title":"S.-L. T. S. M. T. LIBRARY","year":"2024"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/2103621.2103718"},{"key":"ref33","article-title":"std::ops::Drop","year":"2024"},{"key":"ref34","article-title":"std::vec::Vec","year":"2024"},{"key":"ref35","article-title":"std::mem::ManuallyDrop","year":"2024"},{"key":"ref36","article-title":"std::ptr::drop_in_place","year":"2024"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1145\/3542948"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483570"},{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/3460120.3484541"},{"key":"ref40","doi-asserted-by":"crossref","first-page":"337","DOI":"10.1007\/978-3-540-78800-3_24","article-title":"Z3: An efficient SMT solver","volume-title":"Proc. Int. Conf. Tools Algorithms Construction Anal. Syst.","volume":"4963","author":"Moura","year":"2008"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/800061.808753"},{"key":"ref42","article-title":"The Rust reference","year":"2024"},{"key":"ref43","article-title":"std::vec::Vec::new","year":"2024"},{"key":"ref44","article-title":"Static program analysis","author":"M\u00f8ller","year":"2012"},{"key":"ref45","article-title":"std::net::IpAddr","year":"2024"},{"key":"ref46","article-title":"rustc_middle::ty::adt::AdtDef","year":"2024"},{"key":"ref47","article-title":"rustc_middle::ty::generic_args::GenericArgs","year":"2024"},{"key":"ref48","article-title":"std::marker::PhantomData","year":"2024"},{"key":"ref49","article-title":"std::string::String","year":"2024"},{"key":"ref50","volume-title":"Principles of Program Analysis","author":"Nielson","year":"2015"},{"key":"ref51","first-page":"264","article-title":"Patina: A formalization of the rust programming language","author":"Reed","year":"2015"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1109\/TASE.2018.00014"},{"key":"ref53","article-title":"std::boxed::Box::leak","year":"2024"},{"key":"ref54","article-title":"std::boxed::Box::from_raw","year":"2024"},{"key":"ref55","first-page":"309","article-title":"{AddressSanitizer}: A fast address sanity checker","volume-title":"Proc. USENIX Annu. Tech. Conf. (USENIX ATC)","author":"Serebryany","year":"2012"},{"key":"ref56","article-title":"Miri: An interpreter for Rusts mid-level intermediate representation","author":"Olson","year":"2016"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1145\/3371109"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev.2016.043"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"ref60","article-title":"An object calculus with ownership and containment","author":"Clarke","year":"2001"},{"key":"ref61","article-title":"Smart pointers: They\u2019re smart, but they\u2019re not pointers","author":"Edelson","year":"1992"},{"issue":"4","key":"ref62","first-page":"p. 5","article-title":"Linear types can change the world!","volume":"3","author":"Wadler","year":"1990","journal-title":"Programming Concepts and Methods"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(87)90045-4"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/1104.001.0001"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1007\/bfb0054091"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286947"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1002\/spe.370"},{"key":"ref68","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45332-6_7"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582440"},{"key":"ref70","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582447"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/3640537.3641574"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081728"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1145\/360248.360252"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512973"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1145\/567752.567778"},{"key":"ref76","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2011.5764696"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250789"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1145\/1594834.1480911"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx8\/32\/10683742\/10636096.pdf?arnumber=10636096","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,20]],"date-time":"2024-09-20T06:27:22Z","timestamp":1726813642000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/10636096\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9]]},"references-count":78,"journal-issue":{"issue":"9"},"URL":"https:\/\/doi.org\/10.1109\/tse.2024.3443624","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,9]]}}}