{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T04:28:14Z","timestamp":1775017694310,"version":"3.50.1"},"reference-count":116,"publisher":"Pleiades Publishing Ltd","issue":"4","license":[{"start":{"date-parts":[[2021,7,1]],"date-time":"2021-07-01T00:00:00Z","timestamp":1625097600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2021,7,1]],"date-time":"2021-07-01T00:00:00Z","timestamp":1625097600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Program Comput Soft"],"published-print":{"date-parts":[[2021,7]]},"DOI":"10.1134\/s0361768821040071","type":"journal-article","created":{"date-parts":[[2021,7,30]],"date-time":"2021-07-30T04:08:05Z","timestamp":1627618085000},"page":"271-297","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Survey of Methods for Automated Code-Reuse Exploit Generation"],"prefix":"10.1134","volume":"47","author":[{"given":"A. V.","family":"Vishnyakov","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"A. R.","family":"Nurmukhametov","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"137","published-online":{"date-parts":[[2021,7,30]]},"reference":[{"key":"3599_CR1","unstructured":"The Heartbleed bug. http:\/\/heartbleed.com."},{"key":"3599_CR2","doi-asserted-by":"publisher","unstructured":"Halperin, D., Heydt-Benjamin, T.S., Ransford, B., Clark, S.S., Defend, B., Morgan, W., Fu, K., Kohno, T., and Maisel, W.H., Pacemakers and implantable cardiac defibrillators: software radio attacks and zero-power defenses, Proc. 2008 IEEE Symp. on Security and Privacy (sp 2008), Red Hook, NY: Curran Assoc., 2008, pp.\u00a0129\u2013142. https:\/\/doi.org\/10.1109\/SP.2008.31","DOI":"10.1109\/SP.2008.31"},{"key":"3599_CR3","unstructured":"CWE-2020, CWE top 25 most dangerous software weaknesses. \nhttps:\/\/cwe.mitre.org\/top25\/archive\/2020\/2020_cwe_ top25.html."},{"key":"3599_CR4","unstructured":"Peslyak, A., Getting around non-executable stack (and fix), 1997. https:\/\/seclists.org\/bugtraq\/1997\/Aug\/63."},{"key":"3599_CR5","doi-asserted-by":"publisher","unstructured":"Shacham, H., The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86), Proc. 14th ACM Conf. on Computer and Communications Security (CCS \u201907), Alexandria, Virginia, USA, New York, NY: Assoc. Comput. Mach., 2007, pp. 552\u2013561. https:\/\/doi.org\/10.1145\/1315245.1315313","DOI":"10.1145\/1315245.1315313"},{"key":"3599_CR6","volume-title":"Q: Exploit hardening made easy, Proc. 20th USENIX Conf. on Security (SEC\u201911), San Francisco, CA","author":"E.J. Schwartz","year":"2011","unstructured":"Schwartz, E.J., Avgerinos, T., and Brumley, D., Q: Exploit hardening made easy, Proc. 20th USENIX Conf. on Security (SEC\u201911), San Francisco, CA, Berkeley, CA:USENIX Assoc., 2011. https:\/\/www.usenix.org\/ legacy\/event\/sec11\/tech\/full_papers\/Schwartz.pdf."},{"key":"3599_CR7","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2133375.2133377","volume":"15","author":"R. Roemer","year":"2012","unstructured":"Roemer, R., Buchanan, E., Shacham, H., and Savage, S., Return-oriented programming: Systems, languages, and applications, ACM Trans. Inf. Syst. Secur., 2012, vol. 15, no. 1, 1\u201336. https:\/\/doi.org\/10.1145\/2133375.2133377","journal-title":"ACM Trans. Inf. Syst. Secur"},{"key":"3599_CR8","unstructured":"Kornau, T., Return oriented programming for the ARM architecture, MSc Thesis, Bochum: Ruhr-Univ., 2009. https:\/\/bxi.es\/Reversing-Exploiting\/ROP\/ Return%20Oriented%20Programming % 20for%20ARM.pdf."},{"key":"3599_CR9","doi-asserted-by":"publisher","unstructured":"Checkoway, S., Davi, L., Dmitrienko, A., Sadeghi, A.-R., Shacham, H., and Winandy, M., Return-oriented programming without returns, Proc. 17th ACM Conf. on Computer and Communications Security (CCS\u201910), Chicago, IL, New York, NY: Assoc. Comput. Mach., 2010, pp. 559\u2013572. https:\/\/doi.org\/10.1145\/1866307.1866370","DOI":"10.1145\/1866307.1866370"},{"key":"3599_CR10","volume-title":"Return-Oriented Programming without Returns on ARM: Technical Report HGI-TR-2010-002","author":"L. Davi","year":"2010","unstructured":"Davi, L., Dmitrienko, A., Sadeghi, A.-R., and Winandy, M., Return-Oriented Programming without Returns on ARM: Technical Report HGI-TR-2010-002, Bochum: Horst Gortz Inst. IT Secur., 2010. https:\/\/www.ei.ruhr-uni-bochum.de\/media\/trust\/ veroeffentlichungen\/2010\/07\/21\/ROP-without-Returns-on-ARM.pdf."},{"key":"3599_CR11","doi-asserted-by":"publisher","unstructured":"Huang, Z.-S. and Harris, I.G., Return-oriented vulnerabilities in ARM executables, Proc. 2012 IEEE Conf. on Technologies for Homeland Security (HST), Red Hook, NY: Curran Assoc., 2012, pp. 1\u20136. https:\/\/doi.org\/10.1109\/THS.2012.6459817","DOI":"10.1109\/THS.2012.6459817"},{"key":"3599_CR12","doi-asserted-by":"publisher","unstructured":"Fraser, O.L., Zincir-Heywood, N., Heywood, M., and Jacobs, J.T., Return-oriented programme evolution with ROPER: a proof of concept, Proc. Genetic and Evolutionary Computation Conf. Companion (GECCO \u201917), New York, NY: Assoc. Comput. Mach., 2017, pp. 1447\u20131454. https:\/\/doi.org\/10.1145\/3067695.3082508","DOI":"10.1145\/3067695.3082508"},{"key":"3599_CR13","doi-asserted-by":"publisher","unstructured":"Buchanan, E., Roemer, R., Shacham, H., and Savage, S., When good instructions go bad: Generalizing return-oriented programming to RISC, Proc. 15th ACM Conf. on Computer and Communications Security (CCS\u201908), Alexandria, Virginia, USA, New York, NY: Assoc. Comput. Mach., 2008, pp. 27\u201338. https:\/\/doi.org\/10.1145\/1455770.1455776","DOI":"10.1145\/1455770.1455776"},{"key":"3599_CR14","doi-asserted-by":"publisher","unstructured":"Francillon, A. and Castelluccia, C., Code injection attacks on harvard-architecture devices, Proc. 15th ACM Conf. on Computer and Communications Security (CCS\u201908), Alexandria, Virginia, USA, New York, NY: Assoc. Comput. Mach., 2008, pp. 15\u201326. https:\/\/doi.org\/10.1145\/1455770.1455775.","DOI":"10.1145\/1455770.1455775"},{"key":"3599_CR15","unstructured":"Lindner, F., Cisco IOS router exploitation, in Black Hat, 2009. https:\/\/www.blackhat.com\/presentations\/ bh-usa-09\/LINDNER\/BHUSA09-Lindner-RouterExploit-PAPER.pdf."},{"key":"3599_CR16","volume-title":"Can DREs provide long-lasting security? The case of return-oriented programming and the AVC advantage, Proc. 2009 Conf. on Electronic Voting Technology\/Workshop on Trustworthy Elections (EVT\/WOTE\u201909), Montreal, Canada","author":"S. Checkoway","year":"2009","unstructured":"Checkoway, S., Feldman, A.J., Kantor, B., Halderman, J.A., Felten, E.W., and Shacham, H., Can DREs provide long-lasting security? The case of return-oriented programming and the AVC advantage, Proc. 2009 Conf. on Electronic Voting Technology\/Workshop on Trustworthy Elections (EVT\/WOTE\u201909), Montreal, Canada, Berkeley, CA: USENIX Assoc., 2009. \nhttps:\/\/www.usenix.org\/legacy\/event\/evtwote09\/tech \/full_papers\/checkoway.pdf."},{"key":"3599_CR17","doi-asserted-by":"publisher","unstructured":"Bletsch, T., Jiang, X., Freeh, V.W., and Liang, Z., Jump-oriented programming: a new class of code-reuse attack, Proc. 6th ACM Symp. on Information, Computer and Communications Security (ASIACCS \u201911), Hong Kong, China, New York, NY: Assoc. Comput. Mach., 2011, pp. 30\u201340. https:\/\/doi.org\/10.1145\/1966913.1966919","DOI":"10.1145\/1966913.1966919"},{"key":"3599_CR18","doi-asserted-by":"publisher","unstructured":"Chen, P., Xing, X., Mao, B., Xie, L., Shen, X., and Yin, X., Automatic construction of jump-oriented programming shellcode (on the x86), Proc. 6th ACM Symp. on Information, Computer and Communications Security (ASIACCS\u201911), Hong Kong, China, New York, NY: Assoc. Comput. Mach., 2011, pp. 20\u201329. https:\/\/doi.org\/10.1145\/1966913.1966918","DOI":"10.1145\/1966913.1966918"},{"key":"3599_CR19","doi-asserted-by":"publisher","first-page":"139","DOI":"10.1007\/s11416-017-0299-1","volume":"14","author":"A. Sadeghi","year":"2018","unstructured":"Sadeghi, A., Niksefat, S., and Rostamipour, M., Pure-call oriented programming (PCOP): chaining the gadgets using call instructions, J. Comput. Virol. Hacking Techn., 2018, vol. 14, no. 2, pp. 139\u2013156. \nhttps:\/\/doi.org\/10.1007\/s11416-017-0299-1","journal-title":"J. Comput. Virol. Hacking Techn"},{"key":"3599_CR20","doi-asserted-by":"publisher","unstructured":"Lu, K., Xiong, S., and Gao, D., RopSteg: Program steganography with return oriented programming, Proc. 4th ACM Conf. on Data and Application Security and Privacy (CODASPY\u201914), New York, NY: Assoc. Comput. Mach., 2014, pp. 265\u2013272. https:\/\/doi.org\/10.1145\/2557547.2557572","DOI":"10.1145\/2557547.2557572"},{"key":"3599_CR21","doi-asserted-by":"publisher","first-page":"570","DOI":"10.1049\/iet-ifs.2018.5386","volume":"13","author":"C. Ntantogian","year":"2019","unstructured":"Ntantogian, C., Poulios, G., Karopoulos, G., and Xenakis, C., Transforming malicious code to ROP gadgets for antivirus evasion, IET Inf. Secur., 2019, vol. 13, no.\u00a06, pp. 570\u2013578. https:\/\/doi.org\/10.1049\/iet-ifs.2018.5386","journal-title":"IET Inf. Secur"},{"key":"3599_CR22","doi-asserted-by":"publisher","unstructured":"Mu, D., Guo, J., Ding, W., Wang, Z., Mao, B., and Shi, L., ROPOB: obfuscating binary code via return oriented programming, in Security and Privacy in Communication Networks, Cham: Springer-Verlag, 2018, pp.\u00a0721\u2013737. https:\/\/doi.org\/10.1007\/978-3-319-78813-5_38","DOI":"10.1007\/978-3-319-78813-5_38"},{"key":"3599_CR23","doi-asserted-by":"publisher","unstructured":"Bosman, E. and Bos, H., Framing signals\u2014a return to portable shellcode, Proc. 2014 IEEE Symp. on Security and Privacy, Red Hook, NY: Curran Assoc., 2014, pp.\u00a0243\u2013258. https:\/\/doi.org\/10.1109\/SP.2014.23","DOI":"10.1109\/SP.2014.23"},{"key":"3599_CR24","doi-asserted-by":"publisher","unstructured":"Borrello, P., Coppa, E., D\u2019Elia, D.C., and Demetrescu, C., The ROP needle: hiding trigger-based injection vectors via code reuse, Proc. 34th ACM\/SIGAPP Symp. on Applied Computing (SAC\u201919), Limassol, Cyprus, New York, NY: Assoc. Comput. Mach., 2019, pp. 1962\u20131970. https:\/\/doi.org\/10.1145\/3297280.3297472","DOI":"10.1145\/3297280.3297472"},{"key":"3599_CR25","volume-title":"Return-oriented rootkits: bypassing kernel code integrity protection mechanisms, Proc. 18th Conf. on USENIX Security Symp. (SSYM\u201909), Montreal, Canada","author":"R. Hund","year":"2009","unstructured":"Hund, R., Holz, T., and Freiling, F.C., Return-oriented rootkits: bypassing kernel code integrity protection mechanisms, Proc. 18th Conf. on USENIX Security Symp. (SSYM\u201909), Montreal, Canada, Berkeley, CA: USENIX Assoc., 2009, pp. 383\u2013398.\nhttps:\/\/www.usenix.org\/legacy\/events\/sec09\/tech\/ full_papers\/hund.pdf."},{"key":"3599_CR26","unstructured":"Quynh, N.A., OptiROP: hunting for ROP gadgets in style, 2013. \nhttps:\/\/media.blackhat.com\/us-13\/US-13-Quynh-OptiROP-Hunting-for-ROP-Gadgets-in-Style-Slides.pdf."},{"key":"3599_CR27","doi-asserted-by":"publisher","unstructured":"Ding, W., Xing, X., Chen, P., Xin, Z., and Mao, B., Automatic construction of printable return-oriented programming payload, Proc. 2014 9th Int. Conf. on Malicious and Unwanted Software \u201cThe Americas\u201d (MALWARE), Washington, DC: IEEE Comput. Soc., 2014, pp. 18\u201325. https:\/\/doi.org\/10.1109\/MALWARE.2014.6999408","DOI":"10.1109\/MALWARE.2014.6999408"},{"key":"3599_CR28","doi-asserted-by":"publisher","first-page":"119","DOI":"10.1007\/s11859-015-1069-x","volume":"20","author":"Y. Ouyang","year":"2015","unstructured":"Y. Ouyang, Q. Wang, J. Peng, and J. Zeng, An advanced automatic construction method of ROP, Wuhan Univ. J. Nat. Sci., 2015, vol. 20, no. 2, pp. 119\u2013128. https:\/\/doi.org\/10.1007\/s11859-015-1069-x","journal-title":"Wuhan Univ. J. Nat. Sci"},{"key":"3599_CR29","doi-asserted-by":"publisher","unstructured":"Follner, A., Bartel, A., Peng, H., Chang, Y.-C., Ispoglou, K., Payer, M., and Bodden, E., PSHAPE: automatically combining gadgets for arbitrary method execution, Proc. 12th Int. Workshop Security and Trust Management (STM\u20192016), Heraklion, Crete, Greece, September 26\u201327, \n               2016, Cham: Springer-Verlag, 2016, pp. 212\u2013228. https:\/\/doi.org\/10.1007\/978-3-319-46598-2_15.","DOI":"10.1007\/978-3-319-46598-2_15"},{"key":"3599_CR30","unstructured":"Milanov, B., ROPGenerator: practical automated ROP-chain generation, 2018. https:\/\/youtu.be\/rz7Z9fBLVs0."},{"key":"3599_CR31","unstructured":"Mosier, N. and Johnson, P., ROP with a 2nd stack, 2019. http:\/\/www.cs.middlebury.edu\/~nmosier\/portfolio \/rsrc\/ropc-slides.pdf."},{"key":"3599_CR32","unstructured":"Follner, A., Bartel, A., Peng, H., Chang, Y.-C., Ispoglou, K., Payer, M., and Bodden, E., PSHAPE-practical support for half-automated program exploitation. https:\/\/github.com\/Alexandre-Bartel\/inspector-gadget."},{"key":"3599_CR33","unstructured":"Fraser, O.L., ROPER: a genetic ROP-chain development tool. https:\/\/github.com\/oblivia-simplex\/roper."},{"key":"3599_CR34","unstructured":"mona.py, Corelan Consulting BVBA. \nhttps:\/\/github.com\/corelan\/mona."},{"key":"3599_CR35","unstructured":"Salwan, J., ROPgadget tool.\nhttps:\/\/github.com\/JonathanSalwan\/ROPgadget."},{"key":"3599_CR36","unstructured":"Milanov, B., ROPium.\nhttps:\/\/github.com\/Boyan-MILANOV\/ropium."},{"key":"3599_CR37","unstructured":"Salls, C., angrop. https: \/\/github.com\/salls\/angrop."},{"key":"3599_CR38","unstructured":"Schirra, S., Ropper. https:\/\/github.com\/sashs\/ropper."},{"key":"3599_CR39","unstructured":"Paul, ROPC. https:\/\/github.com\/pakt\/ropc."},{"key":"3599_CR40","unstructured":"ropc-llvm, Program STIC.\nhttps:\/\/github.com\/programa-stic\/ropc-llvm."},{"key":"3599_CR41","unstructured":"Stewart, J., An open source, multiarchitecture ROP compiler. https:\/\/github.com\/jeffball55\/rop_compiler."},{"key":"3599_CR42","unstructured":"SQLab, SQLab ROP payload generation. \nhttps:\/\/github.com\/SQLab\/ropchain."},{"key":"3599_CR43","unstructured":"Gautham, A.V. and Singh, S., ROPilicious. \nhttps:\/\/github.com\/ROPilicious\/src."},{"key":"3599_CR44","unstructured":"d4em0n, Exrop. https: \/\/github.com\/d4em0n\/exrop."},{"key":"3599_CR45","unstructured":"Nurmukhametov, A. and Vishnyakov, A., ROP benchmark. https:\/\/github.com\/ispras\/rop-benchmark."},{"key":"3599_CR46","unstructured":"W^X now mandatory in OpenBSD, 2016.\nhttps:\/\/undeadly.org\/cgi?action=article&sid= 20160527203200."},{"key":"3599_CR47","unstructured":"A detailed description of the data execution prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC edition 2005, and Windows Server 2003. https:\/\/support.microsoft.com\/kb\/875352\/EN-US\/."},{"key":"3599_CR48","unstructured":"van de Ven, A., New security enhancements in Red Hat Enterprise Linux v.3, update 3, 2004. \nhttps:\/\/static.redhat.com\/legacy\/f\/pdf\/rhel\/ WHP0006US_Execshield.pdf."},{"key":"3599_CR49","series-title":"Buffer overflow attacks","volume-title":"Modern Operating Systems","author":"A.S. Tanenbaum","year":"2015","unstructured":"Tanenbaum, A.S. and Bos, H., Buffer overflow attacks, in Modern Operating Systems, 4th ed., London: Pearson, 2015, ch. 9.6.1, pp. 640\u2013649. ISBN 978-0133591620"},{"key":"3599_CR50","unstructured":"CWE-123: Write-what-where condition. https:\/\/cwe.mitre.org\/data\/definitions\/123.html."},{"key":"3599_CR51","unstructured":"Spengler, B., PaX: The guaranteed end of arbitrary code execution. https:\/\/grsecurity.net\/PaX-presentation.pdf."},{"key":"3599_CR52","unstructured":"Bhatkar, S., DuVarney, D.C., and Sekar, R., Address obfuscation: An efficient approach to combat a broad range of memory error exploits, Proc. 12th USENIX Security Symp., Washington, DC, August 4\u20138, \n               2003, Berkeley, CA: USENIX Assoc., 2003, vol. 12, no. 2, pp.\u00a0291\u2013301. \nhttps:\/\/www.usenix.org\/legacy\/event\/sec03\/tech\/full_ papers\/bhatkar\/bhatkar.pdf."},{"key":"3599_CR53","doi-asserted-by":"publisher","first-page":"73","DOI":"10.15514\/ISPRAS-2016-28(5)-4","volume":"28","author":"A.N. Fedotov","year":"2016","unstructured":"Fedotov, A.N., Padaryan, V.A., Kaushan, V.V., Kurmangaleev, S.F., Vishnyakov, A.V., and Nurmukhametov, A.R., Software defect severity estimation in presence of modern defense mechanisms, Proc. Inst. Syst. Program., \n               Russ. Acad. Sci., 2016, vol. 28, no. 5, pp. 73\u201392. https:\/\/doi.org\/10.15514\/ISPRAS-2016-28(5)-4","journal-title":"Russ. Acad. Sci"},{"key":"3599_CR54","unstructured":"Procedure Linkage Table (processor-specific). https:\/\/docs.oracle.com\/cd\/E23824_01\/html\/819-0690\/chapter6-1235.html."},{"key":"3599_CR55","unstructured":"Salwan, J., An introduction to the return oriented programming and ROP-chain generation, 2014. \nhttp:\/\/shell-storm.org\/talks\/ROP_course_lecture_jonathan_salwan_2014.pdf."},{"key":"3599_CR56","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1109\/TETC.2017.2785299","volume":"8","author":"T.F. Dullien","year":"2018","unstructured":"Dullien, T.F., Weird machines, exploitability, and provable unexploitability, IEEE Trans. Emerg. Topics Comput., 2018, vol. 8, no. 2, pp. 391\u2013403. https:\/\/doi.org\/10.1109\/TETC.2017.2785299","journal-title":"IEEE Trans. Emerg. Topics Comput"},{"key":"3599_CR57","doi-asserted-by":"publisher","unstructured":"Graziano, M., Balzarotti, D., and Zidouemba, A., ROPMEMU: A framework for the analysis of complex code-reuse attacks, Proc. 11th ACM on Asia Conf. on Computer and Communications Security (ASIA CCS\u201916), New York, NY: Assoc. Comput. Mach., 2016, pp. 47\u201358. https:\/\/doi.org\/10.1145\/2897845.2897894","DOI":"10.1145\/2897845.2897894"},{"key":"3599_CR58","unstructured":"Schwartz, E.J., Avgerinos, T., and Brumley, D., Update on Q: Exploit hardening made easy, 2012. https:\/\/edmcman.github.io\/papers\/usenix11-update.pdf."},{"key":"3599_CR59","doi-asserted-by":"publisher","unstructured":"Weidler, N.R., Brown, D., Mitchell, S.A., Anderson, J., Williams, J.R., Costley, A., Kunz, C., Wilkinson, C., Wehbe, R., and Gerdes, R., Return-oriented programming on a resource constrained device, Sustainable Comput.: Inf. Syst., 2019, vol. 22, pp. 244\u2013256. ISSN 2210-5379. https:\/\/doi.org\/10.1016\/j.suscom.2018.10.002","DOI":"10.1016\/j.suscom.2018.10.002"},{"key":"3599_CR60","doi-asserted-by":"publisher","first-page":"473","DOI":"10.1134\/S0361768819080061","volume":"45","author":"A.V. Vishnyakov","year":"2019","unstructured":"Vishnyakov, A.V., Nurmukhametov, A.R., Kurmangaleev, S.F., and Gaisaryan, S.S., A method for analyzing code-reuse attacks, Program. Comput. Software, 2019, vol. 45, pp. 473\u2013484. https:\/\/doi.org\/10.1134\/S0361768819080061","journal-title":"Program. Comput. Software"},{"key":"3599_CR61","doi-asserted-by":"publisher","unstructured":"Roglia, G.F., Martignoni, L., Paleari, R., and Bruschi, D., Surgically returning to randomized lib(c), Proc. 2009 Annual Computer Security Applications Conf., Red Hook, NY: Curran Assoc., 2009, pp. 60\u201369. https:\/\/doi.org\/10.1109\/ACSAC.2009.16","DOI":"10.1109\/ACSAC.2009.16"},{"key":"3599_CR62","unstructured":"PE format-Import Address Table.\nhttps:\/\/docs.microsoft.com\/en-us\/windows\/win32\/ debug\/pe-format#import-address-table."},{"key":"3599_CR63","unstructured":"ld.so(8)-Linux manual page. \nhttp:\/\/man7.org\/linux\/man-pages\/man8\/ld.so.8.html."},{"key":"3599_CR64","doi-asserted-by":"publisher","unstructured":"Kirsch, J., Bierbaumer, B., Kittel, T., and Eckert, C., Dynamic loader oriented programming on Linux, Proc. 1st Reversing and Offensive-oriented Trends Symp. (ROOTS), Vienna, Austria, New York, NY: Assoc. Comput. Mach., 2017, pp. 1\u201313. https:\/\/doi.org\/10.1145\/3150376.3150381","DOI":"10.1145\/3150376.3150381"},{"key":"3599_CR65","doi-asserted-by":"publisher","unstructured":"Ward, B.C., Skowyra, R., Spensky, C., Martin, J., and Okhravi, H., The leakage-resilience dilemma, Proc. 24th European Symp. on Research in Computer Security \u201cComputer Security\u2014ESORICS 2019,\u201d Luxembourg, September 23\u201327, \n               2019, Cham: Springer-Verlag, 2019, pp. 87\u2013106. https:\/\/doi.org\/10.1007\/978-3-030-29959-0_5","DOI":"10.1007\/978-3-030-29959-0_5"},{"key":"3599_CR66","unstructured":"Dai Zovi, D., Practical return-oriented programming, SOURCE Boston, 2010. \nhttps:\/\/trailofbits.files.wordpress.com\/2010\/04\/practical-rop.pdf."},{"key":"3599_CR67","unstructured":"Cowan, C., Pu, C., Maier, D., Walpole, J., Bakke, P., Beattie, S., Grier, A., Wagle, P., Zhang, Q., and Hinton, H., Stackguard: automatic adaptive detection and prevention of buffer-overflow attacks, Proc. 7th USENIX Security Symp. San Antonio, Texas, January 26\u201329, \n               1998, Berkeley, CA: USENIX Assoc., 1998, vol. 98, pp.\u00a063\u201378.\nhttps:\/\/www.usenix.org\/legacy\/publications\/library\/ proceedings\/sec98\/full_papers\/cowan\/cowan.pdf."},{"key":"3599_CR68","unstructured":"mprotect(2)-Linux manual page.\nhttp:\/\/man7.org\/linux\/manpages\/man2\/mprotect.2.html."},{"key":"3599_CR69","unstructured":"VirtualProtect function. https:\/\/docs.microsoft.com\/ en-us\/windows\/desktop\/api\/memoryapi\/nf-memoryapi-virtualprotect."},{"key":"3599_CR70","unstructured":"van Eeckhoutte, P., Exploit writing tutorial part 10: chaining DEP with ROP\u2014the Rubik\u2019s\u2122 cube, 2010. https:\/\/www.corelan.be\/index.php\/2010\/06\/16\/exploit-writing-tutorialpart-10-chaining-dep-with-rop-therubikstm-cube\/."},{"key":"3599_CR71","doi-asserted-by":"publisher","unstructured":"Bittau, A., Belay, A., Mashtizadeh, A., Mazi\u00e8res, D., and Boneh, D., Hacking blind, Proc. 2014 IEEE Symp. on Security and Privacy (SP\u201914), Washington, DC: IEEE Comput. Soc., 2014, pp. 227\u2013242. https:\/\/doi.org\/10.1109\/SP.2014.22","DOI":"10.1109\/SP.2014.22"},{"key":"3599_CR72","doi-asserted-by":"publisher","unstructured":"Snow, K.Z., Monrose, F., Davi, L., Dmitrienko, A., Liebchen, C., and Sadeghi, A.-R., Just-in-time code reuse: On the effectiveness of fine-grained address space layout randomization, Proc. 2013 IEEE Symp. on Security and Privacy (SP\u201913), Washington, DC: IEEE Comput. Soc., 2013, pp. 574\u2013588. https:\/\/doi.org\/10.1109\/SP.2013.45","DOI":"10.1109\/SP.2013.45"},{"key":"3599_CR73","doi-asserted-by":"publisher","first-page":"363","DOI":"10.1134\/S0361768818050080","volume":"44","author":"A.R. Nurmukhametov","year":"2018","unstructured":"Nurmukhametov, A.R., Zhabotinskiy, E.A., Kurmangaleev, S.F., Gaissaryan, S.S., and Vishnyakov A.V., Fine-grained address space layout randomization on program load, Program. Comput. Software, 2018, vol. 44, no.\u00a05, pp. 363\u2013370. https:\/\/doi.org\/10.1134\/S0361768818050080","journal-title":"Program. Comput. Software"},{"key":"3599_CR74","doi-asserted-by":"publisher","unstructured":"G\u00f6ktas, E., Kollenda, B., Koppe, P., Bosman, E., Portokalidis, G., Holz, T., Bos, H., and Giuffrida, C., Position-independent code reuse: On the effectiveness of ASLR in the absence of information disclosure, Proc. 2018 IEEE European Symp. on Security and Privacy (EuroSP), Washington, DC: IEEE Comput. Soc., 2018, pp. 227\u2013242. https:\/\/doi.org\/10.1109\/EuroSP.2018.00024","DOI":"10.1109\/EuroSP.2018.00024"},{"key":"3599_CR75","doi-asserted-by":"publisher","unstructured":"Burow, N., Carr, S.A., Nash, J., Larsen, P., Franz, M., Brunthaler, S., and Payer, M., Control-flow integrity: precision, security, and performance, ACM Comput. Surv., 2017, vol. 50, no. 1, pp. 16:1\u201316:33. https:\/\/doi.org\/10.1145\/3054924","DOI":"10.1145\/3054924"},{"key":"3599_CR76","unstructured":"Carlini, N. and Wagner, D., ROP is still dangerous: breaking modern defenses, Proc. 23rd USENIX Security Symp., San Diego, CA, August 20\u201322, \n               2014, Berkeley, CA: USENIX Assoc., 2014, pp. 385\u2013399.\nhttps:\/\/www.usenix.org\/system\/files\/conference\/usenixsecurity14\/sec14-paper-carlini.pdf."},{"key":"3599_CR77","doi-asserted-by":"publisher","unstructured":"Tran, M., Etheridge, M., Bletsch, T., Jiang, X., Freeh, V., and Ning, P., On the expressiveness of return-into-libc attacks, Proc. 14th Int. Symp. Recent Advances in Intrusion Detection (RAID 2011), Menlo Park, CA, USA, September 20\u201321, \n               2011, Berlin: Springer-Verlag, 2011, pp. 121\u2013141. https:\/\/doi.org\/10.1007\/978-3-642-23644-0_7","DOI":"10.1007\/978-3-642-23644-0_7"},{"key":"3599_CR78","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1109\/Trustcom.2015.374","volume":"1","author":"B. Lan","year":"2015","unstructured":"Lan, B., Li, Y., Sun, H., Su, C., Liu, Y., and Zeng, Q., Loop-oriented programming: a new code reuse attack to bypass modern defenses, Proc. 2015 IEEE Trustcom\/BigDataSE\/ISPA (TRUSTCOM\u201915), Washington, DC: IEEE Comput. Soc., 2015, vol. 1, pp. 190\u2013197. https:\/\/doi.org\/10.1109\/Trustcom.2015.374","journal-title":"IEEE Comput. Soc."},{"key":"3599_CR79","unstructured":"Davi, L., Sadeghi, A.-R., Lehmann, D., and Monrose, F., Stitching the gadgets: On the ineffectiveness of coarse-grained control-flow integrity protection, Proc. 23rd USENIX Security Symp., San Diego, CA, August 20\u201322, \n               2014, Berkeley, CA: USENIX Assoc., 2014, pp. 401\u2013416. https:\/\/www.usenix.org\/system\/files\/conference\/usenixsecurity14\/sec14-paper-davi.pdf."},{"key":"3599_CR80","doi-asserted-by":"publisher","unstructured":"Schuster, F., Tendyck, T., Liebchen, C., Davi, L., Sadeghi, A.-R., and Holz, T., Counterfeit object-oriented programming: on the difficulty of preventing code reuse attacks in C++ applications, Proc. 2015 IEEE Symp. on Security and Privacy (SP\u201915), Washington, DC: IEEE Comput. Soc., 2015, pp. 745\u2013762. https:\/\/doi.org\/10.1109\/SP.2015.51","DOI":"10.1109\/SP.2015.51"},{"key":"3599_CR81","doi-asserted-by":"publisher","first-page":"693","DOI":"10.1109\/TIFS.2018.2855648","volume":"14","author":"C. Wang","year":"2019","unstructured":"Wang, C., Chen, B., Liu, Y., and Wu, H., Layered object-oriented programming: advanced VTable reuse attacks on binary-level defense, IEEE Trans. Inf. Forensics Secur., vol. 14, no. 3, pp. 693\u2013708, 2019. https:\/\/doi.org\/10.1109\/TIFS.2018.2855648","journal-title":"IEEE Trans. Inf. Forensics Secur"},{"key":"3599_CR82","doi-asserted-by":"publisher","unstructured":"Guo, Y., Chen, L., and Shi, G., Function-oriented programming: a new class of code reuse attack in C applications, Proc. 6th Annual IEEE CNS Conf. on Communications and Network Security, Piscataway, NJ: Inst. Electr. Electron. Eng., 2018, pp. 1\u20139. https:\/\/doi.org\/10.1109\/CNS.2018.8433189","DOI":"10.1109\/CNS.2018.8433189"},{"key":"3599_CR83","volume-title":"Non-control-data attacks are realistic threats, Proc. 14th Conf. on USENIX Security Symp. (SSYM\u201905)","author":"S. Chen","year":"2005","unstructured":"Chen, S., Xu, J., Sezer, E.C., Gauriar, P., and Iyer, R.K., Non-control-data attacks are realistic threats, Proc. 14th Conf. on USENIX Security Symp. (SSYM\u201905), Berkeley, CA: USENIX Assoc., 2005, vol. 14, pp. 177\u2013192. http:\/\/static.usenix.org\/event\/sec05\/tech\/full_papers \/chen\/chen.pdf."},{"key":"3599_CR84","volume-title":"Automatic generation of dataoriented exploits, Proc. 24th USENIX Conf. on Security Symp. (SEC\u201915)","author":"H. Hu","year":"2015","unstructured":"Hu, H., Chua, Z.L., Adrian, S., Saxena, P., and Liang, Z., Automatic generation of dataoriented exploits, Proc. 24th USENIX Conf. on Security Symp. (SEC\u201915), Berkeley, CA: USENIX Assoc., 2015, pp. 177\u2013192. \nhttps:\/\/www.usenix.org\/system\/files\/conference\/usenixsecurity15\/sec15-paper-hu.pdf."},{"key":"3599_CR85","doi-asserted-by":"publisher","unstructured":"Hu, H., Shinde, S., Adrian, S., Chua, Z.L., Saxena, P., and Liang, Z., Data-oriented programming: on the expressiveness of noncontrol data attacks, Proc. 2016 IEEE Symp. on Security and Privacy (SP\u201916), Washington, DC: IEEE Comput. Soc., 2016, pp. 969\u2013986. https:\/\/doi.org\/10.1109\/SP.2016.62.","DOI":"10.1109\/SP.2016.62"},{"key":"3599_CR86","doi-asserted-by":"publisher","unstructured":"Pewny, J., Koppe, P., and Holz, T., STEROIDS for DOPed applications: a compiler for automated data-oriented programming, Proc. 2019 IEEE European Symp. on Security and Privacy Workshops (EuroS&PW), Red Hook, NY: Curran Assoc., 2019, pp. 111\u2013126. https:\/\/doi.org\/10.1109\/EuroSP.2019.00018.","DOI":"10.1109\/EuroSP.2019.00018"},{"key":"3599_CR87","doi-asserted-by":"publisher","unstructured":"Ispoglou, K.K., AlBassam, B., Jaeger, T., and Payer, M., Block oriented programming: Automating data-only attacks, Proc. 2018 ACM SIGSAC Conf. on Computer and Communications Security (CCS\u201918), Toronto, Canada, New York, NY: Assoc. Comput. Mach., 2018, pp.\u00a01868\u20131882. https:\/\/doi.org\/10.1145\/3243734.3243739","DOI":"10.1145\/3243734.3243739"},{"key":"3599_CR88","first-page":"283","volume":"57","author":"T. Avgerinos","year":"2011","unstructured":"Avgerinos, T., Cha, S.K., Hao, B.L.T., and Brumley, D., AEG: automatic exploit generation, Commun. ACM, 2011, vol. 57, no. 2, pp. 283\u2013300.\nhttp:\/\/security.ece.cmu.edu\/aeg\/aeg-current.pdf.","journal-title":"Commun. ACM"},{"key":"3599_CR89","doi-asserted-by":"publisher","unstructured":"Cha, S.K., Avgerinos, T., Rebert, A., and Brumley, D., Unleashing Mayhem on binary code, Proc. 2012 IEEE Symp. on Security and Privacy, Red Hook, NY: Curran Assoc., 2012, pp. 380\u2013394. https:\/\/doi.org\/10.1109\/SP.2012.31","DOI":"10.1109\/SP.2012.31"},{"key":"3599_CR90","doi-asserted-by":"publisher","first-page":"373","DOI":"10.1134\/S0361768815060055","volume":"41","author":"V.A. Padaryan","year":"2015","unstructured":"Padaryan, V.A., Kaushan, V.V., and Fedotov, A.N., Automated exploit generation for stack buffer overflow vulnerabilities, Program. Comput. Software, 2015, vol.\u00a041, no. 6, pp. 373\u2013380. https:\/\/doi.org\/10.1134\/S0361768815060055","journal-title":"Program. Comput. Software"},{"key":"3599_CR91","doi-asserted-by":"publisher","unstructured":"Shoshitaishvili, Y., Wang, R., Salls, C., Stephens, N., Polino, M., Dutcher, A., Grosen, J., Feng, S., Hauser C., Kruegel, C., and Vigna, G., SOK: (state of) the art of war: Offensive techniques in binary analysis, Proc. 2016 IEEE Symp. on Security and Privacy (SP), Red Hook, NY: Curran Assoc., 2016, pp. 138\u2013157. https:\/\/doi.org\/10.1109\/SP.2016.17","DOI":"10.1109\/SP.2016.17"},{"key":"3599_CR92","doi-asserted-by":"publisher","first-page":"385","DOI":"10.1145\/360248.360252","volume":"19","author":"J.C. King","year":"1976","unstructured":"King, J.C., Symbolic execution and program testing, Commun. ACM, 1976, vol. 19, no. 7, pp. 385\u2013394. https:\/\/doi.org\/10.1145\/360248.360252","journal-title":"Commun. ACM"},{"key":"3599_CR93","doi-asserted-by":"publisher","unstructured":"Schwartz, E.J., Avgerinos, T., and Brumley, D., All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask), Proc. 2010 IEEE Symp. on Security and Privacy, Red Hook, NY: Curran Assoc., 2010, pp. 317\u2013331. https:\/\/doi.org\/10.1109\/SP.2010.26","DOI":"10.1109\/SP.2010.26"},{"key":"3599_CR94","volume-title":"Automated whitebox fuzz testing, Proc. 15th Network and Distributed System Security Symp. (NDSS'2008), San Diego, California, USA","author":"P. Godefroid","year":"2008","unstructured":"Godefroid, P., Levin, M.Y., and Molnar, D.A., Automated whitebox fuzz testing, Proc. 15th Network and Distributed System Security Symp. (NDSS'2008), San Diego, California, USA, Reston, VA: Internet Soc., 2008, vol. 8, pp. 151\u2013166.\nhttps:\/\/www.microsoft.com\/en-us\/research\/publication\/automatedwhitebox-fuzz-testing\/."},{"key":"3599_CR95","volume-title":"Microgadgets: size does matter in turing-complete returnoriented programming, Proc. 6th USENIX Workshop on Offensive Technologies (WOOT\u201912)","author":"A. Homescu","year":"2012","unstructured":"Homescu, A., Stewart, M., Larsen, P., Brunthaler, S., and Franz, M., Microgadgets: size does matter in turing-complete returnoriented programming, Proc. 6th USENIX Workshop on Offensive Technologies (WOOT\u201912), Berkeley, CA: USENIX Assoc., 2012.\nhttps:\/\/www.usenix.org\/system\/files\/conference\/woot12 \/woot12-final9.pdf."},{"key":"3599_CR96","unstructured":"BARF: binary analysis and reverse engineering framework, Program STIC.\nhttps:\/\/github.com\/programa-stic\/barf-project."},{"key":"3599_CR97","unstructured":"Heffner, C., MIPS ROP IDA plug-in. \nhttps:\/\/github.com\/devttys0\/ida\/tree\/master\/plugins\/ mipsrop."},{"key":"3599_CR98","unstructured":"Mosier, N., A pair of return-oriented programming utilities: a gadget finder and ROP compiler. \nhttps:\/\/github.com\/nmosier\/rop-tools."},{"key":"3599_CR99","unstructured":"lucasg, ROP database plug-in for IDA. \nhttps:\/\/github.com\/lucasg\/idarop."},{"key":"3599_CR100","volume-title":"Efficient Directionless Weakest Preconditions: Technical Report CMU-CyLab-10-002","author":"I. Jager","year":"2010","unstructured":"Jager, I. and Brumley, D., Efficient Directionless Weakest Preconditions: Technical Report CMU-CyLab-10-002, Pittsburgh, PA: Carnegie Mellon Univ., 2010. \nhttp:\/\/security.ece.cmu.edu\/pubs\/CMUCyLab10002. pdf."},{"key":"3599_CR101","doi-asserted-by":"publisher","unstructured":"Nethercote, N. and Seward, J., Valgrind: a framework for heavyweight dynamic binary instrumentation, Proc. 28th ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI\u201907), New York, NY: Assoc. Comput. Mach., 2007, pp. 89\u2013100. https:\/\/doi.org\/10.1145\/1273442.1250746","DOI":"10.1145\/1273442.1250746"},{"key":"3599_CR102","unstructured":"Dullien, T. and Porst, S., REIL: a platform-independent intermediate representation of disassembled code for static code analysis, 2009. https:\/\/static.googleusercontent.com\/media\/zynamics.com\/en\/\/downloads\/ csw09.pdf."},{"key":"3599_CR103","volume-title":"Modeling operational semantics of machine instructions","author":"V.A. Padaryan","year":"2010","unstructured":"Padaryan, V.A., Soloviev, M.A., and Kononov, A.I., Modeling operational semantics of machine instructions, Proc. Inst. Syst. Program., Russ. Acad. Sci., 2010, vol. 19, pp. 165\u2013186. https:\/\/www.ispras.ru\/en\/proceedings \/isp_19_2010\/isp_19_2010_165\/."},{"key":"3599_CR104","doi-asserted-by":"publisher","first-page":"424","DOI":"10.1134\/S0361768819070107","volume":"45","author":"M.A. Soloviev","year":"2019","unstructured":"Soloviev, M.A., Bakulin, M.G., Gorbachev, M.S., Manushin, D.V., Padaryan, V.A., and. Panasenko, S.S, Next-generation intermediate representations for binary code analysis, Program. Comput. Software, 2019, vol. 45, pp. 424\u2013437. https:\/\/doi.org\/10.1134\/S0361768819070107","journal-title":"Program. Comput. Software"},{"key":"3599_CR105","unstructured":"Heitman, C. and Arce, I., BARF: a multiplatform open source binary analysis and reverse engineering framework, XX Congr. Argentino de Ciencias de la Computaci\u00f3n, San Justo: Univ. Nac. La Matanza, 2014. http:\/\/sedici.unlp.edu.ar\/handle\/10915\/42157."},{"key":"3599_CR106","unstructured":"Vishnyakov, A.V., Semantic verification of linear machine instruction sequence, 2019.\nhttps:\/\/vishnya.xyz\/vishnyakov-coursework2019.pdf."},{"key":"3599_CR107","unstructured":"Vishnyakov, A., Nurmukhametov, A., Kurmangaleev, S., and Gaisaryan, S., Method for analysis of code-reuse attacks\u2014reverse engineering of ROP exploits. https:\/\/vishnya.xyz\/vishnyakovisprasopen2018.pdf."},{"key":"3599_CR108","volume-title":"The SMT-LIB Standard: Version 2.6","author":"C. Barrett","year":"2017","unstructured":"Barrett, C., Fontaine, P., and Tinelli, C., The SMT-LIB Standard: Version 2.6, Iowa City, IA: Univ. Iowa, 2017. https:\/\/www.SMT-LIB.org."},{"key":"3599_CR109","unstructured":"Dullien, T., Kornau, T., and Weinmann, R.-P., A\u00a0framework for automated architecture-independent gadget search, 2010. https:\/\/www.usenix.org\/legacy\/ events\/woot10\/tech\/full_papers\/Dullien.pdf."},{"key":"3599_CR110","doi-asserted-by":"publisher","unstructured":"Follner, A., Bartel, A., and Bodden, E., Analyzing the gadgets: towards a metric to measure gadget quality, Proc. 8th Int. Symp. \u201cEngineering Secure Software and Systems\u201d (ESSoS 2016), London, UK, April 6\u20138, \n               2016, Cham: Springer-Verlag, 2016, pp. 155\u2013172. https:\/\/doi.org\/10.1007\/978-3-319-30806-7_10","DOI":"10.1007\/978-3-319-30806-7_10"},{"key":"3599_CR111","volume-title":"Urschleim in silicon: return oriented program evolution with ROPER, MSc Thesis","author":"O.L. Fraser","year":"2018","unstructured":"Fraser, O.L., Urschleim in silicon: return oriented program evolution with ROPER, MSc Thesis, Halifax: Dalhouse Univ., 2018. \nhttps:\/\/dalspace.library.dal.ca\/handle\/10222\/73879."},{"key":"3599_CR112","doi-asserted-by":"publisher","unstructured":"Dijkstra, E.W., A note on two problems in connexion with graphs, Num. Math., 1959, vol. 1, no. 1, pp. 269\u2013271. ISSN 0945-3245. https:\/\/doi.org\/10.1007\/BF01386390","DOI":"10.1007\/BF01386390"},{"key":"3599_CR113","unstructured":"Saudel, F. and Salwan, J., Triton: a dynamic symbolic execution framework, Symp. sur la S\u00e9curit\u00e9 des Technologies de l\u2019Information et des Communications (SSTIC'2015), Rennes, 2015, pp. 31\u201354.\nhttps:\/\/triton.quarkslab.com\/files\/sstic2015_slide_en _saudel_salwan.pdf."},{"key":"3599_CR114","series-title":"ch. 6","volume-title":"Compilers: Principles, Techniques, and Tools","author":"A.V. Aho","year":"2006","unstructured":"Aho, A.V., Lam, M.S., Sethi, R., and Ullman, J.D., Compilers: Principles, Techniques, and Tools, 2th ed., Boston: Addison-Wesley, 2006, ch. 6, pp. 563\u2013565."},{"key":"3599_CR115","unstructured":"Stewart, J. and Dedhia, V., ROP compiler. \nhttps:\/\/css.csail.mit.edu\/6.858\/2015\/projects\/ je25365-ve25411.pdf."},{"key":"3599_CR116","doi-asserted-by":"crossref","unstructured":"Mortimer, T., Removing ROP gadgets from OpenBSD, Proc. AsiaBSDCon 2018 Conf., Bucharest, 2019, pp. 13\u201321. \nhttps:\/\/2019.asiabsdcon.org\/proc-body-2019.pdf# page=13.","DOI":"10.25263\/asiabsdcon2019\/p01b"}],"container-title":["Programming and Computer Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768821040071.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1134\/S0361768821040071","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1134\/S0361768821040071.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T02:47:33Z","timestamp":1775011653000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1134\/S0361768821040071"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,7]]},"references-count":116,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,7]]}},"alternative-id":["3599"],"URL":"https:\/\/doi.org\/10.1134\/s0361768821040071","relation":{},"ISSN":["0361-7688","1608-3261"],"issn-type":[{"value":"0361-7688","type":"print"},{"value":"1608-3261","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,7]]},"assertion":[{"value":"11 November 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 December 2020","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 December 2020","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 July 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}