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áš Marek | 1 | 94 | 5.57 |
Stephen Kell | 2 | 74 | 9.06 |
Yudi Zheng | 3 | 133 | 14.24 |
Lubomír Bulej | 4 | 165 | 20.20 |
Walter Binder | 5 | 1077 | 92.58 |
Petr Tůma | 6 | 108 | 13.38 |
Danilo Ansaloni | 7 | 296 | 23.78 |
Aibek Sarimbekov | 8 | 124 | 9.77 |
Andreas Sewe | 9 | 243 | 17.78 |