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
[thumbnail of p105-marek.pdf]
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: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Stephen Kell
Date Deposited: 28 Jan 2019 14:46 UTC
Last Modified: 16 Nov 2021 10:25 UTC
Resource URI: (The current URI for this page, for reference purposes)
Kell, Stephen:
  • Depositors only (login required):