Enabling Modularity and Re-use in Dynamic Program Analysis Tools for the Java Virtual Machine
2013; Springer Science+Business Media; Linguagem: Inglês
10.1007/978-3-642-39038-8_15
ISSN1611-3349
AutoresDanilo Ansaloni, Stephen Kell, Yudi Zheng, Lubomír Bulej, Walter Binder, Petr Tůma,
Tópico(s)Software System Performance and Reliability
ResumoDynamic 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.
Referência(s)