Skip to main content
eScholarship
Open Access Publications from the University of California

Java Defensive Optimization

  • Author(s): Wang, Haoqing
  • Advisor(s): Palsberg, Jens
  • et al.
Abstract

We design and implement two Java optimizations based on JSR308 annota- tions: pure method memoization and dynamic taint analysis optimization. In pure method memoization, we introduce JavaMem, an automatic method memo- ization tool for Java. JavaMem memoizes on Java pure or partially pure method at runtime according to offline execution time profiling results and static analysis- based correctness proof. We achieve 3% speedup on average on selected Dacapo benchmarks. For dynamic taint analysis optimization, we design and implement METEOR, a portable dynamic taint checking tool that instruments taint propaga- tion instructions and optimizes the instrumented code by leveraging annotations. We compete our METEOR against Phosphor. With a slightly slower baseline performance on non-annotated code, METEOR still beats Phosphor on fully an- notated benchmarks.

Main Content
Current View