Skip to main content

ShadowVM: Robust and Comprehensive Dynamic Program Analysis for the Java Platform

Marek, Lukáš, Ansaloni, Danilo, Sarimbekov, Aibek, Sewe, Andreas, Zheng, Yudi, Kell, Stephen, Bulej, Lubomír, Binder, Walter, Tůma, Petr (2013) ShadowVM: Robust and Comprehensive Dynamic Program Analysis for the Java Platform. ACM SIGPLAN Notices, 49 (3). pp. 105-114. ISSN 0362-1340. E-ISSN 1558-1160. (doi:10.1145/2517208.2517219) (Access to this publication is currently restricted. You may be able to access a copy if URLs are provided) (KAR id:69704)

PDF Publisher pdf
Language: English

Restricted to Repository staff only
Contact us about this Publication
Official URL


Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes including the Java Virtual Machine (JVM). Performing instrumentation robustly is especially complex on such runtimes: existing frameworks offer limited coverage and poor isolation, while previous work has shown that apparently innocuous instrumentation can cause deadlocks or crashes in the observed application. This paper describes ShadowVM, a system for instrumentation-based dynamic analyses on the JVM which combines a number of techniques to greatly improve both isolation and coverage. These centre on the offload of analysis to a separate process; we believe our design is the first system to enable genuinely full bytecode coverage on the JVM. We describe a working implementation, and use a case study to demonstrate its improved coverage and to evaluate its runtime overhead.

Item Type: Article
DOI/Identification number: 10.1145/2517208.2517219
Divisions: Faculties > Sciences > School of Computing
Depositing User: Stephen Kell
Date Deposited: 28 Jan 2019 14:46 UTC
Last Modified: 23 Jan 2020 04:15 UTC
Resource URI: (The current URI for this page, for reference purposes)
Kell, Stephen:
  • Depositors only (login required):


Downloads per month over past year