Zurück zur Übersicht

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

Publikationsart Peer-reviewed
Publikationsform Tagungsbeitrag (peer-reviewed)
Publikationsdatum 2013
Autor/in Marek Lukáš, Kell Stephen, Zheng Yudi, Bulej Lubomír, Binder Walter, Tůma Petr, Ansaloni Danilo, Sarimbekov Aibek, Sewe Andreas,
Projekt FAN: Foundations of dynamic program ANalysis
Alle Daten anzeigen

Tagungsbeitrag (peer-reviewed)

Titel der Proceedings Proceedings of the 12th International Conference on Generative Programming: Concepts & Experiences
Ort Indianapolis, IN, USA
DOI 10.1145/2517208.2517219


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.