Back to overview

Dynamic Optimization of Bytecode Instrumentation

Type of publication Peer-reviewed
Publikationsform Proceedings (peer-reviewed)
Publication date 2013
Project FAN: Foundations of dynamic program ANalysis
Show all

Proceedings (peer-reviewed)

Title of proceedings Proceedings of the 7th ACM Workshop on Virtual Machines and Intermediate Languages
Place Indianapolis, IN, USA
DOI 10.1145/2542142.2542145


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.