{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,27]],"date-time":"2026-06-27T13:19:12Z","timestamp":1782566352495,"version":"3.54.5"},"reference-count":55,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2020,3,18]],"date-time":"2020-03-18T00:00:00Z","timestamp":1584489600000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,3,18]],"date-time":"2020-03-18T00:00:00Z","timestamp":1584489600000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100003132","name":"Agentschap voor Innovatie door Wetenschap en Technologie","doi-asserted-by":"publisher","award":["141758"],"award-info":[{"award-number":["141758"]}],"id":[{"id":"10.13039\/501100003132","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100011273","name":"FP7 Information and Communication Technologies","doi-asserted-by":"publisher","award":["609734"],"award-info":[{"award-number":["609734"]}],"id":[{"id":"10.13039\/100011273","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int. J. Inf. Secur."],"published-print":{"date-parts":[[2021,2]]},"DOI":"10.1007\/s10207-020-00494-8","type":"journal-article","created":{"date-parts":[[2020,3,18]],"date-time":"2020-03-18T19:02:52Z","timestamp":1584558172000},"page":"73-101","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["Obfuscated integration of software protections"],"prefix":"10.1007","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8373-2949","authenticated-orcid":false,"given":"Jens","family":"Van den Broeck","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bart","family":"Coppens","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bjorn","family":"De Sutter","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,3,18]]},"reference":[{"issue":"1","key":"494_CR1","doi-asserted-by":"publisher","first-page":"240","DOI":"10.1007\/s10664-018-9625-6","volume":"24","author":"M Ceccato","year":"2019","unstructured":"Ceccato, M., Tonella, P., Basile, C., Falcarin, P., Torchiano, M., Coppens, B., De Sutter, B.: Understanding the behaviour of hackers while performing attack tasks in a professional setting and in a public challenge. Empir. Softw. Eng. 24(1), 240\u2013286 (2019)","journal-title":"Empir. Softw. Eng."},{"key":"494_CR2","doi-asserted-by":"crossref","unstructured":"Cabutto, A., Falcarin, P., Abrath, B., Coppens, B., De\u00a0Sutter, B.: Software protection with code mobility. In: Proceedings of the 2nd ACM Workshop on Moving Target Defense, pp. 95\u2013103 (2015)","DOI":"10.1145\/2808475.2808481"},{"key":"494_CR3","doi-asserted-by":"crossref","unstructured":"Ceccato, M., Dalla\u00a0Preda, M., Nagra, J., Collberg, C., Tonella, P.: Barrier slicing for remote software trusting. In: 7th IEEE International Working Conference on Source Code Analysis and Manipulation, pp. 27\u201336 (2007)","DOI":"10.1109\/SCAM.2007.27"},{"key":"494_CR4","doi-asserted-by":"crossref","unstructured":"Viticchi\u00e9, A., Basile, C., Avancini, A., Ceccato, M., Abrath, B., Coppens, B.: Reactive attestation: Automatic detection and reaction to software tampering attacks. In: Proceedings of the 2016 ACM Workshop on Software PROtection, pp. 73\u201384 (2016)","DOI":"10.1145\/2995306.2995315"},{"key":"494_CR5","doi-asserted-by":"crossref","unstructured":"Abrath, B., Coppens, B., Volckaert, S., Wijnant, J., De\u00a0Sutter, B.: Tightly-coupled self-debugging software protection. In: Proceedings of the 6th Workshop on Software Security, Protection, and Reverse Engineering, p.\u00a07 (2016)","DOI":"10.1145\/3015135.3015142"},{"key":"494_CR6","doi-asserted-by":"crossref","unstructured":"Ghosh, S., Hiser, J.D., Davidson, J.W.: A secure and robust approach to software tamper resistance. In: Proceedings of the International Workshop on Information Hiding, pp. 33\u201347 (2010)","DOI":"10.1007\/978-3-642-16435-4_3"},{"key":"494_CR7","volume-title":"Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection","author":"J Nagra","year":"2009","unstructured":"Nagra, J., Collberg, C.: Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection. Pearson Education, London (2009)"},{"key":"494_CR8","doi-asserted-by":"publisher","unstructured":"Wang, Y.: Cognitive complexity of software and its measurement. In: 2006 5th IEEE International Conference on Cognitive Informatics, vol.\u00a01, pp. 226\u2013235 (2006). https:\/\/doi.org\/10.1109\/COGINF.2006.365701","DOI":"10.1109\/COGINF.2006.365701"},{"issue":"1","key":"494_CR9","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1109\/TSE.1979.226497","volume":"5","author":"MR Woodward","year":"1979","unstructured":"Woodward, M.R., Hennell, M.A., Hedley, D.: A measure of control flow complexity in program text. IEEE Trans. Softw. Eng. 5(1), 45\u201350 (1979)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"494_CR10","doi-asserted-by":"crossref","unstructured":"Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, pp. 290\u2013299 (2003)","DOI":"10.1145\/948109.948149"},{"key":"494_CR11","unstructured":"Van\u00a0Put, L., Chanet, D., De\u00a0Bus, B., De\u00a0Sutter, B., De\u00a0Bosschere, K.: Diablo: a reliable, retargetable and extensible link-time rewriting framework. In: Proceedings of the 5th IEEE International Symposium on Signal Processing and Information Technology, 2005, pp. 7\u201312 (2005)"},{"issue":"2","key":"494_CR12","doi-asserted-by":"publisher","first-page":"378","DOI":"10.1145\/349214.349233","volume":"22","author":"SK Debray","year":"2000","unstructured":"Debray, S.K., Evans, W., Muth, R., De Sutter, B.: Compiler techniques for code compaction. ACM Trans. Program. Lang. Syst. (TOPLAS) 22(2), 378\u2013415 (2000)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"494_CR13","volume-title":"Advanced Compiler Design Implementation","author":"S Muchnick","year":"1997","unstructured":"Muchnick, S., et al.: Advanced Compiler Design Implementation. Morgan Kaufmann, Burlington (1997)"},{"issue":"4","key":"494_CR14","first-page":"24","volume":"9","author":"B Coppens","year":"2013","unstructured":"Coppens, B., De Sutter, B., Maebe, J.: Feedback-driven binary code diversification. ACM Trans. Arch. Code Optim. (TACO) 9(4), 24 (2013)","journal-title":"ACM Trans. Arch. Code Optim. (TACO)"},{"key":"494_CR15","doi-asserted-by":"crossref","unstructured":"Kil, C., Jun, J., Bookholt, C., Xu, J., Ning, P.: Address space layout permutation (ASLP): towards fine-grained randomization of commodity software. In: Proceedings of 22nd Annual Computer Security Applications Conference, pp. 339\u2013348 (2006)","DOI":"10.1109\/ACSAC.2006.9"},{"key":"494_CR16","doi-asserted-by":"crossref","unstructured":"Meng, X., Miller, B.P.: Binary code is not easy. In: Proceedings of the 25th International Symposium on Software Testing and Analysis, pp. 24\u201335 (2016)","DOI":"10.1145\/2931037.2931047"},{"key":"494_CR17","doi-asserted-by":"crossref","unstructured":"Ngo, M.N., Tan, H.B.K.: Detecting large number of infeasible paths through recognizing their patterns. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 215\u2013224 (2007)","DOI":"10.1145\/1287624.1287655"},{"key":"494_CR18","doi-asserted-by":"crossref","unstructured":"Dalla\u00a0Preda, M., Madou, M., De\u00a0Bosschere, K., Giacobazzi, R.: Opaque predicates detection by abstract interpretation. In: International Conference on Algebraic Methodology and Software Technology, pp. 81\u201395 (2006)","DOI":"10.1007\/11784180_9"},{"key":"494_CR19","doi-asserted-by":"crossref","unstructured":"Yadegari, B., Debray, S.: Symbolic execution of obfuscated code. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pp. 732\u2013744 (2015)","DOI":"10.1145\/2810103.2813663"},{"key":"494_CR20","doi-asserted-by":"crossref","unstructured":"Yadegari, B., Johannesmeyer, B., Whitely, B., Debray, S.: A generic approach to automatic deobfuscation of executable code. In: IEEE Symposium on Security and Privacy, pp. 674\u2013691 (2015)","DOI":"10.1109\/SP.2015.47"},{"key":"494_CR21","unstructured":"Blazytko, T., Contag, M., Aschermann, C., Holz, T.: Syntia: Synthesizing the semantics of obfuscated code. In: Proceedings of the 26th USENIX Conference on Security Symposium, pp. 643\u2013659 (2017)"},{"key":"494_CR22","unstructured":"Madou, M.: Application security through program bfuscation. Phd thesis, Ghent University (2007)"},{"key":"494_CR23","doi-asserted-by":"crossref","unstructured":"Collberg, C.S., Thomborson, C.D., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: POPL (1998)","DOI":"10.1145\/268946.268962"},{"issue":"2","key":"494_CR24","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1145\/103135.103136","volume":"13","author":"MN Wegman","year":"1991","unstructured":"Wegman, M.N., Zadeck, F.K.: Constant propagation with conditional branches. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(2), 181\u2013210 (1991)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"494_CR25","unstructured":"Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs. Technical Report, Technical Report CS-2000-12, University of Virginia (2000)"},{"key":"494_CR26","unstructured":"Debray, S., Evans, W., Muth, R.: Compiler techniques for code compression. In: Workshop on Compiler Support for System Software, pp. 117\u2013123 (1999)"},{"key":"494_CR27","doi-asserted-by":"publisher","first-page":"275","DOI":"10.1145\/583854.582445","volume":"37","author":"B De Sutter","year":"2002","unstructured":"De Sutter, B., De Bus, B., De Bosschere, K.: Sifting out the mud: low level C++ code reuse. ACM SIGPLAN Not. 37, 275\u2013291 (2002)","journal-title":"ACM SIGPLAN Not."},{"key":"494_CR28","unstructured":"\/OPT (Optimizations)\u2014Microsoft Docs (2018). https:\/\/docs.microsoft.com\/en-us\/cpp\/build\/reference\/opt-optimizations?view=vs-2019. Accessed 17 Apr 2019"},{"key":"494_CR29","doi-asserted-by":"crossref","unstructured":"De\u00a0Sutter, B., De\u00a0Bus, B., De\u00a0Bosschere, K.: Sifting out the mud: low level C++ code reuse. In: Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), vol.\u00a037, pp. 275\u2013291 (2002)","DOI":"10.1145\/583854.582445"},{"issue":"5","key":"494_CR30","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1145\/2666357.2597811","volume":"49","author":"TJ Edler\u00a0von Koch","year":"2014","unstructured":"Edler\u00a0von Koch, T.J., Franke, B., Bhandarkar, P., Dasgupta, A.: Exploiting function similarity for code size reduction. ACM SIGPLAN Not. 49(5), 85\u201394 (2014)","journal-title":"ACM SIGPLAN Not."},{"key":"494_CR31","doi-asserted-by":"crossref","unstructured":"Rocha, R.C., Petoumenos, P., Wang, Z., Cole, M., Leather, H.: Function merging by sequence alignment. In: Proceedings of the 2019 IEEE\/ACM International Symposium on Code Generation and Optimization, pp. 149\u2013163 (2019)","DOI":"10.1109\/CGO.2019.8661174"},{"issue":"3","key":"494_CR32","first-page":"121","volume":"3","author":"F Tip","year":"1995","unstructured":"Tip, F.: A survey of program slicing techniques. J. Program. Lang. 3(3), 121\u2013189 (1995)","journal-title":"J. Program. Lang."},{"issue":"10","key":"494_CR33","doi-asserted-by":"publisher","first-page":"535","DOI":"10.1016\/j.sysarc.2006.03.001","volume":"52","author":"B De Sutter","year":"2006","unstructured":"De Sutter, B., De Bus, B., De Bosschere, K.: Bidirectional liveness analysis, or how less than half of the alpha\u2019s registers are used. J. Syst. Arch. 52(10), 535\u2013548 (2006)","journal-title":"J. Syst. Arch."},{"issue":"2","key":"494_CR34","doi-asserted-by":"publisher","first-page":"378","DOI":"10.1145\/349214.349233","volume":"22","author":"SK Debray","year":"2000","unstructured":"Debray, S.K., Evans, W., Muth, R., De Sutter, B.: Compiler techniques for code compaction. ACM Trans. Program. Lang. Syst. 22(2), 378\u2013415 (2000)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"494_CR35","doi-asserted-by":"crossref","unstructured":"Debray, S., Muth, R., Weippert, M.: Alias analysis of executable code. In: Proceedings of ACM POPL, pp. 12\u201324 (1998)","DOI":"10.1145\/268946.268948"},{"key":"494_CR36","unstructured":"Basile, C.: D5.11 ASPIRE framework report. Techreport, POLITO (2016). https:\/\/aspire-fp7.eu\/sites\/default\/files\/D5.11-ASPIRE-Framework-Report.pdf. Accessed 17 Sept 2018"},{"key":"494_CR37","doi-asserted-by":"crossref","unstructured":"Banescu, S., Collberg, C., Ganesh, V., Newsham, Z., Pretschner, A.: Code obfuscation against symbolic execution attacks. In: Proceedings of the 32nd Annual Conference on Computer Security Applications, pp. 189\u2013200 (2016)","DOI":"10.1145\/2991079.2991114"},{"key":"494_CR38","unstructured":"Standard Performance\u00a0Evaluation Corporation: SPEC CPU 2006 (2018). https:\/\/www.spec.org\/cpu2006\/"},{"key":"494_CR39","unstructured":"Home\u2014Aspire-FP7 (2018). https:\/\/aspire-fp7.eu\/"},{"key":"494_CR40","unstructured":"De\u00a0Sutter, B.: D1.06 ASPIRE validation. Techreport, Ghent University (2016). https:\/\/aspire-fp7.eu\/sites\/default\/files\/D1.06-ASPIRE-Validation-v1.01.pdf. Accessed 6 May 2019"},{"key":"494_CR41","unstructured":"Van\u00a0den Broeck, J., Coppens, B., De\u00a0Sutter, B.: Extended report on the obfuscated integration of software protections (2019). arXiv:1907.01445"},{"key":"494_CR42","unstructured":"Li\u0161ka, M.: Optimizing large applications (2014). arXiv preprint arXiv:1403.6997"},{"key":"494_CR43","unstructured":"mliska: [PATCH 3\/5] IPA ICF pass (2014). https:\/\/gcc.gnu.org\/ml\/gcc-patches\/2014-06\/msg01246.html. Accessed 17 Apr 2019"},{"key":"494_CR44","unstructured":"Tallam, S., Coutant, C., Taylor, I.L., Li, X.D., Demetriou, C.: Safe ICF: pointer safe and unwinding aware identical code folding in gold. In: GCC Developers Summit (2010)"},{"key":"494_CR45","unstructured":"Ueyama, R.: Elf: implement ICF (2016). https:\/\/reviews.llvm.org\/rL261912. Accessed 17 Apr 2019"},{"issue":"1","key":"494_CR46","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1145\/2886012","volume":"49","author":"S Schrittwieser","year":"2016","unstructured":"Schrittwieser, S., Katzenbeisser, S., Kinder, J., Merzdovnik, G., Weippl, E.: Protecting software through obfuscation: can it keep pace with progress in code analysis? ACM Comput. Surv. (CSUR) 49(1), 4 (2016)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"494_CR47","unstructured":"Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report. Department of Computer Science, The University of Auckland, New Zealand (1997)"},{"issue":"2","key":"494_CR48","doi-asserted-by":"publisher","first-page":"155","DOI":"10.1007\/s10660-006-6955-z","volume":"6","author":"G Myles","year":"2006","unstructured":"Myles, G., Collberg, C.: Software watermarking via opaque predicates: implementation, analysis, and attacks. Electron. Commer. Res. 6(2), 155\u2013171 (2006)","journal-title":"Electron. Commer. Res."},{"key":"494_CR49","unstructured":"Majumdar, A., Thomborson, C.: Manufacturing opaque predicates in distributed systems for code obfuscation. In: Proceedings of the 29th Australasian Computer Science Conference, vol. 48, pp. 187\u2013196 (2006)"},{"key":"494_CR50","doi-asserted-by":"publisher","unstructured":"Xu, H., Zhou, Y., Kang, Y., Tu, F., Lyu, M.: Manufacturing resilient bi-opaque predicates against symbolic execution. In: 2018 48th Annual IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN), pp. 666\u2013677 (2018). https:\/\/doi.org\/10.1109\/DSN.2018.00073","DOI":"10.1109\/DSN.2018.00073"},{"key":"494_CR51","first-page":"787","volume":"2017","author":"L Zobernig","year":"2017","unstructured":"Zobernig, L., Galbraith, S.D., Russello, G.: Indistinguishable predicates: a new tool for obfuscation. IACR Cryptol. ePrint Arch. 2017, 787 (2017)","journal-title":"IACR Cryptol. ePrint Arch."},{"key":"494_CR52","doi-asserted-by":"crossref","unstructured":"Zobernig, L., Galbraith, S.D., Russello, G.: When are opaque predicates useful? In: 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications\/13th IEEE International Conference On Big Data Science And Engineering (TrustCom\/BigDataSE), pp. 168\u2013175. IEEE (2019)","DOI":"10.1109\/TrustCom\/BigDataSE.2019.00031"},{"key":"494_CR53","unstructured":"Asghar, M.R., Galbraith, S.D., Russello, G.: Obfuscation through simplicity (2016). https:\/\/www.math.auckland.ac.nz\/~sgal018\/simplicity.pdf. Accessed 24 June 2019"},{"key":"494_CR54","unstructured":"Collberg, C., Martin, S., Myers, J., Zimmerman, B.: The tigress diversifying c virtualizer (2015). http:\/\/tigress.cs.arizona.edu\/. Accessed 17 Apr 2019"},{"key":"494_CR55","doi-asserted-by":"publisher","unstructured":"Junod, P., Rinaldini, J., Wehrli, J., Michielin, J.: Obfuscator-LLVM\u2014software protection for the masses. In: Wyseur, B. (ed.) Proceedings of the IEEE\/ACM 1st International Workshop on Software Protection, SPRO\u201915, Firenze, Italy, May 19th, 2015, pp. 3\u20139. IEEE (2015). https:\/\/doi.org\/10.1109\/SPRO.2015.10","DOI":"10.1109\/SPRO.2015.10"}],"container-title":["International Journal of Information Security"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10207-020-00494-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10207-020-00494-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10207-020-00494-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,3,18]],"date-time":"2021-03-18T00:13:17Z","timestamp":1616026397000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10207-020-00494-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,3,18]]},"references-count":55,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2021,2]]}},"alternative-id":["494"],"URL":"https:\/\/doi.org\/10.1007\/s10207-020-00494-8","relation":{},"ISSN":["1615-5262","1615-5270"],"issn-type":[{"value":"1615-5262","type":"print"},{"value":"1615-5270","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,3,18]]},"assertion":[{"value":"18 March 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Compliance with ethical standards"}},{"value":"The authors declare that they have no conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"This article does not contain any studies with human participants or animals performed by any of the authors.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical approval"}}]}}