Publication: VMAD: a virtual machine for advanced dynamic. Analysis of programs
Authors
Jimborean, Alexandra ; Herrmann, Matthieu ; Loechner, Vincent ; Clauss, Philippe
item.page.secondaryauthor
item.page.director
Publisher
publication.page.editor
publication.page.department
DOI
https://doi.org/10.1007/978-3-642-28652-0\_12
item.page.type
info:eu-repo/semantics/article
Description
Compiler Construction - 21st International Conference, 2012.
Held as Part of the European Joint Conferences on Theory and Practice of Software, 2012, Tallinn, Estonia, March 24 - April 1, 2012. Proceedings.
©2021. This document is the Published version of a Published Work that appeared in final form in Portail HAL Inria. To access the final edited and published work see https://doi.org/10.1007/978-3-642-28652-0\_12
©2021. This document is the Published version of a Published Work that appeared in final form in Portail HAL Inria. To access the final edited and published work see https://doi.org/10.1007/978-3-642-28652-0\_12
Abstract
Abstract
In this paper, we present a virtual machine, VMAD (Virtual Machine for Advanced Dynamic analysis), enabling an efficient implementation of advanced profiling and analysis of programs. VMAD is organized as a sequence of basic operations where external modules associated to specific profiling strategies are dynamically loaded hen required. The program binary files handled by VMAD are previously instrumented at compile time to include ecessary data, instrumentation instructions and callbacks to the VM. Dynamic information, such as memory ocations of launched modules, are patched at startup in the binary file. The LLVM compiler has been extended to automatically instrument programs according to both VMAD and the handled profiling strategies. VMAD’s potential is illustrated by presenting a profiling strategy dedicated to loop nests.
It collects all memory addresses that are accessed during a selected number of successive iterations of each loop. The collected addresses are consumed by an analysis process trying to interpolate addresses uccessively accessed through each memory reference as alinear function of some virtual loop indices. This profiling strategy using VMAD has been run on some of the SPEC2006 and Pointer Intensive benchmark suites, showing a very ow time overhead, in most cases.
publication.page.subject
Citation
HAL Id: inria-00534748 (https://inria.hal.science/inria-00534748)
item.page.embargo
Collections
Ir a Estadísticas
Sin licencia Creative Commons.