Skip to Main content Skip to Navigation
New interface
Conference papers

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 metadata
Contributor : Philippe Clauss Connect in order to contact the contributor
Submitted on : Monday, January 30, 2012 - 1:44:28 PM
Last modification on : Tuesday, October 25, 2022 - 10:18:07 AM


  • HAL Id : hal-00664345, version 1



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⟩



Record views