Enabling modularity and re-use in dynamic program analysis tools for the java virtual machine

  • Authors:
  • Danilo Ansaloni;Stephen Kell;Yudi Zheng;Lubomír Bulej;Walter Binder;Petr Tůma

  • Affiliations:
  • University of Lugano, Switzerland;University of Lugano, Switzerland;University of Lugano, Switzerland;Charles University, Prague, Czech Republic;University of Lugano, Switzerland;Charles University, Prague, Czech Republic

  • Venue:
  • ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic program analysis tools based on code instrumentation serve many important software engineering tasks such as profiling, debugging, testing, program comprehension, and reverse engineering. Unfortunately, constructing new analysis tools is unduly difficult, because existing frameworks offer little or no support to the programmer beyond the incidental task of instrumentation. We observe that existing dynamic analysis tools re-address recurring requirements in their essential task: maintaining state which captures some property of the analysed program. This paper presents a general architecture for dynamic program analysis tools which treats the maintenance of analysis state in a modular fashion, consisting of mappers decomposing input events spatially, and updaters aggregating them over time. We show that this architecture captures the requirements of a wide variety of existing analysis tools.