{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,19]],"date-time":"2026-07-19T06:05:04Z","timestamp":1784441104906,"version":"3.55.0"},"reference-count":92,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"3","license":[{"start":{"date-parts":[[2022,5,1]],"date-time":"2022-05-01T00:00:00Z","timestamp":1651363200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2022,5,1]],"date-time":"2022-05-01T00:00:00Z","timestamp":1651363200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2022,5,1]],"date-time":"2022-05-01T00:00:00Z","timestamp":1651363200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Dependable and Secure Comput."],"published-print":{"date-parts":[[2022,5,1]]},"DOI":"10.1109\/tdsc.2020.3041655","type":"journal-article","created":{"date-parts":[[2020,12,1]],"date-time":"2020-12-01T22:38:19Z","timestamp":1606862299000},"page":"1900-1917","source":"Crossref","is-referenced-by-count":13,"title":["Generating Effective Software Obfuscation Sequences With Reinforcement Learning"],"prefix":"10.1109","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1066-0331","authenticated-orcid":false,"given":"Huaijin","family":"Wang","sequence":"first","affiliation":[{"name":"Department of Computer Science and Engineering, HKUST, Hong Kong SAR"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0866-0308","authenticated-orcid":false,"given":"Shuai","family":"Wang","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engineering, HKUST, Hong Kong SAR"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dongpeng","family":"Xu","sequence":"additional","affiliation":[{"name":"University of New Hampshire, Durham, NH, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4175-7061","authenticated-orcid":false,"given":"Xiangyu","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of New Hampshire, Durham, NH, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xiao","family":"Liu","sequence":"additional","affiliation":[{"name":"Facebook Inc., Menlo Park, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref1","volume-title":"Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection","author":"Nagra","year":"2009"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268962"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1027797"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-55220-5_13"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/2522968.2522972"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1109\/MSP.2011.98"},{"key":"ref7","volume-title":"Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software","author":"Sikorski","year":"2012"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2001.941405"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315313"},{"key":"ref10","article-title":"Snapshot of our codebase","year":"2020"},{"key":"ref11","article-title":"Evaluation data","year":"2020"},{"key":"ref12","article-title":"A taxonomy of obfuscating transformations","author":"Collberg","year":"1997"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/948109.948149"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/ACSAC.2007.21"},{"key":"ref15","first-page":"275","article-title":"Binary obfuscation using signals","volume-title":"Proc. 16th USENIX Secur. Symp.","author":"Popov"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1109\/SPRO.2015.10"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.2200\/s00268ed1v01y201005aim009"},{"issue":"3","key":"ref18","doi-asserted-by":"crossref","first-page":"279","DOI":"10.1007\/BF00992698","article-title":"Q-learning","volume":"8","author":"Watkins","year":"1992","journal-title":"Mach. Learn."},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1038\/nature14236"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1038\/nature16961"},{"key":"ref21","article-title":"Playing Atari with deep reinforcement learning","author":"Mnih","year":"2013"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.61"},{"key":"ref23","first-page":"8","article-title":"Scalable, behavior-based malware clustering","volume-title":"Proc. Netw. Distrib. Syst. Secur. Symp.","volume":"9","author":"Bayer"},{"key":"ref24","first-page":"81","article-title":"Towards automatic software lineage inference","volume-title":"Proc. 22nd USENIX Conf. Secur.","author":"Jang"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2008.17"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.25"},{"key":"ref27","article-title":"Infrastructure for reassembleable disassembling and transformation","author":"Piano","year":"2018"},{"key":"ref28","first-page":"627","article-title":"Reassembleable disassembling","author":"Shuai","year":"2015"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2017.23225"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23300"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2016.17"},{"key":"ref32","article-title":"BinDiff","year":"2018"},{"key":"ref33","article-title":"IDA Pro: A cross-platform multi-processor disassembler and debugger","author":"Hex-Rays","year":"2014"},{"key":"ref34","first-page":"1","article-title":"Graph-based comparison of executable objects","volume":"5","author":"Dullien","year":"2005","journal-title":"SSTIC"},{"key":"ref35","first-page":"391","article-title":"Control flow obfuscation with information flow tracking","volume-title":"Proc. 42nd Annu. IEEE\/ACM Int. Symp. Microarchitecture","author":"Chen"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2016.21"},{"key":"ref37","article-title":"Hex-rays decompiler: Manual"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"ref39","first-page":"1","article-title":"Binary obfuscation using signals","volume-title":"Proc. 16th USENIX Secur. Symp. USENIX Secur. Symp.","author":"Popov"},{"key":"ref40","article-title":"The single instruction C compiler","year":"2018"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4614-5416-8_9"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2012.41"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1145\/1455770.1455776"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/2382196.2382216"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1109\/ACSAC.2006.9"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/2484313.2484351"},{"key":"ref47","article-title":"ROPgadget tool","author":"Salwan","year":"2012"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.45"},{"key":"ref49","first-page":"139","article-title":"What cannot be read, cannot be leveraged? revisiting assumptions of JIT-ROP defenses","volume-title":"Proc. USENIX Secur. Symp.","author":"Maisuradze"},{"key":"ref50","first-page":"433","article-title":"Oxymoron: Making fine-grained memory randomization practical by allowing code sharing","volume-title":"Proc. 23rd USENIX Secur. Symp.","author":"Backes"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23262"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660378"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.52"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813682"},{"key":"ref55","first-page":"353","article-title":"Native x86 decompilation using semantics-preserving structural analysis and iterative control-flow structuring","volume-title":"Proc. 22nd USENIX Secur. Symp.","author":"Brumley"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1023\/A:I0I0933404324"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-88625-9_16"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37682-5_8"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00003"},{"key":"ref60","volume-title":"The Art of Computer Virus Research and Defense","author":"Szor","year":"2005"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23822-2_12"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/2991079.2991114"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813663"},{"key":"ref64","article-title":"Unpacking virtualization obfuscators","volume-title":"Proc. 3rd USENIX Conf. Offensive Technologies","author":"Rolles"},{"key":"ref65","article-title":"Code Virtualizer: Total obfuscation against reverse engineering","author":"Tech","year":"2019"},{"key":"ref66","article-title":"VMProtect software protection","year":"2019"},{"key":"ref67","article-title":"The tigress C diversifier\/Obfuscator","author":"Collberg","year":"2010"},{"key":"ref68","first-page":"3585","article-title":"Neural code comprehension: A learnable representation of code semantics","volume-title":"Proc. Advances Neural Inf. Process. Syst.","author":"Ben-Nun"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236085"},{"key":"ref70","article-title":"Teaching machines to understand data science code by semantic enrichment of dataflow graphs","author":"Patterson","year":"2018"},{"key":"ref71","article-title":"Deepcoder: Learning to write programs","volume-title":"Proc. 4th Int. Conf. Learn. Representations","author":"Balog"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.18653\/v1\/P17-1003"},{"key":"ref73","article-title":"Neuro-symbolic program synthesis","author":"Parisotto","year":"2017"},{"key":"ref74","first-page":"611","article-title":"Recognizing functions in binaries with neural networks","volume-title":"Proc. 24th USENIX Secur. Symp.","author":"Shin"},{"key":"ref75","first-page":"7762","article-title":"Learning loop invariants for program verification","volume-title":"Proc. Advances Neural Inf. Process. Syst.","author":"Si"},{"key":"ref76","article-title":"Dynamic neural program embeddings for program repair","volume-title":"Proc. 6th Int. Conf. Learn. Representations","author":"Wang"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1609\/aaai.v31i1.10742"},{"key":"ref78","first-page":"1744","article-title":"Neural guided constraint logic programming for program synthesis","volume-title":"Proc. 32nd Int. Conf. Neural Inf. Process. Syst.","author":"Zhang"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180219"},{"key":"ref80","doi-asserted-by":"publisher","DOI":"10.1609\/aaai.v33i01.3301930"},{"key":"ref81","article-title":"DarunGrim: A patch analysis and binary diffing tool"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1145\/2430553.2430557"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2016.23185"},{"key":"ref84","doi-asserted-by":"publisher","DOI":"10.1145\/2430553.2430558"},{"key":"ref85","first-page":"253","article-title":"BinSim: Trace-based semantic binary diffing via system call sliced segment equivalence checking","volume-title":"Proc. 26th USENIX Conf. Secur. Symp.","author":"Ming"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134018"},{"key":"ref87","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2019.23492"},{"key":"ref88","doi-asserted-by":"publisher","DOI":"10.1145\/3290353"},{"key":"ref89","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3238199"},{"key":"ref90","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3240480"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2020.24311"},{"key":"ref92","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978370"}],"container-title":["IEEE Transactions on Dependable and Secure Computing"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8858\/9773152\/09275317.pdf?arnumber=9275317","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,1,9]],"date-time":"2024-01-09T23:26:11Z","timestamp":1704842771000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9275317\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,5,1]]},"references-count":92,"journal-issue":{"issue":"3"},"URL":"https:\/\/doi.org\/10.1109\/tdsc.2020.3041655","relation":{},"ISSN":["1545-5971","1941-0018","2160-9209"],"issn-type":[{"value":"1545-5971","type":"print"},{"value":"1941-0018","type":"electronic"},{"value":"2160-9209","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,5,1]]}}}