{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T10:54:42Z","timestamp":1770288882146,"version":"3.49.0"},"reference-count":68,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2022,1,21]],"date-time":"2022-01-21T00:00:00Z","timestamp":1642723200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,1,21]],"date-time":"2022-01-21T00:00:00Z","timestamp":1642723200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int J Softw Tools Technol Transfer"],"published-print":{"date-parts":[[2022,4]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Binary rewriting consists in disassembling a program to modify its instructions. However, existing solutions suffer from shortcomings in terms of soundness and performance. We present <jats:italic>SaBRe<\/jats:italic>, a load-time system for selective binary rewriting. <jats:italic>SaBRe<\/jats:italic> rewrites specific constructs\u2014particularly system calls and functions\u2014when the program is loaded into memory, and intercepts them using plugins through a simple API. We also discuss the theoretical underpinnings of disassembling and rewriting. We developed two backends\u2014for  and \u2014which were used to implement three plugins: a fast system call tracer, a multi-version executor, and a fault injector. Our evaluation shows that <jats:italic>SaBRe<\/jats:italic> imposes little overhead, typically below 3%.\n<\/jats:p>","DOI":"10.1007\/s10009-021-00644-w","type":"journal-article","created":{"date-parts":[[2022,1,21]],"date-time":"2022-01-21T10:03:06Z","timestamp":1642759386000},"page":"205-223","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":16,"title":["SaBRe: load-time selective binary rewriting"],"prefix":"10.1007","volume":"24","author":[{"given":"Paul-Antoine","family":"Arras","sequence":"first","affiliation":[]},{"given":"Anastasios","family":"Andronidis","sequence":"additional","affiliation":[]},{"given":"Lu\u00eds","family":"Pina","sequence":"additional","affiliation":[]},{"given":"Karolis","family":"Mituzas","sequence":"additional","affiliation":[]},{"given":"Qianyi","family":"Shu","sequence":"additional","affiliation":[]},{"given":"Daniel","family":"Grumberg","sequence":"additional","affiliation":[]},{"given":"Cristian","family":"Cadar","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,1,21]]},"reference":[{"key":"644_CR1","unstructured":"Andriesse, D., Chen, X., Van Der\u00a0Veen, V., Slowinska, A., Bos, H.: An in-depth analysis of disassembly on full-scale x86\/x64 binaries. In: Proceedings of the 29th USENIX Security Symposium (USENIX Security\u201916) (2016)"},{"key":"644_CR2","unstructured":"Arm Ltd: Conditional execution in Thumb state. https:\/\/developer.arm.com\/documentation\/dui0473\/m\/condition-codes\/conditional-execution-in-thumb-state"},{"key":"644_CR3","doi-asserted-by":"crossref","unstructured":"Bansal, S., Aiken, A.: Automatic generation of peephole superoptimizers. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201906) (2006)","DOI":"10.1145\/1168857.1168906"},{"key":"644_CR4","doi-asserted-by":"crossref","unstructured":"Bauman, E., Lin, Z., Hamlen, K.: Superset disassembly: statically rewriting x86 binaries without heuristics. In: Proceedings of the 25th Network and Distributed System Security Symposium (NDSS\u201918) (2018)","DOI":"10.14722\/ndss.2018.23300"},{"key":"644_CR5","doi-asserted-by":"crossref","unstructured":"Bernat, A.R., Miller, B.P.: Anywhere, any-time binary instrumentation. In: Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE\u201911) (2011)","DOI":"10.1145\/2024569.2024572"},{"key":"644_CR6","doi-asserted-by":"crossref","unstructured":"Bruening, D., Zhao, Q., Amarasinghe, S.: Transparent dynamic instrumentation. In: Proceedings of the 8th International Conference on Virtual Execution Environments (VEE\u201912) (2012)","DOI":"10.1145\/2151024.2151043"},{"issue":"4","key":"644_CR7","doi-asserted-by":"publisher","first-page":"317","DOI":"10.1177\/109434200001400404","volume":"14","author":"B Buck","year":"2000","unstructured":"Buck, B., Hollingsworth, J.K.: An API for runtime code patching. Int. J. High Perform. Comput. Appl. 14(4), 317\u2013329 (2000)","journal-title":"Int. J. High Perform. Comput. Appl."},{"key":"644_CR8","unstructured":"Busybox. https:\/\/busybox.net\/"},{"key":"644_CR9","first-page":"1","volume":"2","author":"S Card","year":"1986","unstructured":"Card, S., Moran, T., Newell, A.: The model human processor: an engineering model for human performance. Handb. Percept. Hum. Perform. 2, 1\u201335 (1986)","journal-title":"Handb. Percept. Hum. Perform."},{"key":"644_CR10","unstructured":"Chaignon, P.: Introducing strace\u2014seccomp-bpf. https:\/\/pchaigno.github.io\/strace\/2019\/10\/02\/introducing-strace-seccomp-bpf.html (2019)"},{"issue":"6","key":"644_CR11","doi-asserted-by":"publisher","first-page":"320","DOI":"10.1145\/3140587.3062344","volume":"52","author":"B Chamith","year":"2017","unstructured":"Chamith, B., Svensson, B.J., Dalessandro, L., Newton, R.R.: Instruction punning: lightweight instrumentation for x86\u201364. SIGPLAN Not. 52(6), 320\u2013332 (2017)","journal-title":"SIGPLAN Not."},{"key":"644_CR12","unstructured":"Computer Science Department at University of Wisconsin-Madison and Computer Science Department at University of Maryland: Dyninst Programmer\u2019s Guide, Release 10.1. https:\/\/github.com\/dyninst\/dyninst\/blob\/v10.1.0\/dyninstAPI\/doc\/dyninstAPI.pdf (2019)"},{"key":"644_CR13","doi-asserted-by":"crossref","unstructured":"Davi, L.V., Dmitrienko, A., N\u00fcrnberger, S., Sadeghi, A.R.: Gadge me if you can: secure and efficient ad-hoc instruction-level randomization for x86 and ARM. In: Proceedings of the 8th ASIAN ACM Symposium on Information, Computer and Communications Security (ASIACCS\u201913) (2013)","DOI":"10.1145\/2484313.2484351"},{"issue":"5","key":"644_CR14","doi-asserted-by":"publisher","first-page":"882","DOI":"10.1145\/1086642.1086645","volume":"27","author":"B De Sutter","year":"2005","unstructured":"De Sutter, B., De Bus, B., De Bosschere, K.: Link-time binary rewriting techniques for program compaction. ACM Trans. Program. Lang. Syst. (TOPLAS) 27(5), 882\u2013945 (2005)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"644_CR15","unstructured":"Debray, S., Muth, R., Watterson, S.: Software power optimization via post-link-time binary rewriting. University of Arizona, Tech. rep. (2001)"},{"key":"644_CR16","doi-asserted-by":"crossref","unstructured":"Dinesh, S., Burow, N., Xu, D., Payer, M.: Retrowrite: statically instrumenting COTS binaries for fuzzing and sanitization. In: Proceedings of the IEEE Symposium on Security and Privacy (IEEE S&P\u201920) (2020)","DOI":"10.1109\/SP40000.2020.00009"},{"key":"644_CR17","doi-asserted-by":"crossref","unstructured":"Duck, G.J., Gao, X., Roychoudhury, A.: Binary rewriting without control flow recovery. In: Proceedings of the Conference on Programing Language Design and Implementation (PLDI\u201920) (2020)","DOI":"10.1145\/3385412.3385972"},{"key":"644_CR18","doi-asserted-by":"crossref","unstructured":"ElWazeer, K., Anand, K., Kotha, A., Smithson, M., Barua, R.: Scalable variable and data type detection in a binary rewriter. In: Proceedings of the Conference on Programing Language Design and Implementation (PLDI\u201913) (2013)","DOI":"10.1145\/2491956.2462165"},{"issue":"9","key":"644_CR19","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1109\/2.612246","volume":"30","author":"JA Fisher","year":"1997","unstructured":"Fisher, J.A.: Walk-time techniques: catalyst for architectural change. Computer 30(9), 40\u201342 (1997)","journal-title":"Computer"},{"key":"644_CR20","unstructured":"GNU Coreutils. https:\/\/www.gnu.org\/software\/coreutils\/"},{"key":"644_CR21","unstructured":"Google Seccomp Sandbox for Linux. https:\/\/code.google.com\/archive\/p\/seccompsandbox\/"},{"key":"644_CR22","doi-asserted-by":"crossref","unstructured":"Gorgovan, C., d\u2019Antras, A., Luj\u00e1n, M.: MAMBO: a low-overhead dynamic binary modification tool for ARM. ACM Trans. Archit. Code Optim. (TACO) 13(1), 1\u201326 (2016)","DOI":"10.1145\/2896451"},{"key":"644_CR23","volume-title":"Computer Architecture: A Quantitative Approach","author":"JL Hennessy","year":"2011","unstructured":"Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 5th edn. Morgan Kaufmann, Burlington (2011)","edition":"5"},{"issue":"3","key":"644_CR24","doi-asserted-by":"publisher","first-page":"223","DOI":"10.1093\/comjnl\/23.3.223","volume":"23","author":"RN Horspool","year":"1980","unstructured":"Horspool, R.N., Marovac, N.: An approach to the problem of detranslation of computer programs. Comput. J. 23(3), 223\u2013229 (1980)","journal-title":"Comput. J."},{"key":"644_CR25","doi-asserted-by":"crossref","unstructured":"Hosek, P., Cadar, C.: Safe software updates via multi-version execution. In: Proceedings of the 35th International Conference on Software Engineering (ICSE\u201913) (2013)","DOI":"10.1109\/ICSE.2013.6606607"},{"key":"644_CR26","doi-asserted-by":"crossref","unstructured":"Hosek, P., Cadar, C.: Varan the unbelievable: an efficient N-version execution framework. In: Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201915) (2015)","DOI":"10.1145\/2694344.2694390"},{"key":"644_CR27","unstructured":"Hunt, G., Brubacher, D.: Detours: binary interception of Win32 functions. In: Proceedings of the 3rd USENIX Windows NT Symposium (USENIX NT\u201999) (1999)"},{"key":"644_CR28","unstructured":"Intel Corporation: Intel 64 and IA-32 Architectures Software Developer\u2019s Manual. https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/articles\/technical\/intel-sdm.html (2021)"},{"key":"644_CR29","doi-asserted-by":"crossref","unstructured":"Kim, T., Kim, C.H., Choi, H., Kwon, Y., Saltaformaggio, B., Zhang, X., Xu, D.: RevARM: a platform-agnostic arm binary rewriter for security applications. In: Proceedings of the 33rd Annual Computer Security Applications Conference (ACSAC\u201917) (2017)","DOI":"10.1145\/3134600.3134627"},{"key":"644_CR30","doi-asserted-by":"crossref","unstructured":"Koning, K., Bos, H., Giuffrida, C.: Secure and efficient multi-variant execution using hardware-assisted process virtualization. In: Proceedings of the 2016 International Conference on Dependable Systems and Networks (DSN\u201916) (2016)","DOI":"10.1109\/DSN.2016.46"},{"key":"644_CR31","unstructured":"Kruegel, C., Robertson, W., Valeur, F., Vigna, G.: Static disassembly of obfuscated binaries. In: Proceedings of the 13th USENIX Security Symposium (USENIX Security\u201904) (2004)"},{"key":"644_CR32","doi-asserted-by":"crossref","unstructured":"Laurenzano, M.A., Tikir, M.M., Carrington, L., Snavely, A.: PEBIL: efficient static binary instrumentation for Linux. In: Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2010) (2010)","DOI":"10.1109\/ISPASS.2010.5452024"},{"key":"644_CR33","doi-asserted-by":"crossref","unstructured":"LeDoux, C., Sharkey, M., Primeaux, B., Miles, C.: Instruction embedding for improved obfuscation. In: Proceedings of the 50th Annual Southeast Regional Conference (ACM-SE\u201912) (2012)","DOI":"10.1145\/2184512.2184543"},{"issue":"2","key":"644_CR34","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/1071604.1071605","volume":"2","author":"T Li","year":"2005","unstructured":"Li, T., Bhargava, R., John, L.K.: Adapting branch-target buffer to improve the target predictability of Java code. ACM Trans. Archit. Code Optim. (TACO) 2(2), 109\u2013130 (2005)","journal-title":"ACM Trans. Archit. Code Optim. (TACO)"},{"key":"644_CR35","unstructured":"Lighttpd. http:\/\/www.lighttpd.net\/"},{"key":"644_CR36","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 (CCS\u201903) (2003)","DOI":"10.1145\/948109.948149"},{"key":"644_CR37","unstructured":"Lu, J., Chen, H., Fu, R., Hsu, W.C., Othmer, B., Yew, P.C., Chen, D.Y.: The performance of runtime data cache prefetching in a dynamic optimization system. In: Proceedings of the 36th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO\u201903) (2003)"},{"key":"644_CR38","unstructured":"Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: PIN: building customized program analysis tools with dynamic instrumentation. In: Proceedings of the Conference on Programing Language Design and Implementation (PLDI\u201905) (2005)"},{"key":"644_CR39","doi-asserted-by":"crossref","unstructured":"Majlesi-Kupaei, A., Kim, D., Anand, K., ElWazeer, K., Barua, R.: RL-bin, robust low-overhead binary rewriter. In: Proceedings of the 2nd Workshop on Forming an Ecosystem Around Software Transformation (FEAST 2017) (2017)","DOI":"10.1145\/3141235.3141245"},{"key":"644_CR40","unstructured":"Matz, M., Hubi\u010dka, J., Jaeger, A., Mitchell, M., Lu, H., Girkar, M.: System V Application Binary Interface AMD64 Architecture Processor Supplement (With LP64 and ILP32 Programming Models) (2018)"},{"key":"644_CR41","unstructured":"Memcached. http:\/\/memcached.org\/"},{"key":"644_CR42","unstructured":"memtier_benchmark. https:\/\/github.com\/RedisLabs\/memtier_benchmark"},{"key":"644_CR43","unstructured":"Nanda, S., Li, W., Lam, L.C., Chiueh, T.C.: BIRD: binary interpretation using runtime disassembly. In: Proceedings of the 4th International Symposium on Code Generation and Optimization (CGO\u201906) (2006)"},{"key":"644_CR44","unstructured":"Nginx. https:\/\/nginx.org\/"},{"key":"644_CR45","unstructured":"Nylander, E.: Improved code obfuscation through automatic construction of hidden execution paths. Master\u2019s thesis, Lund University (2014)"},{"key":"644_CR46","doi-asserted-by":"crossref","unstructured":"O\u2019sullivan, P., Anand, K., Kotha, A., Smithson, M., Barua, R., Keromytis, A.D.: Retrofitting security in COTS software with binary rewriting. In: Proceedings of the IFIP International Information Security Conference (SEC\u201911) (2011)","DOI":"10.1007\/978-3-642-21424-0_13"},{"key":"644_CR47","unstructured":"Pina, L., Andronidis, A., Cadar, C.: FreeDA: incompatible stock dynamic analyses in production. In: Proceedings of the 2018 ACM International Conference on Computing Frontiers (CF\u201918) (2018)"},{"key":"644_CR48","doi-asserted-by":"crossref","unstructured":"Pina, L., Andronidis, A., Hicks, M., Cadar, C.: MVEDSUA: higher availability dynamic software updates via multi-version execution. In: Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201919) (2019)","DOI":"10.1145\/3297858.3304063"},{"key":"644_CR49","unstructured":"Prasad, M., Chiueh, T.: A binary rewriting defense against stack based buffer overflow attacks. In: Proceedings of the 2003 USENIX Annual Technical Conference (USENIX ATC\u201903) (2003)"},{"key":"644_CR50","unstructured":"Redis. https:\/\/redis.io\/"},{"key":"644_CR51","doi-asserted-by":"crossref","unstructured":"Salamat, B., Jackson, T., Gal, A., Franz, M.: Orchestra: intrusion detection using parallel execution and monitoring of program variants in user-space. In: Proceedings of the 4th European Conference on Computer Systems (EuroSys\u201909) (2009)","DOI":"10.1145\/1519065.1519071"},{"key":"644_CR52","unstructured":"Schwarz, B., Debray, S., Andrews, G.: Disassembly of executable code revisited. In: Proceedings of the 9th Working Conference on Reverse Engineering (WCRE\u201902) (2013)"},{"key":"644_CR53","unstructured":"Schwarz, B., Debray, S., Andrews, G., Legendre, M.: PLTO: a link-time optimizer for the Intel IA-32 architecture. In: Proceedings of the 2001 Workshop on Binary Translation (WBT-2001) (2001)"},{"issue":"2","key":"644_CR54","first-page":"18","volume":"11","author":"BY Shen","year":"2014","unstructured":"Shen, B.Y., Hsu, W.C., Yang, W.: A retargetable static binary translator for the ARM architecture. ACM Trans. Archit. Code Optim. (TACO) 11(2), 18 (2014)","journal-title":"ACM Trans. Archit. Code Optim. (TACO)"},{"key":"644_CR55","volume-title":"Virtual Machines: Versatile Platforms for Systems and Processes","author":"J Smith","year":"2005","unstructured":"Smith, J., Nair, R.: Virtual Machines: Versatile Platforms for Systems and Processes. Elsevier, Amsterdam (2005)"},{"key":"644_CR56","doi-asserted-by":"crossref","unstructured":"Smithson, M., ElWazeer, K., Anand, K., Kotha, A., Barua, R.: Static binary rewriting without supplemental information: overcoming the tradeoff between coverage and correctness. In: Proceedings of the 20th Working Conference on Reverse Engineering (WCRE\u201913) (2013)","DOI":"10.1109\/WCRE.2013.6671280"},{"key":"644_CR57","doi-asserted-by":"crossref","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 (ISSPIT\u201905) (2005)","DOI":"10.1109\/ISSPIT.2005.1577061"},{"key":"644_CR58","unstructured":"Volckaert, S., Coppens, B., Voulimeneas, A., Homescu, A., Larsen, P., Sutter, B.D., Franz, M.: Secure and efficient application monitoring and replication. In: Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC\u201916) (2016)"},{"key":"644_CR59","doi-asserted-by":"crossref","unstructured":"Wall, D.W.: Global register allocation at link time. In: Proceedings of the 1986 SIGPLAN Symposium on Compiler Construction (SIGPLAN\u201986) (1986)","DOI":"10.1145\/12276.13338"},{"key":"644_CR60","doi-asserted-by":"crossref","unstructured":"Wang, R., Shoshitaishvili, Y., Bianchi, A., Machiry, A., Grosen, J., Grosen, P., Kruegel, C., Vigna, G.: Ramblr: making reassembly great again. In: Proceedings of the 24th Network and Distributed System Security Symposium (NDSS\u201917) (2017)","DOI":"10.14722\/ndss.2017.23225"},{"key":"644_CR61","doi-asserted-by":"crossref","unstructured":"Wang, S., Wang, P., Wu, D.: UROBOROS: instrumenting stripped binaries with static reassembling. In: Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201916) (2016)","DOI":"10.1109\/SANER.2016.106"},{"key":"644_CR62","doi-asserted-by":"crossref","unstructured":"Wartell, R., Mohan, V., Hamlen, K.W., Lin, Z.: Binary stirring: self-randomizing instruction addresses of legacy x86 binary code. In: Proceedings of the 19th ACM Conference on Computer and Communications Security (CCS\u201912) (2012)","DOI":"10.1145\/2382196.2382216"},{"issue":"3","key":"644_CR63","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3316415","volume":"52","author":"M Wenzl","year":"2019","unstructured":"Wenzl, M., Merzdovnik, G., Ullrich, J., Weippl, E.: From hack to elaborate technique\u2014a survey on binary rewriting. ACM Comput. Surv. 52(3), 1\u201337 (2019)","journal-title":"ACM Comput. Surv."},{"key":"644_CR64","doi-asserted-by":"crossref","unstructured":"Williams-King, D., Kobayashi, H., Williams-King, K., Patterson, G., Spano, F., Wu, Y.J., Yang, J., Kemerlis, V.P.: Egalito: layout-agnostic binary recompilation. In: Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201920) (2020)","DOI":"10.1145\/3373376.3378470"},{"key":"644_CR65","unstructured":"wrk. https:\/\/github.com\/wg\/wrk"},{"key":"644_CR66","unstructured":"Xu, M., Lu, K., Kim, T., Lee, W.: BUNSHIN: compositing security mechanisms through diversification. In: Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC\u201917) (2017)"},{"key":"644_CR67","doi-asserted-by":"crossref","unstructured":"Yee, B., Sehr, D., Dardyk, G., Chen, J.B., Muth, R., Ormandy, T., Okasaka, S., Narula, N., Fullagar, N.: Native Client: a sandbox for portable, untrusted x86 native code. In: Proceedings of the IEEE Symposium on Security and Privacy (IEEE S&P\u201909) (2009)","DOI":"10.1109\/SP.2009.25"},{"key":"644_CR68","doi-asserted-by":"crossref","unstructured":"Zhao, L., Li, G., Sutter, B.D., Regehr, J.: ARMor: fully verified software fault isolation. In: Proceedings of the 11th International Conference on Embedded Software (EMSOFT\u201911) (2011)","DOI":"10.1145\/2038642.2038687"}],"container-title":["International Journal on Software Tools for Technology Transfer"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-021-00644-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10009-021-00644-w\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-021-00644-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,1]],"date-time":"2022-04-01T14:13:20Z","timestamp":1648822400000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10009-021-00644-w"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,1,21]]},"references-count":68,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,4]]}},"alternative-id":["644"],"URL":"https:\/\/doi.org\/10.1007\/s10009-021-00644-w","relation":{},"ISSN":["1433-2779","1433-2787"],"issn-type":[{"value":"1433-2779","type":"print"},{"value":"1433-2787","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,1,21]]},"assertion":[{"value":"20 December 2021","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 January 2022","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}