Title
ShadowVM: robust and comprehensive dynamic program analysis for the java platform
Abstract
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.
Year
DOI
Venue
2013
10.1145/2517208.2517219
GPCE
Keywords
Field
DocType
java virtual machine,limited coverage,dynamic analysis tool,comprehensive dynamic program analysis,improved coverage,managed runtimes,genuinely full bytecode coverage,java platform,instrumentation-based dynamic analysis,poor isolation,case study,innocuous instrumentation,instrumentation,dynamic analysis
Analysis tools,Instrumentation (computer programming),Programming language,Computer science,Deadlock,Java,Bytecode,Operating system,Dynamic program analysis,Java virtual machine
Conference
Volume
Issue
ISSN
49
3
0362-1340
Citations 
PageRank 
References 
10
0.61
19
Authors
9
Name
Order
Citations
PageRank
Lukáš Marek1945.57
Stephen Kell2749.06
Yudi Zheng313314.24
Lubomír Bulej416520.20
Walter Binder5107792.58
Petr Tůma610813.38
Danilo Ansaloni729623.78
Aibek Sarimbekov81249.77
Andreas Sewe924317.78