Dynamic optimization of bytecode instrumentation

  • Authors:
  • Yudi Zheng;Lubomiír Bulej;Cheng Zhang;Stephen Kell;Danilo Ansaloni;Walter Binder

  • Affiliations:
  • University of Lugano, Lugano, Switzerland;University of Lugano, Lugano, Switzerland;University of Lugano, Lugano, Switzerland;University of Lugano, Lugano, Switzerland;University of Lugano, Lugano, Switzerland;University of Lugano, Lugano, Switzerland

  • Venue:
  • Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Accuracy, completeness, and performance are all major concerns in the context of dynamic program analysis. Emphasizing one of these factors may compromise the other factors. For example, improving completeness of an analysis may seriously impair performance. In this paper, we present an analysis model and a framework that enables reducing analysis overhead at runtime through adaptive instrumentation of the base program. Our approach targets analyses implemented with code instrumentation techniques on the Java platform. Overhead reduction is achieved by removing instrumentation from code locations that are considered unimportant for the analysis results, thereby avoiding execution of analysis code for those locations. For some analyses, our approach preserves result accuracy and completeness. For other analyses, accuracy and completeness may be traded for a major performance improvement. In this paper, we explore accuracy, completeness, and performance of our approach with two concrete analyses as case studies.