{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,27]],"date-time":"2026-06-27T03:45:52Z","timestamp":1782531952593,"version":"3.54.5"},"publisher-location":"Cham","reference-count":41,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031171420","type":"print"},{"value":"9783031171437","type":"electronic"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-17143-7_33","type":"book-chapter","created":{"date-parts":[[2022,9,23]],"date-time":"2022-09-23T04:04:22Z","timestamp":1663905862000},"page":"680-700","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":22,"title":["Detecting Cross-language Memory Management Issues in\u00a0Rust"],"prefix":"10.1007","author":[{"given":"Zhuohua","family":"Li","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jincheng","family":"Wang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mingshen","family":"Sun","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John C. S.","family":"Lui","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,9,24]]},"reference":[{"key":"33_CR1","doi-asserted-by":"crossref","unstructured":"Astrauskas, V., M\u00fcller, P., Poli, F., Summers, A.J.: Leveraging rust types for modular specification and verification. In: Proceedings of the ACM on Programming Languages 3(OOPSLA), pp. 1\u201330 (2019)","DOI":"10.1145\/3360573"},{"key":"33_CR2","doi-asserted-by":"crossref","unstructured":"Bae, Y., Kim, Y., Askar, A., Lim, J., Kim, T.: Rudra: finding memory safety bugs in rust at the ecosystem scale. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, SOSP 2021, pp. 84\u201399 (2021)","DOI":"10.1145\/3477132.3483570"},{"key":"33_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"528","DOI":"10.1007\/978-3-030-01090-4_32","volume-title":"Automated Technology for Verification and Analysis","author":"M Baranowski","year":"2018","unstructured":"Baranowski, M., He, S., Rakamari\u0107, Z.: Verifying rust programs with SMACK. In: Lahiri, S.K., Wang, C. (eds.) ATVA 2018. LNCS, vol. 11138, pp. 528\u2013535. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-030-01090-4_32"},{"key":"33_CR4","unstructured":"Bushev, D.: Language details of the Firefox repo (2022). https:\/\/4e6.github.io\/firefox-lang-stats\/"},{"key":"33_CR5","unstructured":"Cadar, C., Dunbar, D., Engler, D.: KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, pp. 209\u2013224. OSDI \u201908 (2008)"},{"key":"33_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/978-3-540-24730-2_15","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"E Clarke","year":"2004","unstructured":"Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168\u2013176. Springer, Heidelberg (2004). https:\/\/doi.org\/10.1007\/978-3-540-24730-2_15"},{"key":"33_CR7","unstructured":"Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proceedings of the 2nd International Symposium on Programming, ISOP 1976, pp. 106\u2013130 (1976)"},{"key":"33_CR8","doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1977, pp. 238\u2013252 (1977)","DOI":"10.1145\/512950.512973"},{"key":"33_CR9","doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1979, pp. 269\u2013282 (1979)","DOI":"10.1145\/567752.567778"},{"key":"33_CR10","doi-asserted-by":"crossref","unstructured":"Cui, M., Chen, C., Xu, H., Zhou, Y.: SafeDrop: Detecting Memory Deallocation Bugs of Rust Programs via Static Data-Flow Analysis (2021)","DOI":"10.1145\/3542948"},{"key":"33_CR11","unstructured":"DeLine, R., Leino, R.: BoogiePL: a typed procedural language for checking object-oriented programs. Technical report MSR-TR-2005-70 (2005)"},{"key":"33_CR12","doi-asserted-by":"crossref","unstructured":"Evans, A.N., Campbell, B., Soffa, M.L.: Is rust used safely by software developers? In: Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering, ICSE 2020, pp. 246\u2013257 (2020)","DOI":"10.1145\/3377811.3380413"},{"key":"33_CR13","doi-asserted-by":"crossref","unstructured":"Girard, J.Y.: Linear logic: its syntax and semantics. In: Proceedings of the Workshop on Advances in Linear Logic, pp. 1\u201342 (1995)","DOI":"10.1017\/CBO9780511629150.002"},{"key":"33_CR14","unstructured":"Hahn, F.: Rust2Viper: Building a Static Verifier for Rust. Master\u2019s thesis, ETH Z\u00fcrich (2016)"},{"key":"33_CR15","doi-asserted-by":"crossref","unstructured":"Kirth, P., et al.: Pkru-safe: Automatically locking down the heap between safe and unsafe languages. In: Proceedings of the Seventeenth European Conference on Computer Systems, EuroSys 2022, pp. 132\u2013148 (2022)","DOI":"10.1145\/3492321.3519582"},{"key":"33_CR16","volume-title":"The Rust Programming Language","author":"S Klabnik","year":"2018","unstructured":"Klabnik, S., Nichols, C.: The Rust Programming Language. No Starch Press, USA (2018)"},{"key":"33_CR17","doi-asserted-by":"crossref","unstructured":"Kondoh, G., Onodera, T.: Finding Bugs in Java native interface programs. In: Proceedings of the 2008 International Symposium on Software Testing and Analysis, ISSTA 2008, pp. 109\u2013118 (2008)","DOI":"10.1145\/1390630.1390645"},{"key":"33_CR18","doi-asserted-by":"crossref","unstructured":"Lee, B., Wiedermann, B., Hirzel, M., Grimm, R., McKinley, K.S.: Jinn: synthesizing dynamic bug detectors for foreign language interfaces. In: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2010, pp. 36\u201349 (2010)","DOI":"10.1145\/1809028.1806601"},{"key":"33_CR19","doi-asserted-by":"crossref","unstructured":"Li, S., Tan, G.: Finding bugs in exceptional situations of JNI programs. In: Proceedings of the 16th ACM Conference on Computer and Communications Security, CCS 2009, pp. 442\u2013452 (2009)","DOI":"10.1145\/1653662.1653716"},{"key":"33_CR20","doi-asserted-by":"crossref","unstructured":"Li, S., Tan, G.: JET: exception checking in the java native interface. In: Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2011, pp. 345\u2013358 (2011)","DOI":"10.1145\/2076021.2048095"},{"key":"33_CR21","doi-asserted-by":"crossref","unstructured":"Li, Z., Wang, J., Sun, M., Lui, J.C.: Securing the device drivers of your embedded systems: framework and prototype. In: Proceedings of the 14th International Conference on Availability, Reliability and Security, ARES 2019, pp. 1\u201310 (2019)","DOI":"10.1145\/3339252.3340506"},{"key":"33_CR22","doi-asserted-by":"crossref","unstructured":"Li, Z., Wang, J., Sun, M., Lui, J.C.: MirChecker: detecting bugs in rust programs via static analysis. In: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, CCS 2021, pp. 2183\u20132196 (2021)","DOI":"10.1145\/3460120.3484541"},{"key":"33_CR23","doi-asserted-by":"crossref","unstructured":"Lindner, M., Aparicius, J., Lindgren, P.: No panic! verification of rust programs by symbolic execution. In: 2018 IEEE 16th International Conference on Industrial Informatics, INDIN 2018, pp. 108\u2013114 (2018)","DOI":"10.1109\/INDIN.2018.8471992"},{"key":"33_CR24","doi-asserted-by":"crossref","unstructured":"Mergendahl, S., Burow, N., Okhravi, H.: Cross-language attacks. In: Proceedings of the Network and Distributed System Security Symposium (NDSS 2022) (2022)","DOI":"10.14722\/ndss.2022.24078"},{"key":"33_CR25","unstructured":"MIRAI Contributors: MIRAI: Rust mid-level IR Abstract Interpreter (2022). https:\/\/github.com\/facebookexperimental\/MIRAI"},{"key":"33_CR26","unstructured":"M\u00f8ller, A., Schwartzbach, M.I.: Static Program Analysis (2018)"},{"key":"33_CR27","doi-asserted-by":"crossref","unstructured":"de Moura, L., Bj\u00f8rner, N.: Z3: an efficient SMT solver. In: Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2008, pp. 337\u2013340 (2008)","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"33_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-662-49122-5_2","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"P M\u00fcller","year":"2016","unstructured":"M\u00fcller, P., Schwerhoff, M., Summers, A.J.: Viper: a verification infrastructure for permission-based reasoning. In: Jobstmann, B., Leino, K.R.M. (eds.) VMCAI 2016. LNCS, vol. 9583, pp. 41\u201362. Springer, Heidelberg (2016). https:\/\/doi.org\/10.1007\/978-3-662-49122-5_2"},{"key":"33_CR29","doi-asserted-by":"publisher","unstructured":"Principles of Program Analysis. Lecture Notes in Computer Science, Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/978-3-662-03811-6_6","DOI":"10.1007\/978-3-662-03811-6_6"},{"key":"33_CR30","unstructured":"Ojeda, M.: Rust for Linux (2022). https:\/\/github.com\/Rust-for-Linux"},{"key":"33_CR31","doi-asserted-by":"crossref","unstructured":"Qin, B., Chen, Y., Yu, Z., Song, L., Zhang, Y.: Understanding memory and thread safety practices and issues in real-world rust programs. In: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2020, pp. 763\u2013779 (2020)","DOI":"10.1145\/3385412.3386036"},{"key":"33_CR32","doi-asserted-by":"crossref","unstructured":"Rakamaric, Z., Emmi, M.: SMACK: decoupling source language details from verifier implementations. In: Proceedings of the 26th International Conference on Computer Aided Verification, CAV 2014, pp. 106\u2013113 (2014)","DOI":"10.1007\/978-3-319-08867-9_7"},{"key":"33_CR33","doi-asserted-by":"crossref","unstructured":"Rivera, E., Mergendahl, S., Shrobe, H., Okhravi, H., Burow, N.: Keeping safe rust safe with galeed. In: Annual Computer Security Applications Conference, ACSAC 2021, pp. 824\u2013836 (2021)","DOI":"10.1145\/3485832.3485903"},{"key":"33_CR34","unstructured":"Secure Rust Guidelines Contributors: Secure Rust Guidelines (2022). https:\/\/anssi-fr.github.io\/rust-guide\/"},{"key":"33_CR35","unstructured":"Tan, G., Croft, J.: An Empirical Security Study of the Native Code in the JDK. In: 17th USENIX Security Symposium (USENIX Security 08), July 2008"},{"key":"33_CR36","unstructured":"The Rust FFI Omnibus Contributors: The Rust FFI Omnibus (2022). https:\/\/jakegoulding.com\/rust-ffi-omnibus\/"},{"key":"33_CR37","unstructured":"The Rustonomicon Contributors: The Rustonomicon (2022). https:\/\/doc.rust-lang.org\/nomicon\/"},{"key":"33_CR38","doi-asserted-by":"crossref","unstructured":"Toman, J., Pernsteiner, S., Torlak, E.: Crust: a bounded verifier for rust. In: 2015 30th IEEE\/ACM International Conference on Automated Software Engineering, ASE 2015, pp. 75\u201380 (2015)","DOI":"10.1109\/ASE.2015.77"},{"key":"33_CR39","unstructured":"Unsafe Code Guidelines Working Group: Rust\u2019s Unsafe Code Guidelines Reference (2022). https:\/\/rust-lang.github.io\/unsafe-code-guidelines\/"},{"key":"33_CR40","unstructured":"Wadler, P.: Linear Types Can Change the World! In: Programming Concepts and Methods (1990)"},{"key":"33_CR41","doi-asserted-by":"crossref","unstructured":"Xu, H., Chen, Z., Sun, M., Zhou, Y., Lyu, M.R.: Memory-safety challenge considered solved? an in-depth study with all rust CVEs. ACM Trans. Softw. Eng. Methodol. 31(1), September 2021","DOI":"10.1145\/3466642"}],"container-title":["Lecture Notes in Computer Science","Computer Security \u2013 ESORICS 2022"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-17143-7_33","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,9,23]],"date-time":"2022-09-23T04:13:19Z","timestamp":1663906399000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-17143-7_33"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031171420","9783031171437"],"references-count":41,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-17143-7_33","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"24 September 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ESORICS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Symposium on Research in Computer Security","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Copenhagen","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Denmark","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 September 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 September 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"esorics2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/esorics2022.compute.dtu.dk\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"562","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"104","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"19% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3.4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"12","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}