{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,25]],"date-time":"2026-02-25T18:42:59Z","timestamp":1772044979518,"version":"3.50.1"},"reference-count":65,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"4","license":[{"start":{"date-parts":[[2016,12,1]],"date-time":"2016-12-01T00:00:00Z","timestamp":1480550400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"}],"funder":[{"DOI":"10.13039\/501100000923","name":"Australian Research Council (ARC)","doi-asserted-by":"publisher","award":["DP130101970"],"award-info":[{"award-number":["DP130101970"]}],"id":[{"id":"10.13039\/501100000923","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000923","name":"Australian Research Council (ARC)","doi-asserted-by":"publisher","award":["DP150102109"],"award-info":[{"award-number":["DP150102109"]}],"id":[{"id":"10.13039\/501100000923","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Rel."],"published-print":{"date-parts":[[2016,12]]},"DOI":"10.1109\/tr.2016.2570538","type":"journal-article","created":{"date-parts":[[2016,7,26]],"date-time":"2016-07-26T20:33:34Z","timestamp":1469565214000},"page":"1682-1699","source":"Crossref","is-referenced-by-count":13,"title":["Eliminating Redundant Bounds Checks in Dynamic Buffer Overflow Detection Using Weakest Preconditions"],"prefix":"10.1109","volume":"65","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9510-6574","authenticated-orcid":false,"given":"Yulei","family":"Sui","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ding","family":"Ye","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yu","family":"Su","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jingling","family":"Xue","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref39","article-title":"National vulnerability database","year":"0"},{"key":"ref38","article-title":"Practical low-overhead enforcement of memory safety for C programs","author":"nagarakatte","year":"2012"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349222"},{"key":"ref32","first-page":"21","article-title":"The ASTREE analyzer","author":"mine","year":"0","journal-title":"Proc of Euro Symp on Prog"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1145\/2491894.2466483"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025160"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1145\/1806651.1806657"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542504"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/2581122.2544147"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1145\/2366231.2337181"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/1029894.1029913"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/2581122.2544154"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2014.20"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-10936-7_20"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/1453101.1453137"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.1145\/940071.940113"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462191"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1145\/1772954.1772985"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/1882291.1882338"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178446"},{"key":"ref1","first-page":"51","article-title":"Baggy bounds checking: An efficient and\n backwards-compatible defense against out-of-bounds errors","author":"akritidis","year":"0","journal-title":"Proc Usenix Security Symp"},{"key":"ref20","first-page":"1","article-title":"Polly-polyhedral optimization in LLVM","volume":"2011","author":"grosser","year":"0","journal-title":"Proc 1st Int Workshop Polyhedral Compilation Techn"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2011.5764696"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134319"},{"key":"ref24","first-page":"125","article-title":"Purify: Fast detection of memory leaks and access errors","author":"hastings","year":"0","journal-title":"Proc Winter Usenix Conf"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259034"},{"key":"ref26","first-page":"13","article-title":"Backwards-compatible bounds checking for arrays and pointers in C programs","author":"jones","year":"0","journal-title":"Automated and Algorithmic Debugging"},{"key":"ref25","first-page":"275","article-title":"Cyclone: A safe dialect of C","author":"jim","year":"0","journal-title":"Proc USENIX Annu Tech Conf General Track"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854043"},{"key":"ref51","first-page":"1","article-title":"Query-directed adaptive heap\n cloning for optimizing compilers","author":"sui","year":"0","journal-title":"Proc IEEE\/ACM Int Symp Code Gener Optim"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1145\/940112.940115"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2009.01.002"},{"key":"ref57","first-page":"125","article-title":"Array bounds check elimination for the Java HotSpot client compiler","author":"w\u00fcrthinger","year":"0","journal-title":"Proc 5th Int Symp Principles Practice Program Java"},{"key":"ref56","first-page":"1","article-title":"A first step towards automated detection\n of buffer overrun vulnerabilities","author":"wagner","year":"0","journal-title":"Proc Symp Network and Distributed System Security"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45306-7_9"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-25318-8_14"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2302311"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336784"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134309"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-08867-9_32"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/1065887.1065892"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781149"},{"key":"ref13","first-page":"57","article-title":"Mudflap: Pointer use checking for C\/C++","author":"eigler","year":"0","journal-title":"Proc GCC Developers Summit"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1411732.1411745"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1002\/spe.1028"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/948109.948155"},{"key":"ref17","article-title":"Pointer checker: Easily catch out-of-bounds memory accesses","author":"ganesh","year":"2012"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2009.5090747"},{"key":"ref19","first-page":"151","article-title":"Automated\n whitebox fuzz testing","volume":"8","author":"godefroid","year":"0","journal-title":"Proc Symp Network and Distributed System Security"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/190347.190423"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368118"},{"key":"ref6","first-page":"209","article-title":"KLEE:\n Unassisted and automatic generation of high-coverage tests for complex systems programs","volume":"8","author":"cadar","year":"0","journal-title":"Proc Proc USENIX Symp Oper Syst Design Implement 2008"},{"key":"ref5","first-page":"321","article-title":"ABCD:\n Eliminating array bounds checks on demand","author":"bod\u00edk","year":"0","journal-title":"Proc ACM SIGPLAN Conf Program Lang Design Implement"},{"key":"ref8","first-page":"351","article-title":"Secure virtual architecture:\n A safe execution environment for commodity operating systems","author":"criswell","year":"0","journal-title":"Proc ACM Symp Operating Syst Principles"},{"key":"ref7","article-title":"Intel architecture instruction set extensions programming\n reference, 319433&#x2013;015 edition","author":"corporation","year":"2013"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259050"},{"key":"ref9","first-page":"103","article-title":"Hardbound:\n Architectural support for spatial safety of the C programming language","author":"devietti","year":"0","journal-title":"Proc Int Conf Archit Support Program Lang Oper Syst"},{"key":"ref46","first-page":"159","article-title":"A practical dynamic buffer overflow detector","author":"ruwase","year":"0","journal-title":"Proc Symp Network and Distributed System Security"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/358438.349325"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351720"},{"key":"ref47","first-page":"309","article-title":"AddressSanitizer: A fast address sanity\n checker","volume":"2012","author":"serebryany","year":"0","journal-title":"Proc USENIX Conf Annu Tech Conf 2012"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03237-0_11"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45937-5_23"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199701)27:1<87::AID-SPE78>3.0.CO;2-P"}],"container-title":["IEEE Transactions on Reliability"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/24\/7762242\/07515160.pdf?arnumber=7515160","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,12]],"date-time":"2022-01-12T16:21:10Z","timestamp":1642004470000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/7515160\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,12]]},"references-count":65,"journal-issue":{"issue":"4"},"URL":"https:\/\/doi.org\/10.1109\/tr.2016.2570538","relation":{},"ISSN":["0018-9529","1558-1721"],"issn-type":[{"value":"0018-9529","type":"print"},{"value":"1558-1721","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,12]]}}}