Transparent dynamic instrumentation
Author(s)
Bruening, Derek; Zhao, Qin; Amarasinghe, Saman P.
DownloadAmarasinghe-Transparent Dynamic Instrumentation.pdf (190.5Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Process virtualization provides a virtual execution environment within which an unmodified application can be monitored and controlled while it executes. The provided layer of control can be used for purposes ranging from sandboxing to compatibility to profiling. The additional operations required for this layer are performed clandestinely alongside regular program execution. Software dynamic instrumentation is one method for implementing process virtualization which dynamically instruments an application such that the application's code and the inserted code are interleaved together. DynamoRIO is a process virtualization system implemented using software code cache techniques that allows users to build customized dynamic instrumentation tools. There are many challenges to building such a runtime system. One major obstacle is transparency. In order to support executing arbitrary applications, DynamoRIO must be fully transparent so that an application cannot distinguish between running inside the virtual environment and native execution. In addition, any desired extra operations for a particular tool must avoid interfering with the behavior of the application.
Transparency has historically been provided on an ad-hoc basis, as a reaction to observed problems in target applications. This paper identifies a necessary set of transparency requirements for running mainstream Windows and Linux applications. We discuss possible solutions to each transparency issue, evaluate tradeoffs between different choices, and identify cases where maintaining transparency is not practically solvable. We believe this will provide a guideline for better design and implementation of transparent dynamic instrumentation, as well as other similar process virtualization systems using software code caches.
Date issued
2012-03Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments, VEE'12
Publisher
Association for Computing Machinery
Citation
Bruening, Derek, Qin Zhao, and Saman Amarasinghe. “Transparent Dynamic Instrumentation.” Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments, VEE'12, March 3–4, 2012, London, England, UK. ACM Press, 2012. 133-144. Web.
Version: Author's final manuscript
ISBN
978-1-4503-1176-2