{"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":1772725617289,"version":"3.50.1"},"reference-count":34,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"11","license":[{"start":{"date-parts":[[2021,11,1]],"date-time":"2021-11-01T00:00:00Z","timestamp":1635724800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2021,11,1]],"date-time":"2021-11-01T00:00:00Z","timestamp":1635724800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2021,11,1]],"date-time":"2021-11-01T00:00:00Z","timestamp":1635724800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"DOI":"10.13039\/501100001381","name":"National Research Foundation Singapore","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001381","id-type":"DOI","asserted-by":"publisher"}]},{"name":"National Cybersecurity R&amp;D Program","award":["NRF2014NCRNCR001-21"],"award-info":[{"award-number":["NRF2014NCRNCR001-21"]}]},{"name":"National Cybersecurity R&amp;D Directorate"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2021,11,1]]},"DOI":"10.1109\/tse.2019.2953709","type":"journal-article","created":{"date-parts":[[2019,11,15]],"date-time":"2019-11-15T21:15:08Z","timestamp":1573852508000},"page":"2504-2519","source":"Crossref","is-referenced-by-count":46,"title":["oo7: Low-Overhead Defense Against Spectre Attacks via Program Analysis"],"prefix":"10.1109","volume":"47","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1393-5326","authenticated-orcid":false,"given":"Guanhua","family":"Wang","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4843-5391","authenticated-orcid":false,"given":"Sudipta","family":"Chattopadhyay","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6787-236X","authenticated-orcid":false,"given":"Ivan","family":"Gotovchits","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4136-4188","authenticated-orcid":false,"given":"Tulika","family":"Mitra","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7127-1137","authenticated-orcid":false,"given":"Abhik","family":"Roychoudhury","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref33","article-title":"Skylake (client) - microarchitectures - intel.","year":"2015"},{"key":"ref32","article-title":"Intel Xeon Gold 6126 processor","year":"2017"},{"key":"ref31","article-title":"oss-fuzz","year":"2018"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1109\/ICSAMOS.2008.4664856"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1145\/1186736.1186737"},{"key":"ref10","first-page":"13","article-title":"Spectre returns! Speculation attacks using the return stack buffer","author":"koruyeh","year":"2018","journal-title":"Proc 12th USENIX Workshop Offensive Technol"},{"key":"ref11","article-title":"Speculative buffer overflows: Attacks and defenses","author":"kiriansky","year":"2018"},{"key":"ref12","article-title":"Intel processors are being redesigned to protect against spectre.","author":"warren","year":"2018"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00083"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00042"},{"key":"ref15","article-title":"Spectre mitigations in MSVC.","year":"2018"},{"key":"ref16","article-title":"Speculative load hardening.","author":"carruth","year":"2018"},{"key":"ref17","article-title":"You shall not bypass: Employing data dependencies to prevent bounds check bypass","author":"oleksenko","year":"2018"},{"key":"ref18","article-title":"Protect your windows devices against spectre and meltdown.","year":"2018"},{"key":"ref19","article-title":"Mitigating spectre with site isolation in chrome.","author":"reis","year":"2018"},{"key":"ref4","first-page":"719","article-title":"Flush+reload: A high resolution, low noise, l3 cache side-channel attack","author":"yarom","year":"2014","journal-title":"Proc Usenix Security Symp"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/3038912.3052674"},{"key":"ref3","author":"hennessy","year":"2017","journal-title":"Computer Architecture A Quantitative Approach"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2016.17"},{"key":"ref6","article-title":"C++ developer guidance for speculative execution side channels","year":"2018"},{"key":"ref29","article-title":"Constructing precise control flow graphs from binaries","author":"xu","year":"2009"},{"key":"ref5","article-title":"Meltdown and Spectre.","year":"2018"},{"key":"ref8","article-title":"Intel analysis of speculative execution side channels.","year":"2018"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-62105-0_11"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00002"},{"key":"ref1","article-title":"Spectre mitigations in microsoft&#x2019;s C\/C++ compiler.","author":"kocher","year":"2018"},{"key":"ref9","article-title":"Retpoline: A branch target injection mitigation.","year":"2018"},{"key":"ref20","article-title":"Retpoline: A software construct for preventing branch-target-injection","author":"turner","year":"2018"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-22110-1_37"},{"key":"ref21","article-title":"SPECTECTOR: Principled detection of speculative information flows","author":"guarneri","year":"2018"},{"key":"ref24","article-title":"Holmes: Binary analysis integration through datalog","author":"maurer","year":"2018"},{"key":"ref23","first-page":"829","article-title":"X-force: Force-executing binary programs for security applications","author":"peng","year":"2014","journal-title":"Proc Usenix Security Symp"},{"key":"ref26","article-title":"Cpuid.","year":"2019"},{"key":"ref25","article-title":"Macro-operation fusion","year":"2018"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/9611545\/08902081.pdf?arnumber=8902081","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,5,10]],"date-time":"2022-05-10T14:50:07Z","timestamp":1652194207000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8902081\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,11,1]]},"references-count":34,"journal-issue":{"issue":"11"},"URL":"https:\/\/doi.org\/10.1109\/tse.2019.2953709","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"value":"0098-5589","type":"print"},{"value":"1939-3520","type":"electronic"},{"value":"2326-3881","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,11,1]]}}}