• Cite Icon20
  • https://doi.org/10.1145/2517208.2517219Copy DOI Icon

ShadowVM

  • Oct 27, 2013
  • Lukáš Marek +8 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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.

Similar Papers
  • Research Article
  • Citations7

Advanced strategies for achieving comprehensive code quality and ensuring software reliability

  • Aug 03, 2024
  • Computer Science & IT Research Journal
  • Nnaemeka Valentine Eziamaka +2
  • Conference Article
  • Citations29

Polymorphic bytecode instrumentation

  • Mar 21, 2011
  • Philippe Moret +2
  • Conference Article
  • Citations50

Don't get caught in the cold, warm-up your JVM: understand and eliminate JVM warm-up overhead in data-parallel systems

  • Nov 02, 2016
  • David Lion +5
  • Conference Article
  • Citations14

SJFuzz: Seed and Mutator Scheduling for JVM Fuzzing

  • Nov 30, 2023
  • Mingyuan Wu +7
  • Research Article
  • Citations4

Breadcrumbs

  • Jun 05, 2010
  • ACM SIGPLAN Notices
  • Michael D Bond +2
  • Conference Instance

Proceedings of the 11th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems

  • Jul 17, 2016
  • Tim Felgentreff +1
  • Research Article
  • Citations10

Introspection for C and its Applications to Library Robustness

  • Dec 04, 2017
  • The Art, Science, and Engineering of Programming
  • Manuel Rigger +4
  • Conference Article
  • Citations28

Dynamic shape analysis via degree metrics

  • Jun 19, 2009
  • Maria Jump +1
  • Conference Article
  • Citations5

HJ-OpenCL

  • Sep 08, 2015
  • Max Grossman +2
  • Conference Article
  • Citations9

Dynamic vertical memory scalability for OpenJDK cloud applications

  • Jun 18, 2018
  • Rodrigo Bruno +6
  • Research Article
  • Citations6

Hardware/software co-design for virtual machines

  • Jan 01, 2005
  • IEE Proceedings - Computers and Digital Techniques
  • K.B Kent +2
  • Research Article

Portable virtual cycle accounting for large-scale distributed cycle sharing systems

  • Feb 24, 2007
  • Parallel Computing
  • Hiroshi Yamauchi +1
  • Conference Article

Study of characteristics of large data collections to build a high performance system

  • May 01, 2016
  • Mukul Dev +2
  • Conference Article

Implementing parallelism and scheduling data flow graphs on Java virtual machine

  • May 07, 2001
  • J Xu +1
  • Book Chapter
  • Citations15

Evaluating the Java Virtual Machine as a Target for Languages Other Than Java

  • Jan 01, 2000
  • K John Gough +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.