DIOTA is a just-in-time instrumentation tool for Intel binaries. It allows you to create a dynamic loadable library that can be attached to a program running under Linux. DIOTA can instrument all memory operations in the application and the used libraries (e.g., for checking for faulty memory accesses), calls of dynamically linked procedures (malloc, printf, etc.), detect the code executed during a particular run, and more.
| Tags | Software Development Disassemblers Debuggers Testing |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
Recent releases


Release Notes: This release has support for statically linked binaries and support for PIE binaries. An instrumented application can influence instrumentation during the execution. The record/replay backend has been cleaned up.


Release Notes: JVM self-modifying code support, new libc support (as used by Red Hat 9.0), control flow analysis, an optimized data race backend, and an optimized trace-code backend.


Release Notes: The data race backend is now much more useful, is faster, and uses less memory. There are numerous bugfixes.


Release Notes: Diota no longer uses libc for memory management and I/O. Basic support for self modifying code was added. Numerous bugfixes made.


Release Notes: The name has changed from JiTI86 to DIOTA: Dynamic Instrumentation, Optimization and Transformation of Applications. It fully supports the instrumentation of dynamically linked libraries. The diota-malloc backend was significantly improved and now detects more errors.