VMAD: an Advanced Dynamic Program Analysis & Instrumentation Framework

Abstract : VMAD (Virtual Machine for Advanced Dynamic analysis) is a platform for advanced profiling and analysis of programs, consisting in a static component and a runtime system. The runtime system is organized as a set of decoupled modules, dedicated to specific instrumenting or optimizing operations, dynamically loaded when required. The program binary files handled by VMAD are previously processed at compile time to include all necessary data, instrumentation instructions and callbacks to the runtime system. For this purpose, the LLVM compiler has been extended to automatically generate multiple versions of the code, each of them tailored for the targeted instrumentation or optimization strategies. The compiler chooses the most suitable intermediate representation for each version, depending on the information to be acquired and on the optimizations to be applied. The control flow graph is adapted to include the new versions and to transfer the control to and from the runtime system, which is in charge of the execution flow orchestration. The strength of our system resides in its extensibility, as one can add support for various new profiling or optimization strategies, independently of the existing modules. VMAD's potential is illustrated by presenting several analysis and optimization applications dedicated to loop nests: instrumentation by sampling, dynamic dependence analysis, adaptive version selection.
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/hal-00664345
Contributor : Philippe Clauss <>
Submitted on : Monday, January 30, 2012 - 1:44:28 PM
Last modification on : Friday, January 12, 2018 - 1:10:57 AM

Identifiers

  • HAL Id : hal-00664345, version 1

Collections

Citation

Alexandra Jimborean, Luis Mastrangelo, Vincent Loechner, Philippe Clauss. VMAD: an Advanced Dynamic Program Analysis & Instrumentation Framework. CC - 21st International Conference on Compiler Construction, Mar 2012, Tallinn, Estonia. pp.220-237. ⟨hal-00664345⟩

Share

Metrics

Record views

370