In this article, we describe DITOOLS, an infrastructure devoted to extend applications at run time, and to tune execution environments by dynamically changing bindings between binary modules.
DITools works at application level, and does not require superuser intervention. Moreover, it uses standard object file formats and common tools, and preserves backwards compatibility. We believe that DITOOLS demonstrates to which point current loading and execution services can be improved to ease the job of researchers, developers and users.
We have also evaluated the overhead of DITOOLS. The evaluation shows that it depends on the dynamic usage of extensions. We believe that this overhead can be tolerated in the most common uses of this tool.
DITOOLS is currently being used for monitoring and trace collection purposes, as well as to build research prototypes for scheduling and I/O research. A distribution of the tools is available for research and academic purposes. Please consult https://www.ac.upc.es/recerca/CAP/DITools.