{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,17]],"date-time":"2026-07-17T03:46:59Z","timestamp":1784260019132,"version":"3.55.0"},"publisher-location":"New York, NY, USA","reference-count":51,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,7,11]],"date-time":"2021-07-11T00:00:00Z","timestamp":1625961600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,7,11]]},"DOI":"10.1145\/3460319.3464807","type":"proceedings-article","created":{"date-parts":[[2021,7,8]],"date-time":"2021-07-08T22:18:43Z","timestamp":1625782723000},"page":"296-308","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["Runtime detection of memory errors with smart status"],"prefix":"10.1145","author":[{"given":"Zhe","family":"Chen","sequence":"first","affiliation":[{"name":"Nanjing University of Aeronautics and Astronautics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Chong","family":"Wang","sequence":"additional","affiliation":[{"name":"Nanjing University of Aeronautics and Astronautics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Junqi","family":"Yan","sequence":"additional","affiliation":[{"name":"Nanjing University of Aeronautics and Astronautics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yulei","family":"Sui","sequence":"additional","affiliation":[{"name":"University of Technology Sydney, Australia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jingling","family":"Xue","sequence":"additional","affiliation":[{"name":"UNSW, Australia"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,7,11]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Proceedings of the 18th USENIX Security Symposium. USENIX Association, 51\u201366","author":"Akritidis Periklis","year":"2009","unstructured":"Periklis Akritidis , Manuel Costa , Miguel Castro , and Steven Hand . 2009 . Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors . In Proceedings of the 18th USENIX Security Symposium. USENIX Association, 51\u201366 . Periklis Akritidis, Manuel Costa, Miguel Castro, and Steven Hand. 2009. Baggy Bounds Checking: An Efficient and Backwards-Compatible Defense against Out-of-Bounds Errors. In Proceedings of the 18th USENIX Security Symposium. USENIX Association, 51\u201366."},{"key":"e_1_3_2_1_2_1","volume-title":"Memory. In Proceedings of the 9th International Symposium on Code Generation and Optimization, CGO","author":"Bruening Derek","year":"2011","unstructured":"Derek Bruening and Qin Zhao . 2011 . Practical memory checking with Dr . Memory. In Proceedings of the 9th International Symposium on Code Generation and Optimization, CGO 2011. IEEE Computer Society, 213\u2013223. Derek Bruening and Qin Zhao. 2011. Practical memory checking with Dr. Memory. In Proceedings of the 9th International Symposium on Code Generation and Optimization, CGO 2011. IEEE Computer Society, 213\u2013223."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3196494.3196540"},{"issue":"0","key":"e_1_3_2_1_4_1","first-page":"0","article-title":"Movec-MSBench: A Memory Safety Benchmark Suite","volume":"2","author":"Chen Zhe","year":"2021","unstructured":"Zhe Chen . 2021 . Movec-MSBench: A Memory Safety Benchmark Suite , Version 2 . 0 . 0 . https:\/\/github.com\/drzchen\/movec-msbench Zhe Chen. 2021. Movec-MSBench: A Memory Safety Benchmark Suite, Version 2.0.0. https:\/\/github.com\/drzchen\/movec-msbench","journal-title":"Version"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2242"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3195090"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-49674-9_17"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330581"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3194962"},{"key":"e_1_3_2_1_10_1","unstructured":"The MITRE Corporation. 2009-05-08. CWE-762: Mismatched Memory Management Routines. https:\/\/cwe.mitre.org\/data\/definitions\/762.html  The MITRE Corporation. 2009-05-08. CWE-762: Mismatched Memory Management Routines. https:\/\/cwe.mitre.org\/data\/definitions\/762.html"},{"key":"e_1_3_2_1_11_1","unstructured":"The MITRE Corporation. 2020-02-24. CWE-590: Free of Memory not on the Heap. https:\/\/cwe.mitre.org\/data\/definitions\/590.html  The MITRE Corporation. 2020-02-24. CWE-590: Free of Memory not on the Heap. https:\/\/cwe.mitre.org\/data\/definitions\/590.html"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509550"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134309"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-08867-9_32"},{"key":"e_1_3_2_1_15_1","volume-title":"Proceedings of the 25th International Conference on Compiler Construction, CC 2016. ACM, 132\u2013142","author":"Gregory","unstructured":"Gregory J. Duck and Roland H. C. Yap. 2016. Heap bounds protection with low fat pointers . In Proceedings of the 25th International Conference on Compiler Construction, CC 2016. ACM, 132\u2013142 . Gregory J. Duck and Roland H. C. Yap. 2016. Heap bounds protection with low fat pointers. In Proceedings of the 25th International Conference on Compiler Construction, CC 2016. ACM, 132\u2013142."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1134\/S0361768817050024"},{"key":"e_1_3_2_1_17_1","volume-title":"Proceedings of the 2018 IEEE Cybersecurity Development Conference, SecDev\u201918","author":"Elliott A. S.","unstructured":"A. S. Elliott , A. Ruef , M. Hicks , and D. Tarditi . 2018. Checked C: Making C Safe by Extension . In Proceedings of the 2018 IEEE Cybersecurity Development Conference, SecDev\u201918 . IEEE, 53\u201360. A. S. Elliott, A. Ruef, M. Hicks, and D. Tarditi. 2018. Checked C: Making C Safe by Extension. In Proceedings of the 2018 IEEE Cybersecurity Development Conference, SecDev\u201918. IEEE, 53\u201360."},{"key":"e_1_3_2_1_18_1","volume-title":"Proceedings of the IEEE 4th Annual Workshop on Workload Characterization. IEEE, 3\u201314","author":"Guthaus Matthew R.","unstructured":"Matthew R. Guthaus , Jeffrey S. Ringenberg , Dan Ernst , Todd M. Austin , Trevor Mudge , and Richard B. Brown . 2001. MiBench: A free, commercially representative embedded benchmark suite . In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization. IEEE, 3\u201314 . Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization. IEEE, 3\u201314."},{"key":"e_1_3_2_1_19_1","volume-title":"10th Annual IEEE\/ACM International Symposium on Code Generation and Optimization, CGO","author":"Hasabnis Niranjan","year":"2012","unstructured":"Niranjan Hasabnis , Ashish Misra , and R. Sekar . 2012. Light-weight bounds checking . In 10th Annual IEEE\/ACM International Symposium on Code Generation and Optimization, CGO 2012 . ACM, 135\u2013144. Niranjan Hasabnis, Ashish Misra, and R. Sekar. 2012. Light-weight bounds checking. In 10th Annual IEEE\/ACM International Symposium on Code Generation and Optimization, CGO 2012. ACM, 135\u2013144."},{"key":"e_1_3_2_1_20_1","volume-title":"In Proceedings of the","author":"Hastings Reed","year":"1992","unstructured":"Reed Hastings and Bob Joyce . 1992 . Purify: Fast detection of memory leaks and access errors . In In Proceedings of the Winter 1992 USENIX Conference. 125\u2013138. Reed Hastings and Bob Joyce. 1992. Purify: Fast detection of memory leaks and access errors. In In Proceedings of the Winter 1992 USENIX Conference. 125\u2013138."},{"key":"e_1_3_2_1_21_1","volume-title":"Proceedings of the 2002 USENIX Annual Technical Conference. USENIX, 275\u2013288","author":"Jim Trevor","year":"2002","unstructured":"Trevor Jim , J. Gregory Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , and Yanling Wang . 2002 . Cyclone: A Safe Dialect of C . In Proceedings of the 2002 USENIX Annual Technical Conference. USENIX, 275\u2013288 . Trevor Jim, J. Gregory Morrisett, Dan Grossman, Michael W. Hicks, James Cheney, and Yanling Wang. 2002. Cyclone: A Safe Dialect of C. In Proceedings of the 2002 USENIX Annual Technical Conference. USENIX, 275\u2013288."},{"key":"e_1_3_2_1_22_1","volume-title":"Proceedings of the 3rd International Workshop on Automated Debugging, AADEBUG","author":"Richard W.","year":"1997","unstructured":"Richard W. M. Jones and Paul H. J. Kelly. 1997. Backwards-Compatible Bounds Checking for Arrays and Pointers in C Programs . In Proceedings of the 3rd International Workshop on Automated Debugging, AADEBUG 1997 . 13\u201326. Richard W. M. Jones and Paul H. J. Kelly. 1997. Backwards-Compatible Bounds Checking for Arrays and Pointers in C Programs. In Proceedings of the 3rd International Workshop on Automated Debugging, AADEBUG 1997. 13\u201326."},{"key":"e_1_3_2_1_23_1","volume-title":"Proceedings of the 13th EuroSys Conference, EuroSys","author":"Kroes Taddeus","year":"2018","unstructured":"Taddeus Kroes , Koen Koning , Erik van der Kouwe, Herbert Bos, and Cristiano Giuffrida. 2018. Delta pointers: buffer overflow checks without the checks . In Proceedings of the 13th EuroSys Conference, EuroSys 2018 . ACM, 22:1\u201322:14. Taddeus Kroes, Koen Koning, Erik van der Kouwe, Herbert Bos, and Cristiano Giuffrida. 2018. Delta pointers: buffer overflow checks without the checks. In Proceedings of the 13th EuroSys Conference, EuroSys 2018. ACM, 22:1\u201322:14."},{"key":"e_1_3_2_1_24_1","volume-title":"Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Laura K. Dillon, Willem Visser, and Laurie Williams (Eds.). ACM, 911\u2013922","author":"Liu Tongping","unstructured":"Tongping Liu , Charlie Curtsinger , and Emery D. Berger . 2016. DoubleTake: fast and precise error detection via evidence-based dynamic analysis . In Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Laura K. Dillon, Willem Visser, and Laurie Williams (Eds.). ACM, 911\u2013922 . Tongping Liu, Charlie Curtsinger, and Emery D. Berger. 2016. DoubleTake: fast and precise error detection via evidence-based dynamic analysis. In Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Laura K. Dillon, Willem Visser, and Laurie Williams (Eds.). ACM, 911\u2013922."},{"key":"e_1_3_2_1_25_1","volume-title":"Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering, FASE 2001 (Lecture Notes in Computer Science","volume":"232","author":"Loginov Alexey","unstructured":"Alexey Loginov , Suan Hsi Yong , Susan Horwitz , and Thomas W. Reps . 2001. Debugging via Run-Time Type Checking . In Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering, FASE 2001 (Lecture Notes in Computer Science , Vol. 2029). Springer, 217\u2013 232 . Alexey Loginov, Suan Hsi Yong, Susan Horwitz, and Thomas W. Reps. 2001. Debugging via Run-Time Type Checking. In Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering, FASE 2001 (Lecture Notes in Computer Science, Vol. 2029). Springer, 217\u2013232."},{"key":"e_1_3_2_1_26_1","volume-title":"SNAPL 2015 (LIPIcs","volume":"208","author":"Nagarakatte Santosh","year":"2015","unstructured":"Santosh Nagarakatte , Milo M. K. Martin , and Steve Zdancewic . 2015 . Everything You Want to Know About Pointer-Based Checking. In 1st Summit on Advances in Programming Languages , SNAPL 2015 (LIPIcs , Vol. 32). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 190\u2013 208 . Santosh Nagarakatte, Milo M. K. Martin, and Steve Zdancewic. 2015. Everything You Want to Know About Pointer-Based Checking. In 1st Summit on Advances in Programming Languages, SNAPL 2015 (LIPIcs, Vol. 32). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 190\u2013208."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542504"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806651.1806657"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065887.1065892"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/503272.503286"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254810.1254820"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542505"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/250900.250910"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-17138-4_4"},{"key":"e_1_3_2_1_36_1","volume-title":"Proceedings of the Network and Distributed System Security Symposium, NDSS","author":"Ruwase Olatunji","year":"2004","unstructured":"Olatunji Ruwase and Monica S. Lam . 2004. A Practical Dynamic Buffer Overflow Detector . In Proceedings of the Network and Distributed System Security Symposium, NDSS 2004 . The Internet Society, 159\u2013169. Olatunji Ruwase and Monica S. Lam. 2004. A Practical Dynamic Buffer Overflow Detector. In Proceedings of the Network and Distributed System Security Symposium, NDSS 2004. The Internet Society, 159\u2013169."},{"key":"e_1_3_2_1_37_1","first-page":"12","article-title":"ARM Memory Tagging Extension and How It Improves C\/C++ Memory Safety","volume":"44","author":"Serebryany Kostya","year":"2019","unstructured":"Kostya Serebryany . 2019 . ARM Memory Tagging Extension and How It Improves C\/C++ Memory Safety . The Usenix Magazine , 44 , 2 (2019), 12 \u2013 16 . Kostya Serebryany. 2019. ARM Memory Tagging Extension and How It Improves C\/C++ Memory Safety. The Usenix Magazine, 44, 2 (2019), 12\u201316.","journal-title":"The Usenix Magazine"},{"key":"e_1_3_2_1_38_1","volume-title":"AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference","author":"Serebryany Konstantin","year":"2012","unstructured":"Konstantin Serebryany , Derek Bruening , Alexander Potapenko , and Dmitriy Vyukov . 2012 . AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference , Boston, MA, USA. USENIX Association, 309\u2013318. Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitriy Vyukov. 2012. AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference, Boston, MA, USA. USENIX Association, 309\u2013318."},{"key":"e_1_3_2_1_39_1","volume-title":"Proceedings of the 2005 USENIX Annual Technical Conference. USENIX, 17\u201330","author":"Seward Julian","year":"2005","unstructured":"Julian Seward and Nicholas Nethercote . 2005 . Using Valgrind to Detect Undefined Value Errors with Bit-Precision . In Proceedings of the 2005 USENIX Annual Technical Conference. USENIX, 17\u201330 . Julian Seward and Nicholas Nethercote. 2005. Using Valgrind to Detect Undefined Value Errors with Bit-Precision. In Proceedings of the 2005 USENIX Annual Technical Conference. USENIX, 17\u201330."},{"key":"e_1_3_2_1_40_1","volume-title":"10th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM","author":"Matthew","year":"2010","unstructured":"Matthew S. Simpson and Rajeev Barua. 2010. MemSafe: Ensuring the Spatial and Temporal Memory Safety of C at Runtime . In 10th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2010 . IEEE Computer Society, 199\u2013208. Matthew S. Simpson and Rajeev Barua. 2010. MemSafe: Ensuring the Spatial and Temporal Memory Safety of C at Runtime. In 10th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2010. IEEE Computer Society, 199\u2013208."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2105"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336784"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2302311"},{"key":"e_1_3_2_1_44_1","volume-title":"SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy, SP","author":"Szekeres Laszlo","year":"2013","unstructured":"Laszlo Szekeres , Mathias Payer , Tao Wei , and Dawn Song . 2013 . SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy, SP 2013. IEEE Computer Society, 48\u201362. Laszlo Szekeres, Mathias Payer, Tao Wei, and Dawn Song. 2013. SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy, SP 2013. IEEE Computer Society, 48\u201362."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-67531-2_18"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3092255.3092269"},{"key":"e_1_3_2_1_47_1","volume-title":"Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE","author":"Xu Wei","year":"2004","unstructured":"Wei Xu , Daniel C. DuVarney , and R. Sekar . 2004. An efficient and backwards-compatible transformation to ensure memory safety of C programs . In Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2004 ). ACM, 117\u2013126. Wei Xu, Daniel C. DuVarney, and R. Sekar. 2004. An efficient and backwards-compatible transformation to ensure memory safety of C programs. In Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2004). ACM, 117\u2013126."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2014.20"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/940071.940113"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993541"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103709"}],"event":{"name":"ISSTA '21: 30th ACM SIGSOFT International Symposium on Software Testing and Analysis","location":"Virtual Denmark","acronym":"ISSTA '21","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3460319.3464807","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3460319.3464807","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:48:31Z","timestamp":1750193311000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3460319.3464807"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,7,11]]},"references-count":51,"alternative-id":["10.1145\/3460319.3464807","10.1145\/3460319"],"URL":"https:\/\/doi.org\/10.1145\/3460319.3464807","relation":{},"subject":[],"published":{"date-parts":[[2021,7,11]]},"assertion":[{"value":"2021-07-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}