Non-Intrusive Detection of Synchronization Errors Using Execution Replay
Automated Software Engineering
A transformational approach to binary translation of delayed branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
A profile-based tool for finding pipeline parallelism in sequential programs
Parallel Computing
Hi-index | 0.00 |
In this paper, we describe JiTI, a novel technique for instrumenting program binaries. The technique correctly deals with programs that contain traditionally hard to instrument features such as data in code, code in data, and self-modifying code. The technique does not require reverse engineering, program understanding tools or heuristics about the compiler or linker used. The basic is that a running process is cloned in memory, and that the cloned process is completely instrumented (code + data). By using the code of the instrumented process (clone) on the data of the original process, we can guarantee a correct instrumentation of the full code while keeping the process data untouched. JiTI has been completely implemented for SPARC processors and is used in a data race detector.