skip to main content
Efficient, transparent, and comprehensive runtime code manipulation
Publisher:
  • Massachusetts Institute of Technology
  • 201 Vassar Street, W59-200 Cambridge, MA
  • United States
Order Number:AAI0807735
Pages:
1
Bibliometrics
Skip Abstract Section
Abstract

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

  1. ACM
    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)
  2. ACM
    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)
  3. ACM
    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.
  4. 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)
  5. ACM
    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.
  6. 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)
  7. ACM
    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)
  8. ACM
    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)
  9. ACM
    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)
  10. 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)
  11. ACM
    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)
  12. 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)
  13. Zhao Q, Liu X and Chabbi M DrCCTProf Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-16)
  14. 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)
  15. ACM
    Tang X ELSE Proceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores, (1-10)
  16. ACM
    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)
  17. 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)
  18. Orenbach M, Michalevsky Y, Fetzer C and Silberstein M CoSMIX Proceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference, (555-570)
  19. 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)
  20. ACM
    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)
  21. 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)
  22. 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)
  23. ACM
    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.
  24. ACM
    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.
  25. ACM
    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)
  26. ACM
    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)
  27. 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.
  28. ACM
    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)
  29. ACM
    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)
  30. ACM
    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.
  31. ACM
    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.
  32. ACM
    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)
  33. ACM
    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)
  34. ACM
    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)
  35. ACM
    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)
  36. ACM
    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)
  37. ACM
    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.
  38. ACM
    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)
  39. ACM
    Deng Z, Saltaformaggio B, Zhang X and Xu D iRiS Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, (44-56)
  40. ACM
    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.
  41. Wang S, Wang P and Wu D Reassembleable disassembling Proceedings of the 24th USENIX Conference on Security Symposium, (627-642)
  42. ACM
    Cui H, Gu R, Liu C and Yang J RepFrame Proceedings of the 6th Asia-Pacific Workshop on Systems, (1-9)
  43. ACM
    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)
  44. 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)
  45. 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)
  46. Stepanov E and Serebryany K MemorySanitizer Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (46-55)
  47. ACM
    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.
  48. Backes M and Nürnberger S Oxymoron Proceedings of the 23rd USENIX conference on Security Symposium, (433-447)
  49. 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)
  50. ACM
    Cho H and Mahlke S Embracing heterogeneity with dynamic core boosting Proceedings of the 11th ACM Conference on Computing Frontiers, (1-10)
  51. ACM
    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.
  52. ACM
    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)
  53. ACM
    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)
  54. ACM
    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)
  55. ACM
    Deng Z, Zhang X and Xu D SPIDER Proceedings of the 29th Annual Computer Security Applications Conference, (289-298)
  56. ACM
    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)
  57. ACM
    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)
  58. ACM
    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.
  59. ACM
    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.
  60. ACM
    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)
  61. ACM
    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)
  62. ACM
    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.
  63. ACM
    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)
  64. ACM
    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.
  65. ACM
    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)
  66. ACM
    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)
  67. 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)
  68. 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)
  69. 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)
  70. ACM
    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.
  71. ACM
    Kling M, Misailovic S, Carbin M and Rinard M (2012). Bolt, ACM SIGPLAN Notices, 47:10, (431-450), Online publication date: 15-Nov-2012.
  72. ACM
    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)
  73. ACM
    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)
  74. ACM
    Bruening D, Zhao Q and Amarasinghe S (2012). Transparent dynamic instrumentation, ACM SIGPLAN Notices, 47:7, (133-144), Online publication date: 5-Sep-2012.
  75. ACM
    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.
  76. ACM
    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.
  77. ACM
    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.
  78. ACM
    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)
  79. ACM
    Bruening D, Zhao Q and Amarasinghe S Transparent dynamic instrumentation Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments, (133-144)
  80. ACM
    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)
  81. 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)
  82. 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)
  83. Yu Z, Zhang W and Tu X MT-Profiler Proceedings of the 9th international conference on Advanced parallel processing technologies, (172-185)
  84. ACM
    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.
  85. ACM
    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.
  86. 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)
  87. 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)
  88. ACM
    Davi L, Sadeghi A and Winandy M ROPdefender Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, (40-51)
  89. ACM
    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)
  90. ACM
    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.
  91. ACM
    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.
  92. 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)
  93. 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)
  94. 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)
  95. ACM
    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.
  96. ACM
    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.
  97. ACM
    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)
  98. ACM
    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.
  99. ACM
    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)
  100. ACM
    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)
  101. ACM
    Zhao Q, Bruening D and Amarasinghe S Umbra Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, (22-31)
  102. ACM
    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)
  103. ACM
    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)
  104. ACM
    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)
  105. ACM
    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)
  106. ACM
    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.
  107. ACM
    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.
  108. ACM
    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.
  109. ACM
    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.
  110. ACM
    Sun E and Kaeli D A binary instrumentation tool for the Blackfin processor Proceedings of the Workshop on Binary Instrumentation and Applications, (43-51)
  111. ACM
    Williams D and Davidson J Metaman Proceedings of the Workshop on Binary Instrumentation and Applications, (34-42)
  112. ACM
    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)
  113. ACM
    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.
  114. ACM
    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)
  115. ACM
    Leiserson C The Cilk++ concurrency platform Proceedings of the 46th Annual Design Automation Conference, (522-527)
  116. ACM
    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)
  117. Bansal S and Aiken A Binary translation using peephole superoptimizers Proceedings of the 8th USENIX conference on Operating systems design and implementation, (177-192)
  118. ACM
    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)
  119. 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)
  120. ACM
    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.
  121. ACM
    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)
  122. ACM
    Zhao Q, Cutcutache I and Wong W Pipa Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization, (185-194)
  123. 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)
  124. ACM
    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)
  125. ACM
    Rinard M (2007). Living in the comfort zone, ACM SIGPLAN Notices, 42:10, (611-622), Online publication date: 21-Oct-2007.
  126. ACM
    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)
  127. ACM
    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.
  128. ACM
    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)
  129. 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)
  130. ACM
    Nethercote N and Seward J Valgrind Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, (89-100)
  131. ACM
    Nethercote N and Seward J (2007). Valgrind, ACM SIGPLAN Notices, 42:6, (89-100), Online publication date: 10-Jun-2007.
  132. 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)
  133. 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)
  134. 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)
  135. 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)
  136. ACM
    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)
  137. ACM
    Zhao Q, Sim J, Wong W and Rudolph L DEP Proceedings of the 15th international conference on Parallel architectures and compilation techniques, (154-163)
  138. ACM
    Sridhar S, Shapiro J, Northup E and Bungale P HDTrans Proceedings of the 2nd international conference on Virtual execution environments, (175-185)
  139. 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)
  140. Vasudevan A and Yerraballi R SPiKE Proceedings of the 29th Australasian Computer Science Conference - Volume 48, (311-320)
  141. ACM
    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.
  142. ACM
    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.
  143. ACM
    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.
  144. ACM
    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)
  145. ACM
    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.
  146. ACM
    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)
  147. 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)
Contributors
  • Google LLC
  • MIT Computer Science & Artificial Intelligence Laboratory

Recommendations