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

3Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.
Get full text

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. © 2013 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Ansaloni, D., Kell, S., Zheng, Y., Bulej, L., Binder, W., & Tůma, P. (2013). Enabling modularity and re-use in dynamic program analysis tools for the java virtual machine. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7920 LNCS, pp. 352–377). Springer Verlag. https://doi.org/10.1007/978-3-642-39038-8_15

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free