Linux Symposium

July 13th-16th, 2010
Ottawa Westin
Ottawa, Canada

Register / Login / Submit Proposal

Presentations Keynotes Summits
Lightning Talks

Event Details Schedule
Travel & Hotel




Dynamic Binary Instrumentation Framework for CE Devices

Alexey Gerenkov (

Developers use various amethods and approaches to find bugs and bottlenecks in their programs. One of the effective and widely used approach is application profiling by dynamic instrumentation. There are many various dynamic instrumentation tools. Each tool has its own benefits and limitations what often forces developers to use a number of tools for profiling. For example, in order to use systemtap tool developers need to write instrumentation script using special language. But to use Dyninst library developers need to write instrumenting program in C++. Also different tools can produce output data in different formats. Thus usage of a set of instrumentation tools can significantly increase debugging time.

In this paper we will describe unique dynamic binary instrumentation engine concept which is used in our monitoring tool - System-Wide Analyzer of Performance (SWAP). This tool has modular architecture and API which allows integrate various dynamic instrumentation tools and provide unique and powerful instrumentation and analysis interface for developers. For example, DynInst and Kprobe-based instrumentation engines has been integrated into SWAP framework and can be used in a similar way. Modular structure of SWAP allows it to be extended with other instrumentation and analysis methods. Also SWAP has several levels of API: instrumentation API, connection API, control API, user interface API and monitoring language framework. This multilayer API architecture allows developers to re-use SWAP functionality and embed it into their own solutions. Thus SWAP can simplify and speed up profiling greatly.

Gold Sponsors
Silver Sponsors
Bronze Sponsors
Wireless Networking

register | call for papers

Copyright © 2010 Linux Symposium Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds.