{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T18:52:00Z","timestamp":1773773520157,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":83,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,12,6]],"date-time":"2021-12-06T00:00:00Z","timestamp":1638748800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100009076","name":"University of Science and Technology of China","doi-asserted-by":"publisher","award":["2020YCJC41"],"award-info":[{"award-number":["2020YCJC41"]}],"id":[{"id":"10.13039\/501100009076","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,12,6]]},"DOI":"10.1145\/3485832.3485841","type":"proceedings-article","created":{"date-parts":[[2021,12,6]],"date-time":"2021-12-06T13:42:32Z","timestamp":1638798152000},"page":"812-823","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Rupair: Towards Automatic Buffer Overflow Detection and Rectification for Rust"],"prefix":"10.1145","author":[{"given":"Baojian","family":"Hua","sequence":"first","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wanrong","family":"Ouyang","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chengman","family":"Jiang","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qiliang","family":"Fan","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhizhong","family":"Pan","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,12,6]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2014. integer-overflow. https:\/\/rust-lang.github.io\/rfcs\/0560-integer-overflow.html."},{"key":"e_1_3_2_1_2_1","unstructured":"2018. rust-moving. https:\/\/users.rust-lang.org\/t\/rust-mutability-moving-andborrowing-the-straight-dope\/22166."},{"key":"e_1_3_2_1_3_1","unstructured":"2020. nomicon-casts. https:\/\/doc.rust-lang.org\/nomicon\/casts.html."},{"key":"e_1_3_2_1_4_1","unstructured":"2020. Parity. https:\/\/github.com\/paritytech\/parity-ethereum."},{"key":"e_1_3_2_1_5_1","unstructured":"2020. The Rust CVEs. https:\/\/github.com\/system-pclub\/rust-study."},{"key":"e_1_3_2_1_6_1","unstructured":"2020. rust-lifetime. https:\/\/doc.rust-lang.org\/nomicon\/lifetimes.html."},{"key":"e_1_3_2_1_7_1","unstructured":"2020. rust-ownership. https:\/\/doc.rust-lang.org\/nomicon\/ownership.html."},{"key":"e_1_3_2_1_8_1","unstructured":"2020. rust-survey-2020. https:\/\/blog.rustlang.org\/2020\/12\/16\/rust-survey-2020.html."},{"key":"e_1_3_2_1_9_1","unstructured":"2020. TTstack. https:\/\/github.com\/rustcc\/TTstac."},{"key":"e_1_3_2_1_10_1","unstructured":"2020. unsafe-rust. https:\/\/doc.rust-lang.org\/book\/ch19-01-unsafe-rust.html."},{"key":"e_1_3_2_1_11_1","unstructured":"2021. The AddressSanitizer. https:\/\/clang.llvm.org\/docs\/AddressSanitizer.html."},{"key":"e_1_3_2_1_12_1","unstructured":"2021. Libra. https:\/\/www.diem.com\/en-us\/."},{"key":"e_1_3_2_1_13_1","unstructured":"2021. Rust Specification. https:\/\/doc.rust-lang.org\/."},{"key":"e_1_3_2_1_14_1","unstructured":"2021. The Servo Browser Engine. https:\/\/servo.org\/."},{"key":"e_1_3_2_1_15_1","unstructured":"2021. TiKV. https:\/\/github.com\/tikv\/tikv."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/93548.93576"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/6448"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360573"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360585"},{"key":"e_1_3_2_1_20_1","volume-title":"Handbook of Model Checking","author":"Barrett Clark","unstructured":"Clark Barrett and Cesare Tinelli. 2018. Satisfiability modulo theories. In Handbook of Model Checking. Springer, 305\u2013343."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-22110-1_14"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"crossref","unstructured":"David\u00a0W Binkley and Keith\u00a0Brian Gallagher. 1996. Program slicing. Advances in computers 43(1996) 1\u201350.","DOI":"10.1016\/S0065-2458(08)60641-5"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884819"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-17524-9_1"},{"key":"e_1_3_2_1_25_1","volume-title":"Npefix: Automatic runtime repair of null pointer exceptions in java. arXiv preprint arXiv:1512.07423(2015).","author":"Cornu Benoit","year":"2015","unstructured":"Benoit Cornu, Thomas Durieux, Lionel Seinturier, and Martin Monperrus. 2015. Npefix: Automatic runtime repair of null pointer exceptions in java. arXiv preprint arXiv:1512.07423(2015)."},{"key":"e_1_3_2_1_26_1","volume-title":"Proceedings of the ACM on Programming Languages 4, POPL(2019)","author":"Dang Hoang-Hai","year":"2019","unstructured":"Hoang-Hai Dang, Jacques-Henri Jourdan, Jan-Oliver Kaiser, and Derek Dreyer. 2019. RustBelt meets relaxed memory. Proceedings of the ACM on Programming Languages 4, POPL(2019), 1\u201329."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2010.66"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3138824"},{"key":"e_1_3_2_1_30_1","unstructured":"Matthias Erdin Vytautas Astrauskas and Federico Poli. 2019. Verification of Rust Generics Typestates and Traits. Ph.D. Dissertation. Master\u00a1\u00afs thesis ETH Z\u00fcrich."},{"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","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.64"},{"key":"e_1_3_2_1_33_1","volume-title":"K-Miner: Uncovering Memory Corruption in Linux. In 25th Annual Network and Distributed System Security Symposium, NDSS 2018","author":"Gens David","year":"2018","unstructured":"David Gens, Simon Schmitt, Lucas Davi, and Ahmad-Reza Sadeghi. 2018. K-Miner: Uncovering Memory Corruption in Linux. In 25th Annual Network and Distributed System Security Symposium, NDSS 2018, San Diego, California, USA, February 18-21, 2018. The Internet Society. http:\/\/wp.internetsociety.org\/ndss\/wp-content\/uploads\/sites\/25\/2018\/02\/ndss2018_05A-1_Gens_paper.pdf"},{"key":"e_1_3_2_1_34_1","unstructured":"Florian Hahn. 2016. Rust2Viper: Building a static verifier for Rust. Master\u2019s thesis. ETH Zurich."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806833"},{"key":"e_1_3_2_1_36_1","volume-title":"10th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 12). 221\u2013236.","author":"Jin Guoliang","unstructured":"Guoliang Jin, Wei Zhang, and Dongdong Deng. 2012. Automated concurrency-bug fixing. In 10th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 12). 221\u2013236."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1101908.1101949"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158154"},{"key":"e_1_3_2_1_39_1","volume-title":"Proceedings of the ACM on Programming Languages 2, POPL(2017)","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. Proceedings of the ACM on Programming Languages 2, POPL(2017), 1\u201334."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771798"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27813-9_40"},{"key":"e_1_3_2_1_43_1","unstructured":"AMIN\u00a0AIT LAMQADEM. 2019. A Formalization of the Static Semantics of Rust. (2019)."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3365137.3365395"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2818302.2818306"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124717"},{"key":"e_1_3_2_1_48_1","volume-title":"Reenix: Implementing a unix-like operating system in rust. Undergraduate Honors Theses","author":"Light Alex","year":"2015","unstructured":"Alex Light. 2015. Reenix: Implementing a unix-like operating system in rust. Undergraduate Honors Theses, Brown University (2015)."},{"key":"e_1_3_2_1_49_1","volume-title":"Cargo-call-stack Static Call-stack Analysis for Rust. In 2019 IEEE 17th International Conference on Industrial Informatics (INDIN), Vol.\u00a01. IEEE, 1169\u20131176","author":"Lindgren Per","year":"2019","unstructured":"Per Lindgren, Nils Fitinghoff, and Jorge Aparicio. 2019. Cargo-call-stack Static Call-stack Analysis for Rust. In 2019 IEEE 17th International Conference on Industrial Informatics (INDIN), Vol.\u00a01. IEEE, 1169\u20131176."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950309"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380325"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786811"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837617"},{"key":"e_1_3_2_1_54_1","unstructured":"Gongming Luo Vishnu Reddy Marcelo Almeida Yingying Zhu Ke Du and Cyrus Omar. 2020. RustViz: Interactively Visualizing Ownership and Borrowing. CoRR abs\/2011.09012(2020). arxiv:2011.09012https:\/\/arxiv.org\/abs\/2011.09012"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-44914-8_18"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.63"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884807"},{"key":"e_1_3_2_1_58_1","volume-title":"19th {USENIX} Conference on File and Storage Technologies ({FAST} 21). 65\u201379.","author":"Miller Samantha","unstructured":"Samantha Miller, Kaiyuan Zhang, Mengqi Chen, Ryan Jennings, Ang Chen, Danyang Zhuo, and Thomas Anderson. 2021. High Velocity Kernel File Systems with Bento. In 19th {USENIX} Conference on File and Storage Technologies ({FAST} 21). 65\u201379."},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-49122-5_2"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349314"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606623"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","unstructured":"Pengxiang Ning and Boqin Qin. 2020. Stuck-me-not: A deadlock detector on blockchain software in Rust. In The 11th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN 2020) \/ The 10th International Conference on Current and Future Trends of Information and Communication Technologies in Healthcare (ICTH-2020) \/ Affiliated Workshops Madeira Portugal November 2-5 2020(Procedia Computer Science Vol.\u00a0177) Elhadi\u00a0M. Shakshuki and Ansar-Ul-Haque Yasar (Eds.). Elsevier 599\u2013604. https:\/\/doi.org\/10.1016\/j.procs.2020.10.085","DOI":"10.1016\/j.procs.2020.10.085"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568254"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386036"},{"key":"e_1_3_2_1_65_1","unstructured":"Vishnu Reddy Marcelo Almeida Yingying Zhu Ke Du Cyrus Omar 2020. RustViz: Interactively Visualizing Ownership and Borrowing. arXiv preprint arXiv:2011.09012(2020)."},{"key":"e_1_3_2_1_66_1","volume-title":"Patina: A formalization of the Rust programming language","author":"Reed Eric","year":"2015","unstructured":"Eric Reed. 2015. Patina: A formalization of the Rust programming language. University of Washington, Department of Computer Science and Engineering, Tech. Rep. UW-CSE-15-03-02(2015), 264."},{"key":"e_1_3_2_1_67_1","volume-title":"Enhancing Server Availability and Security Through Failure-Oblivious Computing. In 6th Symposium on Operating System Design and Implementation (OSDI 2004","author":"Rinard C.","year":"2004","unstructured":"Martin\u00a0C. Rinard, Cristian Cadar, Daniel Dumitran, Daniel\u00a0M. Roy, Tudor Leu, and William\u00a0S. Beebee. 2004. Enhancing Server Availability and Security Through Failure-Oblivious Computing. In 6th Symposium on Operating System Design and Implementation (OSDI 2004), San Francisco, California, USA, December 6-8, 2004, Eric\u00a0A. Brewer and Peter Chen (Eds.). USENIX Association, 303\u2013316. http:\/\/www.usenix.org\/events\/osdi04\/tech\/rinard.html"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3381052.3381326"},{"key":"e_1_3_2_1_69_1","unstructured":"Michael Sutton Adam Greene and Pedram Amini. 2007. Fuzzing: brute force vulnerability discovery. Pearson Education."},{"key":"e_1_3_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950295"},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.77"},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASE.2018.00014"},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2013.6693094"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070536"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"},{"key":"e_1_3_2_1_76_1","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"},{"key":"e_1_3_2_1_77_1","unstructured":"Zeming Yu Linhai Song and Yiying Zhang. 2019. Fearless Concurrency? Understanding Concurrent Programming Safety in Real-World Rust Software. CoRR abs\/1902.01906(2019). arxiv:1902.01906http:\/\/arxiv.org\/abs\/1902.01906"},{"key":"e_1_3_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15497-3_5"},{"key":"e_1_3_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/1961295.1950395"},{"key":"e_1_3_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/1735971.1736041"},{"key":"e_1_3_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER48275.2020.9054825"},{"key":"e_1_3_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/3372297.3420024"},{"key":"e_1_3_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/3372297.3420024"}],"event":{"name":"ACSAC '21: Annual Computer Security Applications Conference","location":"Virtual Event USA","acronym":"ACSAC '21"},"container-title":["Annual Computer Security Applications Conference"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3485832.3485841","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3485832.3485841","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T19:13:56Z","timestamp":1755890036000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3485832.3485841"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,12,6]]},"references-count":83,"alternative-id":["10.1145\/3485832.3485841","10.1145\/3485832"],"URL":"https:\/\/doi.org\/10.1145\/3485832.3485841","relation":{},"subject":[],"published":{"date-parts":[[2021,12,6]]},"assertion":[{"value":"2021-12-06","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}