COCO:
CONTINUOUS
COMPILATION
Compilers, Programming Languages, and Architecture Group
|
![]() |
|||||
Overview | People | Projects | Publications | Meetings | Conferences | |
|
||||||
TDB: A Transparent Debugger for Dynamically Translated Code Debugging techniques have evolved over the years in response to changes in programming languages, implementation techniques, and user needs. A new type of implementation vehicle for software has emerged that, once again, requires new debugging techniques. Software dynamic translation (SDT) has received much attention due to compelling applications of the technology, including software security checking, binary translation, and dynamic optimization. Using SDT, program code changes dynamically, and thus, debugging techniques developed for statically generated code cannot be used to debug these applications in a transparent way. In this project, we are developing new debugging techniques for applications executing with SDTs. Our techniques use novel dynamic code mappings to create the illusion that the source program is being debugged, while allow the SDT system to modify the executing code. We are targetting a number of SDT applications, including dynamic binary translation, dynamic code optimization, code security checking, reliable software systems, computer architecture simulation, and dynamic instrumentation. We have built a prototype debugger, called TDB, that integrates a SDT system, Strata, with a widely used debugger, gdb. Our prototype can handle many types of code modifications applied by SDTs, including the basic translations applied, overhead reduction transformations, and dynamic instrumentation. The basic dynamic translations include generating a new instruction, inserting multiple instructions for a single program statement during translation, ignoring and not generating instructions for a program statement, deletion (flushing) of previously translated instructions, and the duplication of program instructions in the translated code. We also consider several overhead reduction transformations, including instruction trace formation, conditional branch linking, indirect branch translation caching, partial inlining of unconditional branches and calls, and fast return handling. Finally, we consider the effect of insertion and removal of instrumentation in the translated code. Retargeting Dynamic Translators to TDB
Publications All publications are available from the CoCo publication web site. Please select the tab above for the publications.
People
Naveen Kumar is the lead
student and developed TDB for his thesis. His Ph.D. thesis will focus
on debugging dynamically translated programs.
| ||||||
Last modified: July 12, 2005. This page is maintained by Naveen Kumar and Bruce Childers |