Journal article

Title:
ShadowVM: Robust and Comprehensive Dynamic Program Analysis for the Java Platform
Authors:
Lukáš Marek, Stephen Kell, Yudi Zheng, Lubomír Bulej, Walter Binder, Petr Tůma, Danilo Ansaloni, Aibek Sarimbekov, Andreas Sewe
Publication:
ACM SIGPLAN Notices 49 (3)
DOI:
Year:
2013

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.

BibTeX:
@article{marek_shadowvm_2013_journal,
    title = {{ShadowVM: Robust and Comprehensive Dynamic Program Analysis for the Java Platform}},
    author = {Marek, Lukáš and Kell, Stephen and Zheng, Yudi and Bulej, Lubomír and Binder, Walter and Tůma, Petr and Ansaloni, Danilo and Sarimbekov, Aibek and Sewe, Andreas},
    year = {2013},
    journal = {{ACM SIGPLAN Notices}},
    number = {3},
    doi = {10.1145/2637365.2517219},
    pages = {105--114},
    volume = {49},
    shorttitle = {ShadowVM},
}