{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:01:23Z","timestamp":1750309283330,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":34,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T00:00:00Z","timestamp":1718841600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,6,20]]},"DOI":"10.1145\/3652032.3657579","type":"proceedings-article","created":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T17:00:08Z","timestamp":1718902808000},"page":"155-165","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Foundations for a Rust-Like Borrow Checker for C"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-1289-6766","authenticated-orcid":false,"given":"Tiago","family":"Silva","sequence":"first","affiliation":[{"name":"University of Porto, Porto, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3017-9449","authenticated-orcid":false,"given":"Jo\u00e3o","family":"Bispo","sequence":"additional","affiliation":[{"name":"University of Porto, Porto, Portugal \/ INESC TEC, Porto, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5826-7643","authenticated-orcid":false,"given":"Tiago","family":"Carvalho","sequence":"additional","affiliation":[{"name":"Polytechnic Institute of Porto, Porto, Portugal \/ INESC TEC, Porto, Portugal"}]}],"member":"320","published-online":{"date-parts":[[2024,6,20]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2008.30"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646353.1646374"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.softx.2020.100565"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378811"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346295"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev.2018.00015"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics"},{"key":"e_1_3_2_1_8_1","unstructured":"Dan Gohman. 2015. Incorrect Liveness in DeadStoreElimination. LLVM bugs. https:\/\/bugs.llvm.org\/show_bug.cgi?id=25422"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512563"},{"key":"e_1_3_2_1_10_1","volume-title":"Proceedings of the","author":"Hastings Reed","year":"1992","unstructured":"Reed Hastings and Bob Joyce. 1992. Purify: Fast Detection of Memory Leaks and Access Errors. Proceedings of the Winter 1992 USENIX Conference, 125\u2013138."},{"key":"e_1_3_2_1_11_1","unstructured":"ISO. 1999. ISO\/IEC 9899:1999 - Programming Languages - C."},{"key":"e_1_3_2_1_12_1","unstructured":"Ralf Jung. 2023. From Stacks to Trees: A New Aliasing Model for Rust."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371109"},{"key":"e_1_3_2_1_14_1","unstructured":"Steve Klabnik and Carol Nichols. 2018. The Rust Programming Language. No Starch Press. isbn:1-59327-828-4"},{"key":"e_1_3_2_1_15_1","unstructured":"Felix Klock II. 2014. RFC 0320: Nonzeroing-Dynamic-Drop. https:\/\/github.com\/rust-lang\/rfcs\/blob\/abc967a2c5ddd0af2d3506897be7ecfbc0e78e97\/text\/0320-nonzeroing-dynamic-drop.md"},{"key":"e_1_3_2_1_16_1","unstructured":"Chris Lattner. 2011. LLVM and Clang: Advancing Compiler Technology."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-Companion55297.2022.9793767"},{"key":"e_1_3_2_1_18_1","unstructured":"Jo\u00e3o Matos. 2022. Automatic C\/C++ Source-Code Analysis and Normalization. Ph. D. Dissertation. Universidade do Porto."},{"key":"e_1_3_2_1_19_1","unstructured":"Niko Matsakis. 2015. RFC 1211: Mir. https:\/\/github.com\/rust-lang\/rfcs\/blob\/debadbae2c7fc6cf2d94aef61c08f60b2e6ed297\/text\/1211-mir.md"},{"key":"e_1_3_2_1_20_1","volume-title":"RFC 2025: Nested-Method-Calls. https:\/\/github.com\/rust-lang\/rfcs\/blob\/188cc17ad38b201867955fb4a51c306c0704b6cf\/text\/2025-nested-method-calls.md","author":"Matsakis Niko","year":"2017","unstructured":"Niko Matsakis. 2017. RFC 2025: Nested-Method-Calls. https:\/\/github.com\/rust-lang\/rfcs\/blob\/188cc17ad38b201867955fb4a51c306c0704b6cf\/text\/2025-nested-method-calls.md"},{"key":"e_1_3_2_1_21_1","volume-title":"RFC 2094: Nll. https:\/\/github.com\/rust-lang\/rfcs\/blob\/abc967a2c5ddd0af2d3506897be7ecfbc0e78e97\/text\/2094-nll.md","author":"Matsakis Niko","year":"2017","unstructured":"Niko Matsakis. 2017. RFC 2094: Nll. https:\/\/github.com\/rust-lang\/rfcs\/blob\/abc967a2c5ddd0af2d3506897be7ecfbc0e78e97\/text\/2094-nll.md"},{"key":"e_1_3_2_1_22_1","unstructured":"Niko Matsakis. 2019. Polonius and Region Errors. https:\/\/smallcultfollowing.com\/babysteps\/blog\/2019\/01\/17\/polonius-and-region-errors\/ (accessed 2023-09-20)"},{"key":"e_1_3_2_1_23_1","unstructured":"Niko Matsakis. 22. Non-Lexical Lifetimes (NLL) Fully Stable. https:\/\/blog.rust-lang.org\/2022\/08\/05\/nll-by-default.html (accessed 2023-08-11)"},{"key":"e_1_3_2_1_24_1","unstructured":"Steven S. Muchnick. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann. isbn:1-55860-320-4"},{"key":"e_1_3_2_1_25_1","volume-title":"Milo M K Martin, and Steve Zdancewic","author":"Nagarakatte Santosh","year":"2009","unstructured":"Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin, and Steve Zdancewic. 2009. SoftBound: Highly Compatible and Complete Spatial Memory Safety for c. University of Pennsylvania Department of Computer and Information Science Technical."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/503272.503286"},{"key":"e_1_3_2_1_27_1","unstructured":"Nikita Popov. 2018. Loop Unrolling Incorrectly Duplicates Noalias Metadata. RFC 9405. https:\/\/bugs.llvm.org\/show_bug.cgi?id=39282"},{"key":"e_1_3_2_1_28_1","unstructured":"Rust Community. 2014. The Rust Language Reference. https:\/\/github.com\/rust-lang\/reference\/tree\/effbdc1b059fde09027925e1bea90bb1860d5f27 (accessed 2023-09-05)"},{"key":"e_1_3_2_1_29_1","unstructured":"Rust Community. 2015. The Rustonomicon. https:\/\/github.com\/rust-lang\/nomicon\/tree\/302b995bcb24b70fd883980fd174738c3a10b705 (accessed 2023-08-03)"},{"key":"e_1_3_2_1_30_1","unstructured":"Rust Community. 2018. Polonius Book. https:\/\/github.com\/rust-lang\/polonius\/tree\/0a754a9e1916c0e7d9ba23668ea33249c7a7b59e (accessed 2023-09-13)"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.13"},{"key":"e_1_3_2_1_32_1","unstructured":"Gavin Thomas. 2019. A Proactive Approach to More Secure Code."},{"key":"e_1_3_2_1_33_1","volume-title":"Cyclone: A Safe Dialect of C. In 2002 USENIX Annual Technical Conference (USENIX ATC 02)","author":"Trevor Jim","year":"2002","unstructured":"Jim Trevor, Greg Morrisett, James Cheney, Dan Grossman, Michael Hicks, and Yanling Wang. 2002. Cyclone: A Safe Dialect of C. In 2002 USENIX Annual Technical Conference (USENIX ATC 02). USENIX Association."},{"volume-title":"Lifetime-Elision","author":"Turon Aaron","key":"e_1_3_2_1_34_1","unstructured":"Aaron Turon. 2014. RFC 0141: Lifetime-Elision. Rust Foundation."}],"event":{"name":"LCTES '24: 25th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems","sponsor":["SIGBED ACM Special Interest Group on Embedded Systems","SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Copenhagen Denmark","acronym":"LCTES '24"},"container-title":["Proceedings of the 25th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3652032.3657579","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3652032.3657579","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:03:12Z","timestamp":1750291392000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3652032.3657579"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,20]]},"references-count":34,"alternative-id":["10.1145\/3652032.3657579","10.1145\/3652032"],"URL":"https:\/\/doi.org\/10.1145\/3652032.3657579","relation":{},"subject":[],"published":{"date-parts":[[2024,6,20]]},"assertion":[{"value":"2024-06-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}