{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,5]],"date-time":"2026-03-05T15:46:57Z","timestamp":1772725617219,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":50,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,2,22]],"date-time":"2020-02-22T00:00:00Z","timestamp":1582329600000},"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":[[2020,2,22]]},"DOI":"10.1145\/3368826.3377921","type":"proceedings-article","created":{"date-parts":[[2020,2,21]],"date-time":"2020-02-21T21:49:28Z","timestamp":1582321768000},"page":"43-55","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Secure automatic bounds checking: prevention is simpler than cure"],"prefix":"10.1145","author":[{"given":"Ejebagom John","family":"Ojogbo","sequence":"first","affiliation":[{"name":"Purdue University, USA"}]},{"given":"Mithuna","family":"Thottethodi","sequence":"additional","affiliation":[{"name":"Purdue University, USA"}]},{"given":"T. N.","family":"Vijaykumar","sequence":"additional","affiliation":[{"name":"Purdue University, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,2,22]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/3241094.3241100"},{"key":"e_1_3_2_1_2_1","unstructured":"ARM. 2018. Cache Speculation Side-channels. https: \/\/developer.arm.com\/support\/arm-security-updates\/speculativeprocessor-vulnerability\/download-the-whitepaper . (2018)."},{"key":"e_1_3_2_1_3_1","unstructured":"ARM Limited 2018. Arm Instruction Set. Version 1.0. Reference Guide. ARM Limited. http:\/\/ infocenter.arm.com\/help\/topic\/com.arm.doc.100076 0 100 0 0 e n\/ arm i nstruction s et r eference g uide 1 00076 0 100 0 0 e n.pdf"},{"key":"e_1_3_2_1_4_1","unstructured":"Mathias Bynens. 2018. Untrusted code mitigations. https:\/\/github.com\/ v8\/v8\/wiki\/Untrusted-code-mitigations . (2018)."},{"key":"e_1_3_2_1_5_1","unstructured":"Chandler Carruth. 2018. Speculative Load Hardening. https:\/\/docs.google.com\/document\/d\/ 1wwcfv3UV9ZnZVcGiGuoITT 6 1e K o3TmoCS3uXLcJR0\/ edit#heading =h.phdehs44eom6 . (2018)."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","unstructured":"S. Cauligi G. Soeller F. Brown B. Johannesmeyer Y. Huang R. Jhala and D. Stefan. 2017. FaCT: A Flexible Constant-Time Programming Language. In 2017 IEEE Cybersecurity Development (SecDev). 69\u201376. DOI: 10.1109\/SecDev.2017.24","DOI":"10.1109\/SecDev.2017.24"},{"key":"e_1_3_2_1_7_1","volume-title":"Lai","author":"Chen Guoxing","year":"2018","unstructured":"Guoxing Chen, Sanchuan Chen, Yuan Xiao, Yinqian Zhang, Zhiqiang Lin, and Ten H. Lai. 2018. SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution. CoRR abs\/1802.09085 (2018). arXiv: 1802.09085 http:\/\/arxiv.org\/abs\/1802.09085"},{"key":"e_1_3_2_1_8_1","unstructured":"Compaq Computer Corporation. 2002. Alpha Architecture Reference Manual."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3214292.3214297"},{"key":"e_1_3_2_1_10_1","unstructured":"Google. 2018. Puppeteer. https:\/\/github.com\/GoogleChrome\/ puppeteer . (2018). https:\/\/github.com\/GoogleChrome\/puppeteer"},{"key":"e_1_3_2_1_11_1","unstructured":"Google. 2018. V8 JavaScript Engine. https:\/\/github.com\/v8\/v8 . (2018)."},{"key":"e_1_3_2_1_12_1","volume-title":"Translation Leak-aside Buffer: Defeating Cache Side-channel Protections with TLB Attacks. In 27th USENIX Security Symposium (USENIX Security 18)","author":"Gras Ben","year":"2018","unstructured":"Ben Gras, Kaveh Razavi, Herbert Bos, and Cristiano Giuffrida. 2018. Translation Leak-aside Buffer: Defeating Cache Side-channel Protections with TLB Attacks. In 27th USENIX Security Symposium (USENIX Security 18). USENIX Association, Baltimore, MD, 955\u2013972. https: \/\/www.usenix.org\/conference\/usenixsecurity18\/presentation\/gras"},{"key":"e_1_3_2_1_13_1","unstructured":"Richard Grisenthwaite. 2018. Cache Speculation Side-channels. https:\/\/armkeil.blob.core.windows.net\/developer\/Files\/pdf\/ Cache S peculation S ide-channels.pdf . (2018)."},{"key":"e_1_3_2_1_14_1","volume-title":"Page Cache Attacks. CoRR abs\/1901.01161","author":"Gruss Daniel","year":"2019","unstructured":"Daniel Gruss, Erik Kraft, Trishita Tiwari, Michael Schwarz, Ari Trachtenberg, Jason Hennessey, Alex Ionescu, and Anders Fogh. 2019. Page Cache Attacks. CoRR abs\/1901.01161 (2019). arXiv: 1901.01161 http:\/\/arxiv.org\/abs\/1901.01161"},{"key":"e_1_3_2_1_15_1","volume-title":"Detection of Intrusions and Malware, and Vulnerability Assessment, Juan Caballero, Urko Zurutuza, and Ricardo J","author":"Gruss Daniel","unstructured":"Daniel Gruss, Cl\u00e9mentine Maurice, Klaus Wagner, and Stefan Mangard. 2016. Flush+Flush: A Fast and Stealthy Cache Attack. In Detection of Intrusions and Malware, and Vulnerability Assessment, Juan Caballero, Urko Zurutuza, and Ricardo J. Rodr\u00edguez (Eds.). Springer International Publishing, Cham, 279\u2013299."},{"key":"e_1_3_2_1_16_1","volume-title":"24th USENIX Security Symposium (USENIX Security 15)","author":"Gruss Daniel","unstructured":"Daniel Gruss, Raphael Spreitzer, and Stefan Mangard. 2015. Cache Template Attacks: Automating Attacks on Inclusive Last-Level Caches. In 24th USENIX Security Symposium (USENIX Security 15). USENIX Association, Washington, D.C., 897\u2013912. https:\/\/www.usenix.org\/ conference\/usenixsecurity15\/technical-sessions\/presentation\/gruss"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2011.22"},{"key":"e_1_3_2_1_18_1","volume-title":"A Primer on the Meltdown &amp","author":"Hill Mark","year":"2018","unstructured":"Mark Hill. 2018. A Primer on the Meltdown &amp; Spectre Hardware Security Design Flaws and their Important Implications. https:\/\/www.sigarch.org\/a-primer-on-the-meltdown-spectrehardware-security-design-flaws-and-their-important-implications\/ . (2018)."},{"key":"e_1_3_2_1_19_1","unstructured":"IBM 2017. IBM Power ISA Version 3.0B. IBM. https:\/\/ openpowerfoundation.org\/?resource l ib =power-isa-version-3-0"},{"key":"e_1_3_2_1_20_1","unstructured":"Alexa Inc. 2018. Alexa Top 50. https:\/\/www.alexa.com\/topsites . (2018). https:\/\/www.alexa.com\/topsites"},{"key":"e_1_3_2_1_21_1","series-title":"Version 9","volume-title":"The SPARC Architecture Manual","author":"SPARC International Inc. 1994.","unstructured":"SPARC International Inc. 1994. The SPARC Architecture Manual (Version 9). Prentice-Hall, Inc., Upper Saddle River, NJ, USA."},{"key":"e_1_3_2_1_22_1","unstructured":"Intel 2016. Intel 64 and IA-32 Architectures Software Developer\u2019s Manual (Volume 2: Instruction Set Reference). Intel. https:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/ documents\/manuals\/64-ia-32-architectures-software-developerinstruction-set-reference-manual-325383.pdf"},{"key":"e_1_3_2_1_23_1","unstructured":"Intel. 2018. Intel Analysis of Speculative Execution Side Channels. https:\/\/newsroom.intel.com\/wp-content\/uploads\/sites\/11\/2018\/01\/ Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf\/ . (2018)."},{"key":"e_1_3_2_1_24_1","unstructured":"ECMA International. 2019. ECMAScript standard. (2019). http:\/\/www.ecma-international.org\/publications\/standards\/Ecma402.htm"},{"key":"e_1_3_2_1_25_1","unstructured":"Gerry Kane. 1996. PA-RISC 2.0 Architecture. Prentice-Hall Inc."},{"key":"e_1_3_2_1_26_1","volume-title":"DAWG: A Defense Against Cache Timing Attacks in Speculative Execution Processors. Cryptology ePrint Archive, Report 2018\/418.","author":"Kiriansky Vladimir","year":"2018","unstructured":"Vladimir Kiriansky, Ilia Lebedev, Saman Amarasinghe, Srinivas Devadas, and Joel Emer. 2018. DAWG: A Defense Against Cache Timing Attacks in Speculative Execution Processors. Cryptology ePrint Archive, Report 2018\/418. (2018). https:\/\/eprint.iacr.org\/2018\/418 ."},{"key":"e_1_3_2_1_27_1","volume-title":"Spectre Attacks: Exploiting Speculative Execution. CoRR abs\/1801.01203","author":"Kocher Paul","year":"2018","unstructured":"Paul Kocher, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, and Yuval Yarom. 2018. Spectre Attacks: Exploiting Speculative Execution. CoRR abs\/1801.01203 (2018). arXiv: 1801.01203 http:\/\/arxiv.org\/ abs\/1801.01203"},{"key":"e_1_3_2_1_28_1","volume-title":"12th USENIX Workshop on Offensive Technologies (WOOT 18)","author":"Koruyeh Esmaeil Mohammadian","year":"2018","unstructured":"Esmaeil Mohammadian Koruyeh, Khaled N. Khasawneh, Chengyu Song, and Nael Abu-Ghazaleh. 2018. Spectre Returns! Speculation Attacks using the Return Stack Buffer. In 12th USENIX Workshop on Offensive Technologies (WOOT 18). USENIX Association, Baltimore, MD. https:\/\/www.usenix.org\/conference\/woot18\/presentation\/koruyeh"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2019.00043"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/237090.237173"},{"key":"e_1_3_2_1_31_1","volume-title":"CoRR abs\/1801.01207","author":"Lipp Moritz","year":"2018","unstructured":"Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, and Mike Hamburg. 2018. Meltdown. CoRR abs\/1801.01207 (2018). arXiv: 1801.01207 http:\/\/arxiv.org\/abs\/1801.01207"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.43"},{"key":"e_1_3_2_1_33_1","volume-title":"Proceedings of the USENIX","author":"McCanne Steven","year":"1993","unstructured":"Steven McCanne and Van Jacobson. 1993. The BSD Packet Filter: A New Architecture for User-level Packet Capture. In Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings (USENIX\u201993). USENIX Association, Berkeley, CA, USA, 2\u20132. http:\/\/dl.acm.org\/citation.cfm?id =1267303.1267305"},{"key":"e_1_3_2_1_34_1","first-page":"95","article-title":"MIPS32\u2122 Architecture For Programmers Volume II: The MIPS32\u2122 Instruction Set. MIPS Technologies. Document Number: MD00086","volume":"0","author":"Technologies MIPS","year":"2001","unstructured":"MIPS Technologies 2001. MIPS32\u2122 Architecture For Programmers Volume II: The MIPS32\u2122 Instruction Set. MIPS Technologies. Document Number: MD00086, Revision 0.95.","journal-title":"Revision"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/11605805_1"},{"key":"e_1_3_2_1_36_1","volume-title":"DRAMA: Exploiting DRAM Addressing for Cross-CPU Attacks. In 25th USENIX Security Symposium (USENIX Security 16)","author":"Pessl Peter","year":"2016","unstructured":"Peter Pessl, Daniel Gruss, Cl\u00e9mentine Maurice, Michael Schwarz, and Stefan Mangard. 2016. DRAMA: Exploiting DRAM Addressing for Cross-CPU Attacks. In 25th USENIX Security Symposium (USENIX Security 16). USENIX Association, Austin, TX, 565\u2013 581. https:\/\/www.usenix.org\/conference\/usenixsecurity16\/technicalsessions\/presentation\/pessl"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00068"},{"key":"e_1_3_2_1_38_1","unstructured":"Charlie Reis. 2018. Mitigating Spectre with Site Isolation in Chrome. https:\/\/security.googleblog.com\/2018\/07\/mitigating-spectrewith-site-isolation.html . (2018)."},{"key":"e_1_3_2_1_39_1","volume-title":"NetSpectre: Read Arbitrary Memory over Network. CoRR abs\/1807.10535","author":"Schwarz Michael","year":"2018","unstructured":"Michael Schwarz, Martin Schwarzl, Moritz Lipp, and Daniel Gruss. 2018. NetSpectre: Read Arbitrary Memory over Network. CoRR abs\/1807.10535 (2018). arXiv: 1807.10535 http:\/\/arxiv.org\/abs\/ 1807.10535"},{"key":"e_1_3_2_1_40_1","unstructured":"Mark Silberstein Oleksii Oleksenko and Christof Fetzer. 2018. Speculating about speculation: on the (lack of) security guarantees of Spectre-V1 mitigations. https:\/\/www.sigarch.org\/speculatingabout-speculation-on-the-lack-of-security-guarantees-of-spectrev1-mitigations\/ . (2018)."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2018.00009"},{"key":"e_1_3_2_1_42_1","unstructured":"Spectre-PoC 2018. Spectre Chrome POC. https:\/\/github.com\/ascendr\/ spectre-chrome . (2018)."},{"key":"e_1_3_2_1_43_1","volume-title":"mips &amp","author":"Stanton Michael","year":"1831","unstructured":"Michael Stanton. 2018. Revert \u00a8[turbofan] Masking\/poisoning in codegen (optimized code, mips &amp; mips64)\u00a8. https:\/\/chromium.googlesource.com\/v8\/v8\/ +\/ 11831378a55d7c9d69a36cc6bb8fb54b2ece1f4b . (2018)."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","unstructured":"Mohammadkazem Taram Ashish Venkat and Dean Tullsen. 2019. Context-Sensitive Fencing: Securing Speculative Execution via Microcode Customization. DOI: 10.1145\/3297858.3304060","DOI":"10.1145\/3297858.3304060"},{"key":"e_1_3_2_1_45_1","volume-title":"MeltdownPrime and SpectrePrime: Automatically-Synthesized Attacks Exploiting Invalidation-Based Coherence Protocols. CoRR abs\/1802.03802","author":"Trippel Caroline","year":"2018","unstructured":"Caroline Trippel, Daniel Lustig, and Margaret Martonosi. 2018. MeltdownPrime and SpectrePrime: Automatically-Synthesized Attacks Exploiting Invalidation-Based Coherence Protocols. CoRR abs\/1802.03802 (2018). arXiv: 1802.03802 http:\/\/arxiv.org\/abs\/1802.03802"},{"key":"e_1_3_2_1_46_1","volume-title":"Drake","author":"van Rossum Guido","year":"2011","unstructured":"Guido van Rossum and Fred L. Drake. 2011. The Python Language Reference Manual. Network Theory Ltd."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACSAC.2006.20"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"crossref","unstructured":"Andrew Waterman Yunsup Lee David A. Patterson and Krste Asanovic. 2014. The RISC-V Instruction Set Manual. (2014).","DOI":"10.1109\/HOTCHIPS.2013.7478332"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00042"},{"key":"e_1_3_2_1_50_1","volume-title":"23rd USENIX Security Symposium (USENIX Security 14)","author":"Yarom Yuval","year":"2014","unstructured":"Yuval Yarom and Katrina Falkner. 2014. FLUSH+RELOAD: A High Resolution, Low Noise, L3 Cache Side-Channel Attack. In 23rd USENIX Security Symposium (USENIX Security 14). USENIX Association, San Diego, CA, 719\u2013732. https:\/\/www.usenix.org\/conference\/ usenixsecurity14\/technical-sessions\/presentation\/yarom"}],"event":{"name":"CGO '20: 18th ACM\/IEEE International Symposium on Code Generation and Optimization","location":"San Diego CA USA","acronym":"CGO '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGMICRO ACM Special Interest Group on Microarchitectural Research and Processing","IEEE-CS Computer Society"]},"container-title":["Proceedings of the 18th ACM\/IEEE International Symposium on Code Generation and Optimization"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368826.3377921","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3368826.3377921","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:28Z","timestamp":1750202608000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368826.3377921"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,22]]},"references-count":50,"alternative-id":["10.1145\/3368826.3377921","10.1145\/3368826"],"URL":"https:\/\/doi.org\/10.1145\/3368826.3377921","relation":{},"subject":[],"published":{"date-parts":[[2020,2,22]]},"assertion":[{"value":"2020-02-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}