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


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.

Año de publicación:

2013

Keywords:

    Fuente:

    scopusscopus

    Tipo de documento:

    Conference Object

    Estado:

    Acceso restringido

    Áreas de conocimiento:

    • Ingeniería de software
    • Software

    Áreas temáticas:

    • Programación informática, programas, datos, seguridad
    • Elastómeros y productos de elastómeros
    • Funcionamiento de bibliotecas y archivos