{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T17:21:00Z","timestamp":1783012860421,"version":"3.54.6"},"reference-count":72,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2026,10,1]],"date-time":"2026-10-01T00:00:00Z","timestamp":1790812800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2026,10,1]],"date-time":"2026-10-01T00:00:00Z","timestamp":1790812800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T00:00:00Z","timestamp":1782950400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Information and Software Technology"],"published-print":{"date-parts":[[2026,10]]},"DOI":"10.1016\/j.infsof.2026.108233","type":"journal-article","created":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T23:27:07Z","timestamp":1781911627000},"page":"108233","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":0,"special_numbering":"C","title":["Twenty years of the Java Virtual Machine Tool Interface: A systematic literature review"],"prefix":"10.1016","volume":"198","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6075-5286","authenticated-orcid":false,"given":"Philipp","family":"Haindl","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0898-9824","authenticated-orcid":false,"given":"Patrick","family":"Kochberger","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"78","reference":[{"key":"10.1016\/j.infsof.2026.108233_b1","series-title":"JVM Tool Interface (JVM TI) Version 21.0.0","author":"Oracle Corporation","year":"2023"},{"key":"10.1016\/j.infsof.2026.108233_b2","series-title":"Proceedings of 2010 International Symposium on VLSI Design, Automation and Test","first-page":"143","article-title":"Implementation of JVM tool interface on Dalvik virtual machine","author":"Chang","year":"2010"},{"key":"10.1016\/j.infsof.2026.108233_b3","series-title":"2006 IEEE International Symposium on Workload Characterization","first-page":"201","article-title":"A quantitative evaluation of the contribution of native code to Java workloads","author":"Binder","year":"2006"},{"key":"10.1016\/j.infsof.2026.108233_b4","series-title":"Proceedings of the 3rd International Conference on Frontiers of Intelligent Computing: Theory and Applications (FICTA) 2014","first-page":"113","article-title":"A survey of dynamic program analysis techniques and tools","author":"Gosain","year":"2015"},{"key":"10.1016\/j.infsof.2026.108233_b5","series-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications","first-page":"149","article-title":"Dynamic metrics for java","author":"Dufour","year":"2003"},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b6","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1016\/j.infsof.2008.09.009","article-title":"Systematic literature reviews in software engineering \u2013 A systematic literature review","volume":"51","author":"Kitchenham","year":"2009","journal-title":"Inf. Softw. Technol."},{"key":"10.1016\/j.infsof.2026.108233_b7","series-title":"Guidelines for Performing Systematic Literature Reviews in Software Engineering","author":"Kitchenham","year":"2007"},{"key":"10.1016\/j.infsof.2026.108233_b8","series-title":"Java Platform Debugger Architecture (JPDA)","author":"Oracle Corporation","year":"2025"},{"issue":"5","key":"10.1016\/j.infsof.2026.108233_b9","doi-asserted-by":"crossref","first-page":"684","DOI":"10.1109\/TSE.2009.28","article-title":"A systematic survey of program comprehension through dynamic analysis","volume":"35","author":"Cornelissen","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.infsof.2026.108233_b10","series-title":"Proceedings of the 4th Workshop on Virtual Machines and Intermediate Languages","first-page":"1","article-title":"Systematic mapping study on high-level language virtual machines","author":"Durelli","year":"2010"},{"issue":"7","key":"10.1016\/j.infsof.2026.108233_b11","first-page":"691","article-title":"Performance analysis for object-oriented software: A systematic mapping","volume":"41","author":"Maplesden","year":"2015","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"4","key":"10.1016\/j.infsof.2026.108233_b12","doi-asserted-by":"crossref","DOI":"10.1145\/3448976","article-title":"A survey of software log instrumentation","volume":"54","author":"Chen","year":"2021","journal-title":"ACM Comput. Surv."},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b13","doi-asserted-by":"crossref","DOI":"10.1145\/3483790","article-title":"Challenges and opportunities for practical and effective dynamic information flow tracking","volume":"55","author":"Brant","year":"2021","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/j.infsof.2026.108233_b14","doi-asserted-by":"crossref","first-page":"57261","DOI":"10.1109\/ACCESS.2024.3390612","article-title":"Dynamic security analysis on Android: A systematic literature review","volume":"12","author":"Sutter","year":"2024","journal-title":"IEEE Access"},{"key":"10.1016\/j.infsof.2026.108233_b15","series-title":"Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development","first-page":"239","article-title":"DiSL: a domain-specific language for bytecode instrumentation","author":"Marek","year":"2012"},{"key":"10.1016\/j.infsof.2026.108233_b16","series-title":"Proceedings of the 12th International Conference on Generative Programming: Concepts & Experiences","first-page":"105","article-title":"ShadowVM: robust and comprehensive dynamic program analysis for the java platform","author":"Marek","year":"2013"},{"issue":"10","key":"10.1016\/j.infsof.2026.108233_b17","doi-asserted-by":"crossref","first-page":"433","DOI":"10.1145\/2858965.2814281","article-title":"Accurate profiling in the presence of dynamic compilation","volume":"50","author":"Zheng","year":"2015","journal-title":"SIGPLAN Not."},{"key":"10.1016\/j.infsof.2026.108233_b18","series-title":"2012 ACM Workshop on Virtual Machines and Intermediate Languages","first-page":"33","article-title":"The JVM is not observable enough (and what to do about it)","author":"Kell","year":"2012"},{"key":"10.1016\/j.infsof.2026.108233_b19","series-title":"5th International Conference on Availability, Reliability, and Security","first-page":"689","article-title":"Information flow control using the Java Virtual Machine Tool Interface (JVMTI)","author":"Howarth","year":"2010"},{"key":"10.1016\/j.infsof.2026.108233_b20","series-title":"Proceedings of the 28th IEEE International Conference on Software Maintenance","first-page":"326","article-title":"A systematic mapping study on dynamic metrics and software quality","author":"Tahir","year":"2012"},{"issue":"6","key":"10.1016\/j.infsof.2026.108233_b21","first-page":"1249","article-title":"A systematic mapping study of software performance research","volume":"53","author":"Han","year":"2023","journal-title":"Softw.: Pract. Exp."},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b22","doi-asserted-by":"crossref","first-page":"90","DOI":"10.1134\/S0361768824010079","article-title":"A survey of software dynamic analysis methods","volume":"50","author":"Kuliamin","year":"2024","journal-title":"Program. Comput. Softw."},{"issue":"12","key":"10.1016\/j.infsof.2026.108233_b23","doi-asserted-by":"crossref","DOI":"10.1145\/3742900","article-title":"A survey of program analysis for distributed software systems","volume":"57","author":"Cai","year":"2025","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/j.infsof.2026.108233_b24","doi-asserted-by":"crossref","DOI":"10.1016\/j.cosrev.2023.100594","article-title":"Uncertainty in runtime verification: A survey","volume":"50","author":"Taleb","year":"2023","journal-title":"Comput. Sci. Rev."},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b25","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1186\/s13643-021-01626-4","article-title":"The PRISMA 2020 statement: an updated guideline for reporting systematic reviews","volume":"10","author":"Page","year":"2021","journal-title":"Syst. Rev."},{"issue":"6","key":"10.1016\/j.infsof.2026.108233_b26","doi-asserted-by":"crossref","first-page":"625","DOI":"10.1016\/j.infsof.2010.12.010","article-title":"Identifying relevant studies in software engineering","volume":"53","author":"Zhang","year":"2011","journal-title":"Inf. Softw. Technol."},{"key":"10.1016\/j.infsof.2026.108233_b27","series-title":"Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering","first-page":"38:1","article-title":"Guidelines for snowballing in systematic literature studies and a replication in software engineering","author":"Wohlin","year":"2014"},{"key":"10.1016\/j.infsof.2026.108233_b28","series-title":"Systematic Reviews in the Social Sciences: A Practical Guide","author":"Petticrew","year":"2005"},{"key":"10.1016\/j.infsof.2026.108233_b29","doi-asserted-by":"crossref","DOI":"10.1016\/j.infsof.2020.106294","article-title":"On the performance of hybrid search strategies for systematic literature reviews in software engineering","volume":"123","author":"Mour\u00e3o","year":"2020","journal-title":"Inf. Softw. Technol."},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b30","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1177\/001316446002000104","article-title":"A coefficient of agreement for nominal scales","volume":"20","author":"Cohen","year":"1960","journal-title":"Educ. Psychol. Meas."},{"issue":"5","key":"10.1016\/j.infsof.2026.108233_b31","doi-asserted-by":"crossref","first-page":"423","DOI":"10.1016\/0895-4356(93)90018-V","article-title":"Bias, prevalence and kappa","volume":"46","author":"Byrt","year":"1993","journal-title":"J. Clin. Epidemiol."},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b32","doi-asserted-by":"crossref","first-page":"159","DOI":"10.2307\/2529310","article-title":"The measurement of observer agreement for categorical data","volume":"33","author":"Landis","year":"1977","journal-title":"Biometrics"},{"issue":"1","key":"10.1016\/j.infsof.2026.108233_b33","doi-asserted-by":"crossref","first-page":"102","DOI":"10.1007\/s00766-005-0021-6","article-title":"Requirements engineering paper classification and evaluation criteria: a proposal and a discussion","volume":"11","author":"Wieringa","year":"2006","journal-title":"Requir. Eng."},{"key":"10.1016\/j.infsof.2026.108233_b34","doi-asserted-by":"crossref","DOI":"10.1016\/j.softx.2026.102814","article-title":"ReviQ: A systematic literature review workbench","volume":"35","author":"Haindl","year":"2026","journal-title":"SoftwareX"},{"key":"10.1016\/j.infsof.2026.108233_b35","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.infsof.2015.03.007","article-title":"Guidelines for conducting systematic mapping studies in software engineering: An update","volume":"64","author":"Petersen","year":"2015","journal-title":"Inf. Softw. Technol."},{"key":"10.1016\/j.infsof.2026.108233_b36","series-title":"25th International Conference on Software Engineering, 2003. Proceedings","first-page":"726","article-title":"Writing good software engineering research papers","author":"Shaw","year":"2003"},{"issue":"10","key":"10.1016\/j.infsof.2026.108233_b37","doi-asserted-by":"crossref","first-page":"1200","DOI":"10.1016\/j.infsof.2014.04.014","article-title":"Software development in startup companies: A systematic mapping study","volume":"56","author":"Paternoster","year":"2014","journal-title":"Inf. Softw. Technol."},{"key":"10.1016\/j.infsof.2026.108233_b38","series-title":"Programming Languages and Systems","first-page":"364","article-title":"P3: A profiler suite for parallel applications on the Java virtual machine","author":"Ros\u00e0","year":"2020"},{"key":"10.1016\/j.infsof.2026.108233_b39","series-title":"Proceedings of the 13th EAI International Conference on Performance Evaluation Methodologies and Tools","first-page":"128","article-title":"FJProf: Profiling fork\/join applications on the Java virtual machine","author":"Rosales","year":"2020"},{"key":"10.1016\/j.infsof.2026.108233_b40","series-title":"Proceedings of the 2018 International Symposium on Code Generation and Optimization","first-page":"27","article-title":"Analyzing and optimizing task granularity on the JVM","author":"Ros\u00e0","year":"2018"},{"issue":"3","key":"10.1016\/j.infsof.2026.108233_b41","doi-asserted-by":"crossref","DOI":"10.1145\/3338497","article-title":"Analysis and optimization of task granularity on the Java virtual machine","volume":"41","author":"Ros\u00e0","year":"2019","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"9","key":"10.1016\/j.infsof.2026.108233_b42","first-page":"1763","article-title":"Large-scale characterization of Java streams","volume":"53","author":"Rosales","year":"2023","journal-title":"Softw.: Pract. Exp."},{"key":"10.1016\/j.infsof.2026.108233_b43","article-title":"Profiling and optimizing Java streams","volume":"7","author":"Rosales Rosero","year":"2023","journal-title":"Art Sci. Eng. Program."},{"key":"10.1016\/j.infsof.2026.108233_b44","series-title":"Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools","first-page":"194","article-title":"JNIF: Java native instrumentation framework","author":"Mastrangelo","year":"2014"},{"key":"10.1016\/j.infsof.2026.108233_b45","series-title":"2023 IEEE 34th International Symposium on Software Reliability Engineering","first-page":"742","article-title":"Dynamic program analysis with flexible instrumentation and complex event processing","author":"Soueidi","year":"2023"},{"key":"10.1016\/j.infsof.2026.108233_b46","series-title":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","first-page":"31","article-title":"Renaissance: benchmarking suite for parallel applications on the JVM","author":"Prokopec","year":"2019"},{"key":"10.1016\/j.infsof.2026.108233_b47","series-title":"9th International Conference on the Principles and Practice of Programming in Java","first-page":"143","article-title":"Tool demonstration: Overseer - Low-level hardware monitoring and management for Java","author":"Peternier","year":"2011"},{"key":"10.1016\/j.infsof.2026.108233_b48","doi-asserted-by":"crossref","first-page":"29","DOI":"10.1016\/j.jvlc.2018.10.007","article-title":"Optimizing type-specific instrumentation on the JVM with reflective supertype information","volume":"49","author":"Ros\u00e0","year":"2018","journal-title":"J. Vis. Lang. Comput."},{"issue":"3","key":"10.1016\/j.infsof.2026.108233_b49","doi-asserted-by":"crossref","first-page":"974","DOI":"10.1016\/j.jnca.2011.03.014","article-title":"Security model oriented attestation on dynamically reconfigurable component-based systems","volume":"35","author":"Gu","year":"2012","journal-title":"J. Netw. Comput. Appl."},{"issue":"4","key":"10.1016\/j.infsof.2026.108233_b50","first-page":"37","article-title":"Transparent real time monitoring for multi-tenant J2EE applications","volume":"15","author":"Morariu","year":"2013","journal-title":"Control Eng. Appl. Inform."},{"key":"10.1016\/j.infsof.2026.108233_b51","series-title":"Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools","first-page":"169","article-title":"Closed and open nested atomic actions for Java: language design and prototype implementation","author":"Chapman","year":"2014"},{"key":"10.1016\/j.infsof.2026.108233_b52","series-title":"Lecture Notes in Informatics (LNI) - Gesellschaft Fur Informatik","first-page":"65","article-title":"Post-debugging in large scale big data analytic systems","volume":"Vol. 266","author":"Bergen","year":"2017"},{"key":"10.1016\/j.infsof.2026.108233_b53","series-title":"2017 25th Euromicro International Conference on Parallel, Distributed and Network-Based Processing","first-page":"124","article-title":"A region-based approach to pipeline parallelism in Java programs on multicores","author":"Wang","year":"2017"},{"key":"10.1016\/j.infsof.2026.108233_b54","series-title":"ARCS 2018 \u2014 31st GI\/ITG International Conference on Architecture of Computing Systems, Workshop Proceedings","first-page":"51","article-title":"Tracing of multi-threaded java applications in Score-P using bytecode instrumentation","author":"Frenzel","year":"2018"},{"key":"10.1016\/j.infsof.2026.108233_b55","series-title":"International Conference on Networking and Services","first-page":"33","article-title":"Proposal for compilation techniques of monitoring tasks to improve applications management performance","author":"Kaddour","year":"2006"},{"key":"10.1016\/j.infsof.2026.108233_b56","doi-asserted-by":"crossref","unstructured":"B. Kaddour, J. Quinqueton, Using Aspects and Compilation Techniques to Dynamically Manage Applications, in: Proceedings of the 2006 International Conference on Security and Management, SAM\u201906, Las Vegas, NV, USA, 2006, URL: https:\/\/hal.science\/lirmm-00370608.","DOI":"10.1109\/ICNS.2006.23"},{"key":"10.1016\/j.infsof.2026.108233_b57","series-title":"2009 Fourth International Conference on Dependability of Computer Systems","first-page":"77","article-title":"Design and implementation of a Java fault injector for exhaustif SWIFI tool","author":"Silva","year":"2009"},{"key":"10.1016\/j.infsof.2026.108233_b58","series-title":"Proceedings of the 4th International Conference on Ubiquitous Information Technologies & Applications","first-page":"1","article-title":"JVMTI-based model enforcement on Java platform for model-carrying code","author":"Sun","year":"2009"},{"key":"10.1016\/j.infsof.2026.108233_b59","series-title":"2010 3rd International Conference on Advanced Computer Theory and Engineering","first-page":"V6210","article-title":"JVMTI-based implementation of security policies enforcement on java platform","volume":"Vol. 6","author":"Fei","year":"2010"},{"key":"10.1016\/j.infsof.2026.108233_b60","series-title":"Elephant tracks: Portable production of complete and precise GC traces","first-page":"109","author":"Ricci","year":"2013"},{"key":"10.1016\/j.infsof.2026.108233_b61","series-title":"5th International Conference on Computer Science and Education","first-page":"106","article-title":"A seamless services migration framework with JVM tool interface","author":"Dai","year":"2010"},{"key":"10.1016\/j.infsof.2026.108233_b62","series-title":"9th International Conference on the Principles and Practice of Programming in Java","first-page":"139","article-title":"Tool demonstration: Elephant tracks-generating program traces with object death records","author":"Ricci","year":"2011"},{"key":"10.1016\/j.infsof.2026.108233_b63","series-title":"Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","first-page":"104","article-title":"Accurate reification of complete supertype information for dynamic analysis on the JVM","author":"Ros\u00e0","year":"2017"},{"key":"10.1016\/j.infsof.2026.108233_b64","series-title":"2017 ACM\/SPEC International Conference on Performance Engineering","first-page":"331","article-title":"Efficient sampling-based lock contention profiling for Java","author":"Sch\u00f6rgenhumer","year":"2017"},{"key":"10.1016\/j.infsof.2026.108233_b65","series-title":"2023 International Conference on Machine Learning and Applications","first-page":"1106","article-title":"A lock contention classifier based on Java lock contention anti-patterns","author":"Liscano","year":"2023"},{"key":"10.1016\/j.infsof.2026.108233_b66","series-title":"Fifth International Workshop on Dynamic Analysis","article-title":"Identifying data transfer objects in EJB applications","author":"Pantaleev","year":"2007"},{"key":"10.1016\/j.infsof.2026.108233_b67","series-title":"Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications","first-page":"531","article-title":"Adaptable runtime monitoring for the Java virtual machine","author":"Ros\u00e0","year":"2016"},{"key":"10.1016\/j.infsof.2026.108233_b68","series-title":"Euro-Par 2022: Parallel Processing \u2014 28th International Conference on Parallel and Distributed Computing, Glasgow, UK, August 22\u201326, 2022, Proceedings","first-page":"35","article-title":"Accurate fork-join profiling on the Java virtual machine","volume":"vol. 13440","author":"Basso","year":"2022"},{"key":"10.1016\/j.infsof.2026.108233_b69","series-title":"2022 26th International Conference on Engineering of Complex Computer Systems","first-page":"143","article-title":"Characterizing Java streams in the wild","author":"Rosales","year":"2022"},{"key":"10.1016\/j.infsof.2026.108233_b70","series-title":"Third IEEE International Symposium on Network Computing and Applications","first-page":"303","article-title":"FIONA: a fault injector for dependability evaluation of Java-based network applications","author":"Jacques-Silva","year":"2004"},{"key":"10.1016\/j.infsof.2026.108233_b71","series-title":"Tools for High Performance Computing 2011","first-page":"79","article-title":"Score-P: A joint performance measurement run-time infrastructure for periscope,scalasca, TAU, and vampir","author":"Kn\u00fcpfer","year":"2012"},{"key":"10.1016\/j.infsof.2026.108233_b72","series-title":"Experimentation in Software Engineering","author":"Wohlin","year":"2012"}],"container-title":["Information and Software Technology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0950584926002223?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0950584926002223?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T16:44:25Z","timestamp":1783010665000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0950584926002223"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,10]]},"references-count":72,"alternative-id":["S0950584926002223"],"URL":"https:\/\/doi.org\/10.1016\/j.infsof.2026.108233","relation":{},"ISSN":["0950-5849"],"issn-type":[{"value":"0950-5849","type":"print"}],"subject":[],"published":{"date-parts":[[2026,10]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Twenty years of the Java Virtual Machine Tool Interface: A systematic literature review","name":"articletitle","label":"Article Title"},{"value":"Information and Software Technology","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.infsof.2026.108233","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2026 The Authors. Published by Elsevier B.V.","name":"copyright","label":"Copyright"}],"article-number":"108233"}}