{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,3]],"date-time":"2026-07-03T16:26:12Z","timestamp":1783095972231,"version":"3.54.6"},"reference-count":74,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2017,10,13]],"date-time":"2017-10-13T00:00:00Z","timestamp":1507852800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2018,6]]},"DOI":"10.1007\/s10664-017-9551-z","type":"journal-article","created":{"date-parts":[[2017,10,13]],"date-time":"2017-10-13T06:49:04Z","timestamp":1507877344000},"page":"1519-1551","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":28,"title":["Analyzing a decade of Linux system calls"],"prefix":"10.1007","volume":"23","author":[{"given":"Mojtaba","family":"Bagherzadeh","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Nafiseh","family":"Kahani","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0474-5718","authenticated-orcid":false,"given":"Cor-Paul","family":"Bezemer","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ahmed E.","family":"Hassan","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Juergen","family":"Dingel","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"James R.","family":"Cordy","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2017,10,13]]},"reference":[{"issue":"13","key":"9551_CR1","doi-asserted-by":"publisher","first-page":"755","DOI":"10.1016\/S0950-5849(02)00123-4","volume":"44","author":"G Antoniol","year":"2002","unstructured":"Antoniol G, Villano U, Merlo E, Penta MD (2002) Analyzing cloning evolution in the Linux kernel. Inf Softw Technol 44(13):755\u2013765","journal-title":"Inf Softw Technol"},{"key":"9551_CR2","doi-asserted-by":"crossref","unstructured":"Atlidakis V, Andrus J, Geambasu R, Mitropoulos D, Nieh J (2016) Posix abstractions in modern operating systems: The old, the new, and the missing. In: Proceedings of the 11th European conference on computer systems (EuroSys), pp 19:1\u201319:17. ACM","DOI":"10.1145\/2901318.2901350"},{"key":"9551_CR3","unstructured":"Bagherzadeh M, Kahani N, Bezemer C-P, Hassan AE, Dingel J, Cordy JR (2017) Analyzing a decade of Linux system calls: online appendix. https:\/\/github.com\/corpaul\/decade_of_systemcalls . (Last visited: June 19, 2017)"},{"key":"9551_CR4","doi-asserted-by":"crossref","unstructured":"Bogart C, K\u00e4stner C, Herbsleb J, Thung F (2016) How to break an API: Cost negotiation and community values in three software ecosystems. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pp 109\u2013120. ACM","DOI":"10.1145\/2950290.2950325"},{"key":"9551_CR5","unstructured":"Corbet J (2002) A new system call restart mechanism. https:\/\/lwn.net\/Articles\/17744\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR6","unstructured":"Corbet J (2014) The possible demise of remap_file_pages(). https:\/\/lwn.net\/Articles\/597632\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR7","unstructured":"Intel Corporation (2016) Intel 64 and IA-32 Architectures Software Developer\u2019s Manual Volume 2: Instruction Set Reference, A-Z. https:\/\/goo.gl\/1cFOvB . (Last visited: June 19, 2017)"},{"key":"9551_CR8","unstructured":"Davis M (2012) Creating a vDSO: the Colonel\u2019s Other Chicken. http:\/\/www.Linuxjournal.com\/content\/creating-vdso-colonels-other-chicken . (Last visited: June 19, 2017)"},{"key":"9551_CR9","unstructured":"de Melo CA (2009) net: Introduce recvmmsg socket syscall. https:\/\/github.com\/torvalds\/linux\/commit\/a2e2725541 . (Last visited: June 19, 2017)"},{"key":"9551_CR10","unstructured":"Deller H (2013) Correctly wire up mq functions for compat case. https:\/\/github.com\/torvalds\/Linux\/commit\/fee707b45 . (Last visited: June 19, 2017)"},{"key":"9551_CR11","unstructured":"Deller H (2014) Fix epoll pwait syscall on compat kernel. https:\/\/github.com\/torvalds\/Linux\/commit\/ab3e55b11 , (Last visited: June 19, 2017)"},{"key":"9551_CR12","doi-asserted-by":"crossref","unstructured":"Dig D, Johnson R (2005) The role of refactorings in API evolution. In: Proceedings of the 21st International Conference on Software Maintenance (ICSM), pp 389\u2013398. IEEE","DOI":"10.1109\/ICSM.2005.90"},{"issue":"2","key":"9551_CR13","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1002\/smr.328","volume":"18","author":"D Dig","year":"2006","unstructured":"Dig D, Johnson R (2006) How do APIs evolve? a story of refactoring. J Softw Maint Evol Res Pract 18(2):83\u2013107","journal-title":"J Softw Maint Evol Res Pract"},{"key":"9551_CR14","unstructured":"Chase Douglas (2009) Add compat truncate. https:\/\/github.com\/torvalds\/Linux\/commit\/dd90bbd5f . (Last visited: June 19, 2017)"},{"key":"9551_CR15","unstructured":"Drepper U (2005) *at syscalls: Intro. http:\/\/lwn.net\/Articles\/164584\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR16","unstructured":"Drepper U (2006) [PATCH] Implement AT_SYMLINK_FOLLOW flag for linkat. https:\/\/github.com\/torvalds\/Linux\/commit\/45c9b11a1 . (Last visited: June 19, 2017)"},{"key":"9551_CR17","unstructured":"Drysdale D (2015) Documentation: describe how to add a system call. https:\/\/github.com\/torvalds\/Linux\/commit\/4983953d . (Last visited: June 19, 2017)"},{"key":"9551_CR18","unstructured":"Filippov M (2014) Xtensa: deprecate fast_xtensa and fast_spill_registers syscalls. https:\/\/github.com\/torvalds\/Linux\/commit\/9184289 . (Last visited: June 19, 2017)"},{"key":"9551_CR19","unstructured":"Fox J, Weisberg S (2010) Nonparametric regression in R. https:\/\/socserv.socsci.mcmaster.ca\/jfox\/Books\/Companion\/appendix\/Appendix-Nonparametric-Regression.pdf . (Last visited: June 19, 2017)"},{"key":"9551_CR20","unstructured":"Free Software Foundation (2016) The GNU C library. https:\/\/www.gnu.org\/software\/libc\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR21","unstructured":"Gartner (2015) Gartner says tablet sales continue to be slow in 2015. http:\/\/www.gartner.com\/newsroom\/id\/2954317 . (Last visited: June 19, 2017)"},{"key":"9551_CR22","unstructured":"Gillen A, Bozman JS (2013) Running mission-critical workloads on enterprise Linux x86 servers. IDC Whitepaper"},{"key":"9551_CR23","doi-asserted-by":"crossref","unstructured":"Godfrey MW, Tu Q (2000) Evolution in open source software: A case study. In: Proceedings of the International Conference on Software Maintenance (ICSM), pp 131\u2013142. IEEE","DOI":"10.1109\/ICSM.2000.883030"},{"key":"9551_CR24","doi-asserted-by":"crossref","unstructured":"Godfrey MW, Qiang T (2001) Growth, evolution, and structural change in open source software. In: Proceedings of the 4th international workshop on principles of software evolution (IWPSE), pp 103\u2013106. ACM","DOI":"10.1145\/602461.602482"},{"key":"9551_CR25","unstructured":"Google (2017) Syzkaller: Linux syscall fuzzer. https:\/\/github.com\/google\/syzkaller . (Last visited: Apr 18, 2017)"},{"key":"9551_CR26","unstructured":"Han S (2012) Scalable event multiplexing: epoll vs. kqueue. http:\/\/people.eecs.berkeley.edu\/sangjin\/2012\/12\/21\/epoll-vs-kqueue.html . (Last visited: Apr 18, 2017)"},{"key":"9551_CR27","doi-asserted-by":"crossref","unstructured":"Hassan AE (2009) Predicting faults using the complexity of code changes. In: Proceedings of the 31st International Conference on Software Engineering (ICSE), pp 78\u201388. IEEE","DOI":"10.1109\/ICSE.2009.5070510"},{"key":"9551_CR28","unstructured":"Hayward M (2002) LKML: Mike Hayward: Intel P6 vs P7 system call performance. https:\/\/lkml.org\/lkml\/2002\/12\/9\/13 . (Last visited: June 19, 2017)"},{"key":"9551_CR29","doi-asserted-by":"crossref","unstructured":"Henkel J, Diwan A (2005) Catchup!: Capturing and replaying refactorings to support API evolution. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), pp 274\u2013283. ACM","DOI":"10.1145\/1062455.1062512"},{"key":"9551_CR30","doi-asserted-by":"crossref","unstructured":"Hora A, Robbes R, Anquetil N, Etien A, Ducasse S., Valente M T (2015) How do developers react to API evolution? The Pharo ecosystem case. In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME), pp 251\u2013260. IEEE","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"9551_CR31","volume-title":"The pragmatic programmer","author":"A Hunt","year":"2000","unstructured":"Hunt A (2000) The pragmatic programmer. Pearson Education India, London"},{"issue":"3","key":"9551_CR32","doi-asserted-by":"publisher","first-page":"485","DOI":"10.1016\/j.jss.2009.09.042","volume":"83","author":"A Israeli","year":"2010","unstructured":"Israeli A, Feitelson DG (2010) The Linux kernel as a case study in software evolution. J Syst Softw 83(3):485\u2013501","journal-title":"J Syst Softw"},{"key":"9551_CR33","doi-asserted-by":"crossref","unstructured":"Izurieta C, Bieman J (2006) The evolution of FreeBSD and Linux. In: Proceedings of the ACM\/IEEE International Symposium on Empirical Software Engineering (ESEM), pp 204\u2013211. ACM","DOI":"10.1145\/1159733.1159765"},{"key":"9551_CR34","unstructured":"Jones D (2016) Trinity: A Linux system call fuzz tester. https:\/\/codemonkey.org.uk\/projects\/trinity\/ . (Last visited: Apr 18, 2017)"},{"key":"9551_CR35","unstructured":"Kerrisk M (2015a) Linux programmer\u2019s manual: Linux system calls. http:\/\/www.man7.org\/Linux\/man-pages\/man2\/syscalls.2.html . (Last visited: June 19, 2017)"},{"key":"9551_CR36","unstructured":"Kerrisk M (2015b) Linux programmer\u2019s manual: nfsservctl. http:\/\/man7.org\/Linux\/man-pages\/man2\/nfsservctl.2.html . (Last visited: June 19, 2017)"},{"key":"9551_CR37","unstructured":"Kerrisk M (2017) Linux programmer\u2019s manual: writev. http:\/\/www.man7.org\/Linux\/man-pages\/man2\/writev.2.html , (Last visited: June 19, 2017)"},{"issue":"9","key":"9551_CR38","doi-asserted-by":"publisher","first-page":"1060","DOI":"10.1109\/PROC.1980.11805","volume":"68","author":"MM Lehman","year":"1980","unstructured":"Lehman MM (1980) Programs, life cycles, and laws of software evolution. Proc IEEE 68(9):1060\u20131076","journal-title":"Proc IEEE"},{"key":"9551_CR39","doi-asserted-by":"crossref","unstructured":"Li Z, Tan L, Wang X, Shan L, Zhou Y, Zhai C (2006) Have things changed now?: An empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st workshop on architectural and system support for improving software dependability, pages 25\u201333. ACM","DOI":"10.1145\/1181309.1181314"},{"key":"9551_CR40","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez M, Bavota G, Bernal-C\u00e1rdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: A threat to the success of Android apps. In: Proceedings of the 9th joint meeting on foundations of software engineering (ESEC-FSE), pages 477\u2013487, New York, NY, USA. ACM","DOI":"10.1145\/2491411.2491428"},{"key":"9551_CR41","unstructured":"Linux Kernel Documentation (2005) Adding a new system call. https:\/\/www.kernel.org\/doc\/html\/latest\/process\/adding-syscalls.html . (Last visited: June 19, 2017)"},{"key":"9551_CR42","unstructured":"Linux Kernel Documentation (2016) Submitting patches: the essential guide to getting your code into the kernel. https:\/\/www.kernel.org\/doc\/Documentation\/process\/submitting-patches.rst . (Last visited: June 19, 2017)"},{"key":"9551_CR43","doi-asserted-by":"crossref","unstructured":"Livieri S, Higo Y, Matsushita M, Inoue K (2007) Analysis of the Linux kernel evolution using code clone coverage. In: 4th international workshop on mining software repositories (MSR), pp 22\u201322. IEEE","DOI":"10.1109\/MSR.2007.1"},{"key":"9551_CR44","doi-asserted-by":"crossref","unstructured":"Long JD, Feng D, Cliff N (2003) Ordinal analysis of behavioral data. Handproceedings of psychology","DOI":"10.1002\/0471264385.wei0225"},{"key":"9551_CR45","doi-asserted-by":"crossref","unstructured":"Lotufo R, She S, Berger T, Czarnecki K, Wa\u0307sowski A (2010) Evolution of the Linux kernel variability model. In: International Conference on Software Product Lines, pages 136\u2013150. Springer","DOI":"10.1007\/978-3-642-15579-6_10"},{"issue":"1","key":"9551_CR46","doi-asserted-by":"publisher","first-page":"3:1","DOI":"10.1145\/2560012","volume":"10","author":"L Lu","year":"2014","unstructured":"Lu L, Arpaci-Dusseau AC, Arpaci-Dusseau RH, Lu S (2014) A study of Linux file system evolution. Trans Storage 10(1):3:1\u20133:32. ISSN 1553-3077","journal-title":"Trans Storage"},{"issue":"2","key":"9551_CR47","doi-asserted-by":"publisher","first-page":"329","DOI":"10.1145\/1353535.1346323","volume":"42","author":"S Lu","year":"2008","unstructured":"Lu S, Soyeon P, Eunsoo S, Zhou Y (2008) Learning from mistakes: A comprehensive study on real world concurrency bug characteristics. SIGOPS Operating Syst Rev 42(2):329\u2013339","journal-title":"SIGOPS Operating Syst Rev"},{"key":"9551_CR48","volume-title":"Professional Linux kernel architecture","author":"W Mauerer","year":"2010","unstructured":"Mauerer W (2010) Professional Linux kernel architecture. Wiley, New York"},{"key":"9551_CR49","doi-asserted-by":"crossref","unstructured":"McDonnell T, Ray B, Kim M (2013) An empirical study of API stability and adoption in the android ecosystem. In: Proceedings of the International Conference on Software Maintenance (ICSM), pp 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"9551_CR50","unstructured":"McMartin K (2007) Reorder syscalls to match. https:\/\/github.com\/torvalds\/Linux\/commit\/1e67685b1 . (Last visited: June 19, 2017)"},{"key":"9551_CR51","doi-asserted-by":"crossref","unstructured":"Merlo E, Dagenais M, Bachand P, Sormani JS, Gradara S, Antoniol G (2002) Investigating large software system evolution: the Linux kernel. In: Proceedings of the 26th International Computer Software and Applications Conference (COMPSAC), pp 421\u2013426. IEEE","DOI":"10.1109\/CMPSAC.2002.1045038"},{"key":"9551_CR52","unstructured":"National Institute of Standards and Technology (2009) National Vulnerability Database: CVE-2009-0029. https:\/\/web.nvd.nist.gov\/view\/vuln\/detail?vulnId=CVE-2009-0029 . (Last visited: June 19, 2017)"},{"key":"9551_CR53","doi-asserted-by":"crossref","unstructured":"Padioleau Y, Lawall JL, Muller G (2006) Understanding collateral evolution in Linux device drivers. In: ACM SIGOPS Operating Systems Review, volume 40, pp 59\u201371. ACM","DOI":"10.1145\/1218063.1217942"},{"key":"9551_CR54","doi-asserted-by":"crossref","unstructured":"Palix N, Thomas G, Saha S, Calv\u00e8s C, Lawall J, Muller G (2011) Faults in Linux: ten years later. In: ACM SIGPLAN Notices, volume 46, pages 305\u2013318. ACM","DOI":"10.1145\/1961296.1950401"},{"key":"9551_CR55","doi-asserted-by":"crossref","unstructured":"Passos L, Czarnecki K, Wa\u0307sowski A (2012) Towards a catalog of variability evolution patterns: the Linux kernel case. In: Proceedings of the 4th international workshop on feature-oriented software development, pp 62\u201369. ACM","DOI":"10.1145\/2377816.2377825"},{"key":"9551_CR56","doi-asserted-by":"crossref","unstructured":"Perkins JH (2005) Automatically generating refactorings to support API evolution. In: Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on program analysis for software tools and engineering (PASTE), pp 111\u2013114. ACM","DOI":"10.1145\/1108792.1108818"},{"key":"9551_CR57","unstructured":"Pingdom (2012) Linux kernel development by the numbers. http:\/\/royal.pingdom.com\/2012\/04\/16\/Linux-kernel-development-numbers\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR58","doi-asserted-by":"crossref","unstructured":"Robbes R, Lungu M, R\u00f6thlisberger D (2012) How do developers react to API deprecation?: The case of a Smalltalk ecosystem. In: Proceedings of the ACM SIGSOFT 20th international symposium on the foundations of software engineering (FSE), pp 56:1\u201356:11. ACM","DOI":"10.1145\/2393596.2393662"},{"key":"9551_CR59","unstructured":"Romano J, Kromrey JD, Coraggio J, Skowronek J, Devine L (2006) Exploring methods for evaluating group differences on the NSSE and other surveys: Are the t-test and Cohen\u2019s d indices the most appropriate choices. In: Annual meeting of the southern association for institutional research"},{"key":"9551_CR60","doi-asserted-by":"crossref","unstructured":"Sandeep S (2002) Process tracing using ptrace. http:\/\/www.tldp.org\/LDP\/LGNET\/81\/sandeep.html . (Last visited: June 19, 2017)","DOI":"10.1515\/ans-2002-0106"},{"key":"9551_CR61","unstructured":"Skinnemoen H (2008a) Fix sys sync file range call convention. https:\/\/github.com\/torvalds\/Linux\/commit\/73d4393d1 . (Last visited: June 19, 2017)"},{"key":"9551_CR62","unstructured":"Skinnemoen H (2008b) Fix timerfd breakage on avr32. https:\/\/github.com\/torvalds\/Linux\/commit\/46a56c5a0 . (Last visited: June 19, 2017)"},{"key":"9551_CR63","doi-asserted-by":"crossref","unstructured":"Spinellis D (2015) A repository with 44 years of Unix evolution. In: Proceedings of the 12th working conference on mining software repositories (MSR), pages 462\u2013465. IEEE Press","DOI":"10.1109\/MSR.2015.64"},{"key":"9551_CR64","doi-asserted-by":"crossref","unstructured":"Spinellis D (2016) A repository of Unix history and evolution. Empirical Software Engineering","DOI":"10.1007\/s10664-016-9445-5"},{"key":"9551_CR65","doi-asserted-by":"crossref","unstructured":"Spinellis D, Louridas P, Kechagia M (2016) The evolution of C programming practices: A study of the Unix operating system 1973\u20132015. In: Proceedings of the 38th International Conference on Software Engineering (ICSE), pp 748\u2013759. ACM","DOI":"10.1145\/2884781.2884799"},{"issue":"6","key":"9551_CR66","doi-asserted-by":"publisher","first-page":"1665","DOI":"10.1007\/s10664-013-9258-8","volume":"19","author":"L Tan","year":"2014","unstructured":"Tan L, Liu C, Li Z, Wang X, Zhou Y, Zhai C (2014) Bug characteristics in open source software. Empir Softw Eng 19(6):1665\u20131705","journal-title":"Empir Softw Eng"},{"key":"9551_CR67","unstructured":"Torvalds L (2002) Compatibility syscall layer (lets try again). https:\/\/lwn.net\/Articles\/17746\/ . (Last visited: June 19, 2017)"},{"key":"9551_CR68","unstructured":"Torvalds L (2014) Renameat2 does not need (or have) a separate compat system. https:\/\/github.com\/torvalds\/Linux\/commit\/9abd09acd . (Last visited: June 19, 2017)"},{"key":"9551_CR69","unstructured":"Linus Torvalds (2017) Linux Git repository. https:\/\/github.com\/torvalds\/Linux\/ , 2016. (Last visited: June 19"},{"key":"9551_CR70","doi-asserted-by":"crossref","unstructured":"Tsai C-C, Jain B, Abdul NA, Porter DE (2016) A study of modern Linux API usage and compatibility: What to support when you\u2019re supporting. In: Proceedings of the 11th European conference on computer systems (EuroSys), pp 16:1\u201316:16. ACM","DOI":"10.1145\/2901318.2901341"},{"key":"9551_CR71","unstructured":"Viro A (2012) [braindump][rfc] signals and syscall restarts. https:\/\/lkml.org\/lkml\/2012\/12\/6\/366 . (Last visited: June 19, 2017)"},{"key":"9551_CR72","doi-asserted-by":"crossref","unstructured":"Xavier L, Brito A, Hora A, Valente MT (2017) Historical and impact analysis of API breaking changes: A large-scale study. In: Proceedings of the 24th international conference on software analysis, evolution and reengineering (SANER), pp 138\u2013147. IEEE","DOI":"10.1109\/SANER.2017.7884616"},{"issue":"12","key":"9551_CR73","doi-asserted-by":"publisher","first-page":"818","DOI":"10.1109\/TSE.2007.70747","volume":"33","author":"Z Xing","year":"2007","unstructured":"Xing Z, Stroulia E (2007) API-evolution support with diff-catchup. IEEE Trans Softw Eng 33(12):818\u2013836","journal-title":"IEEE Trans Softw Eng"},{"key":"9551_CR74","unstructured":"Zankel C (2005) [PATCH] xtensa: Architecture support for Tensilica Xtensa Part 1. https:\/\/github.com\/torvalds\/Linux\/commit\/8e1a6dd2 . (Last visited: June 19, 2017)"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-017-9551-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-017-9551-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-017-9551-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,26]],"date-time":"2025-06-26T13:15:57Z","timestamp":1750943757000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-017-9551-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,13]]},"references-count":74,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2018,6]]}},"alternative-id":["9551"],"URL":"https:\/\/doi.org\/10.1007\/s10664-017-9551-z","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,10,13]]},"assertion":[{"value":"13 October 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}