This thesis addresses the challenges of building a software system for general-purpose runtime code manipulation. Modern applications, with dynamically-loaded modules and dynamically-generated code, are assembled at runtime. While it was once feasible at compile time to observe and manipulate every instruction—which is critical for program analysis, instrumentation, trace gathering, optimization, and similar tools—it can now only be done at runtime. Existing runtime tools are successful at inserting instrumentation calls, but no general framework has been developed for fine-grained and comprehensive code observation and modification without high overheads.
This thesis demonstrates the feasibility of building such a system in software. We present DynamoRIO , a fully-implemented runtime code manipulation system that supports code transformations on any part of a program, while it executes . DynamoRIO uses code caching technology to provide efficient, transparent, and comprehensive manipulation of an unmodified application running on a stock operating system and commodity hardware. DynamoRIO executes large, complex, modern applications with dynamically-loaded, generated, or even modified code. Despite the formidable obstacles inherent in the IA-32 architecture, DynamoRIO provides these capabilities efficiently, with zero to thirty percent time and memory overhead on both Windows and Linux.
DynamoRIO exports an interface for building custom runtime code manipulation tools of all types. It has been used by many researchers, with several hundred downloads of our public release, and is being commercialized in a product for protection against remote security exploits, one of numerous applications of runtime code manipulation. (Copies available exclusively from MIT Libraries, Rm. 14-0551, Cambridge, MA 02139-4307. Ph. 617-253-5668; Fax 617-253-1690.)
Cited By
- You X, Yang H, Lei K, Luan Z and Qian D TrivialSpy: Identifying Software Triviality via Fine-grained and Dataflow-based Value Profiling Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-13)
- Lei K, You X, Yang H, Luan Z and Qian D BiRFIA: Selective Binary Rewriting for Function Interception on ARM Proceedings of the 37th International Conference on Supercomputing, (87-98)
- Cui J, Shinde S, Sen S, Saxena P and Yuan P (2022). Dynamic Binary Translation for SGX Enclaves, ACM Transactions on Privacy and Security, 25:4, (1-40), Online publication date: 30-Nov-2022.
- Li P, Guo Y, Luo Y, Wang X, Wang Z and Liu X Graph neural networks based memory inefficiency detection using selective sampling Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, (1-14)
- Filho A, Rodríguez R and Feitosa E (2022). Evasion and Countermeasures Techniques to Detect Dynamic Binary Instrumentation Frameworks, Digital Threats: Research and Practice, 3:2, (1-28), Online publication date: 30-Jun-2022.
- Tian L, Shi Y, Chen L, Yang Y and Shi G Gadgets splicing Proceedings of the 20th IEEE/ACM International Symposium on Code Generation and Optimization, (155-167)
- Cheng X and Devecsery D Creating concise and efficient dynamic analyses with ALDA Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, (740-752)
- Litz H, Ayers G and Ranganathan P CRISP: critical slice prefetching Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, (300-313)
- Tian L, Chen L, Kong D and Shi G GRIN: Make Rewriting More Precise 2022 3rd Asia Service Sciences and Software Engineering Conference, (180-188)
- Guo Y, Li P, Luo Y, Wang X and Wang Z GRAPHSPY: Fused Program Semantic Embedding through Graph Neural Networks for Memory Efficiency 2021 58th ACM/IEEE Design Automation Conference (DAC), (1045-1050)
- Ding R, Kim Y, Sang F, Xu W, Saileshwar G and Kim T Hardware Support to Improve Fuzzing Performance and Precision Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, (2214-2228)
- Arif M, Zhou R, Ho H and Jones T Cinnamon Proceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization, (103-114)
- Zhao Q, Liu X and Chabbi M DrCCTProf Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-16)
- Tsiokanos I, Mukhanov L, Georgakoudis G, Nikolopoulos D and Karakonstantis G DEFCON Proceedings of the 23rd Conference on Design, Automation and Test in Europe, (1121-1126)
- Tang X ELSE Proceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores, (1-10)
- Gorgovan C, Callaghan G and Luján M Balancing performance and productivity for the development of dynamic binary instrumentation tools: a case study on Arm systems Proceedings of the 29th International Conference on Compiler Construction, (132-142)
- Qian C, Hu H, Alharthi M, Chung P, Kim T and Lee W RAZOR Proceedings of the 28th USENIX Conference on Security Symposium, (1733-1750)
- Orenbach M, Michalevsky Y, Fetzer C and Silberstein M CoSMIX Proceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference, (555-570)
- Hedayati M, Gravani S, Johnson E, Criswell J, Scott M, Shen K and Marty M Hodor Proceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference, (489-503)
- Ayers G, Nagendra N, August D, Cho H, Kanev S, Kozyrakis C, Krishnamurthy T, Litz H, Moseley T and Ranganathan P AsmDB Proceedings of the 46th International Symposium on Computer Architecture, (462-473)
- Miller K, Kwon Y, Sun Y, Zhang Z, Zhang X and Lin Z Probabilistic disassembly Proceedings of the 41st International Conference on Software Engineering, (1187-1198)
- Zhou R and Jones T Janus: statically-driven and profile-guided automatic dynamic binary parallelisation Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization, (15-25)
- Wang W, Wu J, Gong X, Li T and Yew P (2018). Improving Dynamically-Generated Code Performance on Dynamic Binary Translators, ACM SIGPLAN Notices, 53:3, (17-30), Online publication date: 1-Dec-2018.
- Wang W, McCamant S, Zhai A and Yew P (2018). Enhancing Cross-ISA DBT Through Automatically Learned Translation Rules, ACM SIGPLAN Notices, 53:2, (84-97), Online publication date: 30-Nov-2018.
- Wang W, Wu J, Gong X, Li T and Yew P Improving Dynamically-Generated Code Performance on Dynamic Binary Translators Proceedings of the 14th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, (17-30)
- Wang W, McCamant S, Zhai A and Yew P Enhancing Cross-ISA DBT Through Automatically Learned Translation Rules Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, (84-97)
- Majeed S, Ryu M and Pianini D (2018). Debugging Nondeterministic Failures in Linux Programs through Replay Analysis, Scientific Programming, 2018, Online publication date: 1-Jan-2018.
- Zhang M, Polychronakis M and Sekar R Protecting COTS Binaries from Disclosure-guided Code Reuse Attacks Proceedings of the 33rd Annual Computer Security Applications Conference, (128-140)
- Kim T, Kim C, Choi H, Kwon Y, Saltaformaggio B, Zhang X and Xu D RevARM Proceedings of the 33rd Annual Computer Security Applications Conference, (412-424)
- Vorobyov K, Signoles J and Kosmatov N (2017). Shadow state encoding for efficient monitoring of block-level properties, ACM SIGPLAN Notices, 52:9, (47-58), Online publication date: 31-Oct-2017.
- D'Antras A, Gorgovan C, Garside J and Luján M (2017). Low overhead dynamic binary translation on ARM, ACM SIGPLAN Notices, 52:6, (333-346), Online publication date: 14-Sep-2017.
- Vorobyov K, Signoles J and Kosmatov N Shadow state encoding for efficient monitoring of block-level properties Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management, (47-58)
- Wang W, Yew P, Zhai A, McCamant S, Wu Y and Bobba J Enabling Cross-ISA Offloading for COTS Binaries Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services, (319-331)
- D'Antras A, Gorgovan C, Garside J and Luján M Low overhead dynamic binary translation on ARM Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (333-346)
- Hasabnis N and Sekar R Extracting instruction semantics via symbolic execution of code generators Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (301-313)
- Tchamgoue G and Fischmeister S Lessons learned on assumptions and scalability with time-aware instrumentation Proceedings of the 13th International Conference on Embedded Software, (1-7)
- Stephenson M, Sastry Hari S, Lee Y, Ebrahimi E, Johnson D, Nellans D, O'Connor M and Keckler S (2015). Flexible software profiling of GPU architectures, ACM SIGARCH Computer Architecture News, 43:3S, (185-197), Online publication date: 4-Jan-2016.
- Dolan-Gavitt B, Hodosh J, Hulin P, Leek T and Whelan R Repeatable Reverse Engineering with PANDA Proceedings of the 5th Program Protection and Reverse Engineering Workshop, (1-11)
- Deng Z, Saltaformaggio B, Zhang X and Xu D iRiS Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, (44-56)
- Heo I, Kim M, Lee Y, Choi C, Lee J, Kang B and Paek Y (2015). Implementing an Application-Specific Instruction-Set Processor for System-Level Dynamic Program Analysis Engines, ACM Transactions on Design Automation of Electronic Systems, 20:4, (1-32), Online publication date: 28-Sep-2015.
- Wang S, Wang P and Wu D Reassembleable disassembling Proceedings of the 24th USENIX Conference on Security Symposium, (627-642)
- Cui H, Gu R, Liu C and Yang J RepFrame Proceedings of the 6th Asia-Pacific Workshop on Systems, (1-9)
- Stephenson M, Sastry Hari S, Lee Y, Ebrahimi E, Johnson D, Nellans D, O'Connor M and Keckler S Flexible software profiling of GPU architectures Proceedings of the 42nd Annual International Symposium on Computer Architecture, (185-197)
- Lucia B and Ceze L Data provenance tracking for concurrent programs Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (146-156)
- Hawkins B, Demsky B, Bruening D and Zhao Q Optimizing binary translation of dynamically generated code Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (68-78)
- Stepanov E and Serebryany K MemorySanitizer Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (46-55)
- Zhang M, Qiao R, Hasabnis N and Sekar R (2014). A platform for secure static binary instrumentation, ACM SIGPLAN Notices, 49:7, (129-140), Online publication date: 25-Sep-2014.
- Backes M and Nürnberger S Oxymoron Proceedings of the 23rd USENIX conference on Security Symposium, (433-447)
- Stamatogiannakis M, Groth P and Bos H Looking Inside the Black-Box Revised Selected Papers of the 5th International Provenance and Annotation Workshop on Provenance and Annotation of Data and Processes - Volume 8628, (155-167)
- Cho H and Mahlke S Embracing heterogeneity with dynamic core boosting Proceedings of the 11th ACM Conference on Computing Frontiers, (1-10)
- Marek L, Kell S, Zheng Y, Bulej L, Binder W, Tůma P, Ansaloni D, Sarimbekov A and Sewe A (2013). ShadowVM, ACM SIGPLAN Notices, 49:3, (105-114), Online publication date: 5-Mar-2014.
- Zhang M, Qiao R, Hasabnis N and Sekar R A platform for secure static binary instrumentation Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, (129-140)
- Chabbi M, Liu X and Mellor-Crummey J Call Paths for Pin Tools Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization, (76-86)
- Chabbi M, Liu X and Mellor-Crummey J Call Paths for Pin Tools Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization, (76-86)
- Deng Z, Zhang X and Xu D SPIDER Proceedings of the 29th Annual Computer Security Applications Conference, (289-298)
- Kedia P and Bansal S Fast dynamic binary translation for the kernel Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, (101-115)
- Marek L, Kell S, Zheng Y, Bulej L, Binder W, Tůma P, Ansaloni D, Sarimbekov A and Sewe A ShadowVM Proceedings of the 12th international conference on Generative programming: concepts & experiences, (105-114)
- Roundy K and Miller B (2013). Binary-code obfuscations in prevalent packer tools, ACM Computing Surveys, 46:1, (1-32), Online publication date: 1-Oct-2013.
- Hsu C, Liu P, Wu J, Yew P, Hong D, Hsu W and Wang C (2013). Improving dynamic binary optimization through early-exit guided code region formation, ACM SIGPLAN Notices, 48:7, (23-32), Online publication date: 22-Aug-2013.
- Karakostas V, Tomic S, Unsal O, Nemirovsky M and Cristal A Improving the energy efficiency of hardware-assisted watchpoint systems Proceedings of the 50th Annual Design Automation Conference, (1-6)
- Davi L, Dmitrienko A, Nürnberger S and Sadeghi A Gadge me if you can Proceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security, (299-310)
- Mittal A, Bansal D, Bansal S and Sethi V (2013). Efficient virtualization on embedded power architecture® platforms, ACM SIGPLAN Notices, 48:4, (445-458), Online publication date: 23-Apr-2013.
- Anand K, Smithson M, Elwazeer K, Kotha A, Gruen J, Giles N and Barua R A compiler-level intermediate representation based binary analysis and rewriting system Proceedings of the 8th ACM European Conference on Computer Systems, (295-308)
- Mittal A, Bansal D, Bansal S and Sethi V (2013). Efficient virtualization on embedded power architecture® platforms, ACM SIGARCH Computer Architecture News, 41:1, (445-458), Online publication date: 29-Mar-2013.
- Hsu C, Liu P, Wu J, Yew P, Hong D, Hsu W and Wang C Improving dynamic binary optimization through early-exit guided code region formation Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, (23-32)
- Mittal A, Bansal D, Bansal S and Sethi V Efficient virtualization on embedded power architecture® platforms Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, (445-458)
- Bertacco V, Rodriguez R, Arthur W, Mammo B and Austin T Schnauzer Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), (1-11)
- Lafortune S, Mahlke S, Wang Y, Kelly T, Liao H and Cho H Practical lock/unlock pairing for concurrent programs Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), (1-12)
- Mahlke S, Moseley T, Hank R, Bruening D and Cho H Instant profiling Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), (1-10)
- Baiocchi J, Childers B, Davidson J and Hiser J (2013). Enabling dynamic binary translation in embedded systems with scratchpad memory, ACM Transactions on Embedded Computing Systems, 11:4, (1-33), Online publication date: 1-Dec-2012.
- Kling M, Misailovic S, Carbin M and Rinard M (2012). Bolt, ACM SIGPLAN Notices, 47:10, (431-450), Online publication date: 15-Nov-2012.
- Kling M, Misailovic S, Carbin M and Rinard M Bolt Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (431-450)
- Goodstein M, Chen S, Gibbons P, Kozuch M and Mowry T Chrysalis analysis Proceedings of the 21st international conference on Parallel architectures and compilation techniques, (201-212)
- Bruening D, Zhao Q and Amarasinghe S (2012). Transparent dynamic instrumentation, ACM SIGPLAN Notices, 47:7, (133-144), Online publication date: 5-Sep-2012.
- Guha A, Hazelwood K and Soffa M (2012). Memory optimization of dynamic binary translators for embedded systems, ACM Transactions on Architecture and Code Optimization, 9:3, (1-29), Online publication date: 1-Sep-2012.
- Feiner P, Brown A and Goel A (2012). Comprehensive kernel instrumentation via dynamic binary translation, ACM SIGPLAN Notices, 47:4, (135-146), Online publication date: 1-Jun-2012.
- Feiner P, Brown A and Goel A (2012). Comprehensive kernel instrumentation via dynamic binary translation, ACM SIGARCH Computer Architecture News, 40:1, (135-146), Online publication date: 18-Apr-2012.
- Hong D, Hsu C, Yew P, Wu J, Hsu W, Liu P, Wang C and Chung Y HQEMU Proceedings of the Tenth International Symposium on Code Generation and Optimization, (104-113)
- Bruening D, Zhao Q and Amarasinghe S Transparent dynamic instrumentation Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments, (133-144)
- Feiner P, Brown A and Goel A Comprehensive kernel instrumentation via dynamic binary translation Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems, (135-146)
- Moseley T, Vachharajani N and Jalby W Hardware performance monitoring for the rest of us Proceedings of the 8th IFIP international conference on Network and parallel computing, (293-312)
- Schilling T Challenges for a trace-based just-in-time compiler for haskell Proceedings of the 23rd international conference on Implementation and Application of Functional Languages, (51-68)
- Yu Z, Zhang W and Tu X MT-Profiler Proceedings of the 9th international conference on Advanced parallel processing technologies, (172-185)
- Zhao Q, Koh D, Raza S, Bruening D, Wong W and Amarasinghe S (2011). Dynamic cache contention detection in multi-threaded applications, ACM SIGPLAN Notices, 46:7, (27-38), Online publication date: 15-Jul-2011.
- Hiser J, Williams D, Hu W, Davidson J, Mars J and Childers B (2011). Evaluating indirect branch handling mechanisms in software dynamic translation systems, ACM Transactions on Architecture and Code Optimization, 8:2, (1-28), Online publication date: 1-Jul-2011.
- Bruening D and Zhao Q Practical memory checking with Dr. Memory Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (213-223)
- Borin E, Wu Y, Breternitz M and Wang C LAR-CC Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (54-63)
- Davi L, Sadeghi A and Winandy M ROPdefender Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, (40-51)
- Zhao Q, Koh D, Raza S, Bruening D, Wong W and Amarasinghe S Dynamic cache contention detection in multi-threaded applications Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, (27-38)
- Chen S, Gibbons P, Kozuch M and Mowry T (2011). Log-based architectures, ACM SIGOPS Operating Systems Review, 45:1, (84-91), Online publication date: 18-Feb-2011.
- Zhao Q, Cutcutache I and Wong W (2010). PiPA, ACM Transactions on Architecture and Code Optimization, 7:3, (1-29), Online publication date: 1-Dec-2010.
- Wu J, Cui H and Yang J Bypassing races in live applications with execution filters Proceedings of the 9th USENIX conference on Operating systems design and implementation, (135-149)
- Feiner P, Brown A and Goel A A design for comprehensive kernel instrumentation Proceedings of the Sixth international conference on Hot topics in system dependability, (1-16)
- Kim S, Zhang Y, Son S, Prabhakar R, Kandemir M, Patrick C, Liao W and Choudhary A Automated tracing of I/O stack Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface, (72-81)
- Zhao Q, Bruening D and Amarasinghe S (2010). Efficient memory shadowing for 64-bit architectures, ACM SIGPLAN Notices, 45:8, (93-102), Online publication date: 1-Aug-2010.
- Guha A, hazelwood K and Soffa M (2010). DBT path selection for holistic memory efficiency and performance, ACM SIGPLAN Notices, 45:7, (145-156), Online publication date: 1-Jul-2010.
- He Y, Leiserson C and Leiserson W The Cilkview scalability analyzer Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures, (145-156)
- Ruwase O, Chen S, Gibbons P and Mowry T (2010). Decoupled lifeguards, ACM SIGPLAN Notices, 45:6, (25-35), Online publication date: 12-Jun-2010.
- Zhao Q, Bruening D and Amarasinghe S Efficient memory shadowing for 64-bit architectures Proceedings of the 2010 international symposium on Memory management, (93-102)
- Ruwase O, Chen S, Gibbons P and Mowry T Decoupled lifeguards Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, (25-35)
- Zhao Q, Bruening D and Amarasinghe S Umbra Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, (22-31)
- Borin E, Wu Y, Wang C, Liu W, Breternitz M, Hu S, Natanzon E, Rotem S and Rosner R TAO Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, (12-21)
- Guha A, hazelwood K and Soffa M DBT path selection for holistic memory efficiency and performance Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, (145-156)
- Vlachos E, Goodstein M, Kozuch M, Chen S, Falsafi B, Gibbons P and Mowry T ParaLog Proceedings of the fifteenth International Conference on Architectural support for programming languages and operating systems, (271-284)
- Goodstein M, Vlachos E, Chen S, Gibbons P, Kozuch M and Mowry T Butterfly analysis Proceedings of the fifteenth International Conference on Architectural support for programming languages and operating systems, (257-270)
- Vlachos E, Goodstein M, Kozuch M, Chen S, Falsafi B, Gibbons P and Mowry T (2010). ParaLog, ACM SIGPLAN Notices, 45:3, (271-284), Online publication date: 5-Mar-2010.
- Goodstein M, Vlachos E, Chen S, Gibbons P, Kozuch M and Mowry T (2010). Butterfly analysis, ACM SIGPLAN Notices, 45:3, (257-270), Online publication date: 5-Mar-2010.
- Vlachos E, Goodstein M, Kozuch M, Chen S, Falsafi B, Gibbons P and Mowry T (2010). ParaLog, ACM SIGARCH Computer Architecture News, 38:1, (271-284), Online publication date: 5-Mar-2010.
- Goodstein M, Vlachos E, Chen S, Gibbons P, Kozuch M and Mowry T (2010). Butterfly analysis, ACM SIGARCH Computer Architecture News, 38:1, (257-270), Online publication date: 5-Mar-2010.
- Sun E and Kaeli D A binary instrumentation tool for the Blackfin processor Proceedings of the Workshop on Binary Instrumentation and Applications, (43-51)
- Williams D and Davidson J Metaman Proceedings of the Workshop on Binary Instrumentation and Applications, (34-42)
- Ha J, Arnold M, Blackburn S and McKinley K A concurrent dynamic analysis framework for multicore hardware Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, (155-174)
- Ha J, Arnold M, Blackburn S and McKinley K (2009). A concurrent dynamic analysis framework for multicore hardware, ACM SIGPLAN Notices, 44:10, (155-174), Online publication date: 25-Oct-2009.
- Perkins J, Kim S, Larsen S, Amarasinghe S, Bachrach J, Carbin M, Pacheco C, Sherwood F, Sidiroglou S, Sullivan G, Wong W, Zibin Y, Ernst M and Rinard M Automatically patching errors in deployed software Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, (87-102)
- Leiserson C The Cilk++ concurrency platform Proceedings of the 46th Annual Design Automation Conference, (522-527)
- Williams D, Hiser J and Davidson J Using program metadata to support SDT in object-oriented applications Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, (55-62)
- Bansal S and Aiken A Binary translation using peephole superoptimizers Proceedings of the 8th USENIX conference on Operating systems design and implementation, (177-192)
- Lee K, Benaissa Z and Rodriguez J A dynamic tool for finding redundant computations in native code Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008), (15-21)
- Chen S, Kozuch M, Strigkos T, Falsafi B, Gibbons P, Mowry T, Ramachandran V, Ruwase O, Ryan M and Vlachos E Flexible Hardware Acceleration for Instruction-Grain Program Monitoring Proceedings of the 35th Annual International Symposium on Computer Architecture, (377-388)
- Chen S, Kozuch M, Strigkos T, Falsafi B, Gibbons P, Mowry T, Ramachandran V, Ruwase O, Ryan M and Vlachos E (2008). Flexible Hardware Acceleration for Instruction-Grain Program Monitoring, ACM SIGARCH Computer Architecture News, 36:3, (377-388), Online publication date: 1-Jun-2008.
- Ruwase O, Gibbons P, Mowry T, Ramachandran V, Chen S, Kozuch M and Ryan M Parallelizing dynamic information flow tracking Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, (35-45)
- Zhao Q, Cutcutache I and Wong W Pipa Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization, (185-194)
- Zhao Q, Rabbah R, Amarasinghe S, Rudolph L and Wong W How to do a million watchpoints Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction, (147-162)
- Bruening D and Kiriansky V Process-shared and persistent code caches Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, (61-70)
- Rinard M (2007). Living in the comfort zone, ACM SIGPLAN Notices, 42:10, (611-622), Online publication date: 21-Oct-2007.
- Rinard M Living in the comfort zone Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications, (611-622)
- Tucek J, Lu S, Huang C, Xanthos S and Zhou Y (2007). Triage, ACM SIGOPS Operating Systems Review, 41:6, (131-144), Online publication date: 14-Oct-2007.
- Tucek J, Lu S, Huang C, Xanthos S and Zhou Y Triage Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, (131-144)
- Wang C, Hu S, Kim H, Nair S, Breternitz M, Ying Z and Wu Y StarDBT Proceedings of the 12th Asia-Pacific conference on Advances in Computer Systems Architecture, (4-15)
- Nethercote N and Seward J Valgrind Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, (89-100)
- Nethercote N and Seward J (2007). Valgrind, ACM SIGPLAN Notices, 42:6, (89-100), Online publication date: 10-Jun-2007.
- Zhao Q, Rabbah R, Amarasinghe S, Rudolph L and Wong W Ubiquitous memory introspection Proceedings of the International Symposium on Code Generation and Optimization, (299-311)
- Hiser J, Williams D, Hu W, Davidson J, Mars J and Childers B Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems Proceedings of the International Symposium on Code Generation and Optimization, (61-73)
- Guha A, Hazelwood K and Soffa M Reducing exit stub memory consumption in code caches Proceedings of the 2nd international conference on High performance embedded architectures and compilers, (87-101)
- Qin F, Wang C, Li Z, Kim H, Zhou Y and Wu Y LIFT Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, (135-148)
- Moffie M, Cheng W, Kaeli D and Zhao Q Hunting Trojan Horses Proceedings of the 1st workshop on Architectural and system support for improving software dependability, (12-17)
- Zhao Q, Sim J, Wong W and Rudolph L DEP Proceedings of the 15th international conference on Parallel architectures and compilation techniques, (154-163)
- Sridhar S, Shapiro J, Northup E and Bungale P HDTrans Proceedings of the 2nd international conference on Virtual execution environments, (175-185)
- Bruening D, Kiriansky V, Garnett T and Banerji S Thread-Shared Software Code Caches Proceedings of the International Symposium on Code Generation and Optimization, (28-38)
- Vasudevan A and Yerraballi R SPiKE Proceedings of the 29th Australasian Computer Science Conference - Volume 48, (311-320)
- Kumar N and Peri R (2005). Transparent debugging of dynamically instrumented programs, ACM SIGARCH Computer Architecture News, 33:5, (57-62), Online publication date: 1-Dec-2005.
- Zhao Q, Rabbah R and Wong W (2005). Dynamic memory optimization using pool allocation and prefetching, ACM SIGARCH Computer Architecture News, 33:5, (27-32), Online publication date: 1-Dec-2005.
- Breech B and Pollock L (2005). A framework for testing security mechanisms for program-based attacks, ACM SIGSOFT Software Engineering Notes, 30:4, (1-7), Online publication date: 1-Jul-2005.
- Luk C, Cohn R, Muth R, Patil H, Klauser A, Lowney G, Wallace S, Reddi V and Hazelwood K Pin Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, (190-200)
- Luk C, Cohn R, Muth R, Patil H, Klauser A, Lowney G, Wallace S, Reddi V and Hazelwood K (2005). Pin, ACM SIGPLAN Notices, 40:6, (190-200), Online publication date: 12-Jun-2005.
- Breech B and Pollock L A framework for testing security mechanisms for program-based attacks Proceedings of the 2005 workshop on Software engineering for secure systems—building trustworthy applications, (1-7)
- Bruening D and Amarasinghe S Maintaining Consistency and Bounding Capacity of Software Code Caches Proceedings of the international symposium on Code generation and optimization, (74-85)
Recommendations
Transparent dynamic instrumentation
VEE '12Process 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 ...
Efficient instrumentation for code coverage testing
Evaluation of Code Coverage is the problem of identifying the parts of a program that did not execute in one or more runs of a program. The traditional approach for code coverage tools is to use static code instrumentation. In this paper we present a ...
Transparent dynamic instrumentation
VEE '12: Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution EnvironmentsProcess 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 ...